Parear ou não Parear? Eis a questão — Parte II
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
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
É 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
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
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.