Parear ou não Parear? Eis a questão — Parte II

Tania Dearo
Creditas Tech
Published in
6 min readFeb 18, 2021

--

Photo by Kristin Hardwick from StockSnap

Na primeira parte deste artigo vimos o que é o Pair Programming e fizemos uma reflexão sobre os benefícios de adotar a prática no dia a dia. Agora vamos entender melhor o que precisamos ter em mente para que a adoção da técnica obtenha resultados positivos.

O mindset do Pair Programming

Mais importante que decorar as técnicas existentes e os conceitos envolvidos nelas é entender a linha de pensamento do Pair Programming. Isso é o que vai permitir que a equipe adapte a atividade ao seu contexto e consiga extrair o máximo proveito da técnica.

Entendimento do Problema

Antes mesmo de escrever a primeira linha de código, a dupla deve alinhar qual é o problema que vai ser atacado naquela sessão de Pairing. Leiam juntos o ticket com a tarefa que vai ser feita, tirem possíveis dúvidas que possam surgir e garantam que todos tenham o mesmo entendimento do problema. Assegurem-se que vocês têm todo o material necessário para começar.

Caso a tarefa já esteja em andamento ou porque houve uma rotação de pares ou porque alguém está se unindo à dupla depois que a atividade começou, dedique alguns minutos para contextualizar a pessoa que está chegando e alinhar o entendimento do problema.

Discutir a solução

Photo by Kristin Hardwick from StockSnap

Conversem sobre potenciais soluções para o problema. Nesta fase também é possível se separar para que cada um pense na solução e depois apresentá-las e discuti-las. Isso vai depender de quão definida está a atividade e também dos estilos das pessoas envolvidas. Tem aqueles que preferem pensar sozinhos em uma solução, enquanto outros preferem ir discutindo a medida que vão pensando na solução.

Dependendo da complexidade da solução, pode ser válido documentar a solução que foi escolhida para seguir.

Planejar a abordagem

Uma vez que a solução já está mais clara, é a hora de planejar a abordagem que será dada na resolução do problema. Quais os passos que precisam ser dados para chegar no objetivo? Como será testado?

Escreva estes passos no ticket da atividade e tenha isso sempre a mão. Isso vai ajudar a manter o foco, além de facilitar caso uma nova pessoa necessite se unir à atividade.

Gerenciamento do tempo

Trabalhar em duplas pode ser extenuante. A atividade demanda muita atenção, comunicação ativa, seguir o raciocínio de outra pessoa, discutir soluções. Simplesmente não é sustentável passar horas seguidas em atividades desse tipo.

Por isso procure adotar alguma técnica que envolva pausas para ajudar a manter a atividade produtiva. O Pomodoro, por exemplo, pode ser útil. Nela, o par deve fazer uma pausa de 3 a 5 minutos a cada 25 minutos. Mas atenção! É importante que a pausa seja usada para realmente relaxar e descansar, nada de aproveitar para ler um email ou responder mensagens. Depois de 3 ou 4 pomodoros, faça uma pausa mais longa de 15 a 30 minutos.

Rotação de Pares

Quando se trabalha em pares pode acontecer de uma pessoa da dupla deixar de trabalhar nessa atividade e outro desenvolvedor assumir o seu lugar na dupla. Isso é a rotação de pares e a pessoa que continua na atividade é chamada de âncora.

Esse movimento requer que seja feito um alinhamento com a pessoa que está chegando. Geralmente quebra muito o ritmo da atividade e apesar de alguns casos ser muito benéfico, deve ser feita com cautela.

Mas tem hora que é inevitável. Por exemplo, se um desenvolvedor tem que se ausentar, sai de férias, fica doente, aí não tem jeito. Ele tem que deixar a atividade e outra pessoa pode se juntar ao âncora para seguir com a atividade.

No caso do nosso squad procuramos sempre ter estórias que são pequenas. Mas no caso de haver uma atividade muito extensa, a rotação de pares depois de um tempo, pode dar um novo gás para a dupla.

É certo, que qualquer que seja o caso, a rotação evita que sejam criados silos de conhecimento e aumenta a propriedade coletiva do código.

Em nosso contexto

Na nossa equipe é muito comum que uma estória tenha algumas tarefas relacionadas. Dentro do que consideramos saudável, podemos tentar rotacionar de par quando se muda de tarefa. Assim, mais gente vai ter o contexto da estória.

Planeje o Dia

Para tirar o máximo proveito da atividade de Pair Programming é necessário fazer o mínimo de planejamento. No início do dia, verifique como está sua agenda e qual a disponibilidade que você vai ter para parear com alguém. Já reserve os espaços para a atividade.

Parear em Remoto

Para a atividade de parear em remoto é fundamental que todos os envolvidos possam em algum momento assumir o teclado e escrever o código, então é importante utilizar alguma ferramenta que permita não somente o compartilhamento de tela, compartilhar o controle do código e assim se possa revezar entre o papel de condutor e navegador.

Comemorem juntos as conquistas

Photo by Kristin Hardwick from StockSnap

É muito importante celebrar quando algum objetivo é alcançado juntos. Crie uma maneira de celebrar o fim de uma atividade juntos e se energize para começar uma nova tarefa. Este pode ser um bom momento para trocar feedbacks também.

Coisas a evitar

Se distrair

Quando trabalhando em pares é fundamental que todos estejam concentrados e empenhados em resolver o problema. Evite ler emails ou responder mensagens ou fazer qualquer outro tipo de atividade durante a sessão de pairing. Se você realmente necessita fazer alguma coisa, deixe claro para seu colega.

Modo micro gerenciamento

Esteja atento para não micro gerenciar a atividade chegando ao nível de instruções como “Digite isso”, “Quebre a linha”, etc. É normal que uma atividade feita em dupla leve mais tempo do que quando feita por uma pessoa só. O mais importante é que todos tenham a oportunidade de aprender e se desenvolver.

Impaciência

Aplique a regra dos 5 segundos antes de apontar alguma correção. Quando estiver atuando como navegador, dê tempo ao condutor para terminar o raciocínio e fazer as correções necessárias antes de apontá-las. Se necessário, anote o que deve ser corrigido e deixe para comentar sobre isso depois, para não quebrar o ritmo ou o raciocínio da outra pessoa.

Sequestro do teclado

Photo by Iliescu Victor from StockSnap

Cuide para que todos os envolvidos tenham a oportunidade de assumir o teclado. Pode ser frustrante para a outra pessoa só ficar vendo o outro escrever o código. Utilize o Pomodoro, por exemplo, para ajudá-los a lembrar de trocar os papéis durante a atividade.

Parear por 8 horas

Photo by Steinar Engeland from StockSnap

Existem equipes tão comprometidas em parear que acabam fazendo isso por 8 horas. Mas isso claramente não é sustentável. Primeiro, porque é muito cansativo. Segundo porque o dia-a-dia de trabalho exige outras atividades que não seja escrever código. Planeje seus dias e as atividades de parear de maneira que vocês tenham tempo para tudo que é necessário.

Está claro que adotar o Pair Programming de maneira efetiva não é nada trivial e exige esforços de toda equipe para entender a estratégia e não abandonar a técnica. Na terceira e última parte deste artigo vamos ver quais são os desafios que podem surgir e como superá-los.

Tem interesse em trabalhar conosco? Nós estamos sempre procurando por pessoas apaixonadas por tecnologia para fazer parte da nossa Tripulação! Você pode conferir nossas vagas aqui.

--

--

Tania Dearo
Creditas Tech
0 Followers

So many things, among them Software Engineering at @CreditasTech