Vantagens e desvantagens
A prática de programação em par tem várias vantagens, tais como:
- Melhora na qualidade do código: quando dois programadores trabalham juntos, a probabilidade de erros diminui e o código resultante é geralmente de melhor qualidade.
- Aumento da produtividade: trabalhar em equipe pode aumentar a produtividade e acelerar o desenvolvimento do software.
- Compartilhamento de conhecimento: trabalhar em conjunto permite que os programadores compartilhem conhecimentos e habilidades, o que pode ajudar no desenvolvimento de soluções mais eficazes e eficientes.
- Melhoria na comunicação: a prática de programação em par pode ajudar a melhorar a comunicação entre os programadores e a equipe em geral, o que pode levar a menos erros e a soluções mais eficazes.
- Aprendizado contínuo: trabalhar em conjunto pode ser uma oportunidade para os programadores aprenderem novas técnicas e abordagens de programação.
No entanto, a prática de programação em par também pode ter algumas desvantagens, tais como:
- Necessidade de comunicação constante: a prática de programação em par exige que os programadores estejam em comunicação constante, o que pode ser cansativo.
- Diferenças de opinião: quando dois programadores trabalham juntos, pode haver diferenças de opinião que podem levar a conflitos.
Programação em Par no Google
Uma das histórias mais interessantes de programação em par foi descrita na revista The New Yorker em dezembro de 2018 por James Somers contando a história da amizade de Jeff Dean e Sanjay Ghemawat. O artigo foi intitulado "A Amizade Que Tornou o Google Enorme" (em inglês: The Friendship That Made Google Huge).
A história começa com um problema gravíssimo que poderia ter prejudicado o crescimento do Google naquele momento e após 5 meses sem solução e que outras pessoas tentaram e não conseguiram resolver o problema, então o pareamento entre Jeff e Sanjay foi crucial para encontrar a solução.
Depois a história percorre por mais de 15 anos mostrando a amizade e o poder do uso da programação em par e o autor considera que eles mudaram o rumo da empresa (e da Internet).
Para ler a história original em inglês: The Friendship That Made Google Huge
Também temos uma versão traduzida aqui na Synergyc: Programação em par - A Amizade Que Tornou o Google Enorme
Dicas para programar em par
Algumas dicas para fazer a programação em par com mais sucesso:
- Cuidado com o dominante e o dorminhoco: Pode acontecer de um dos pares dominar a programação e nunca deixar o outro programar, assim como pode acontecer de um dos pares nunca ajudar e ficar só observando ou nem observando, chamamos isso de par dorminhoco. Para evitar isso é interessante alternar quem programa e quem ajuda frequentemente. Uma forma é trocar quem pilota e quem navega de 15 em 15 minutos, pode mudar este tempo, mas mantenha entre 7 a 20 minutos para a troca ser frequente.
- Par em atividades mais complexas: Estudos mostram que as atividades complexas são as melhores para fazer programação em par, pois estimula a colaboração na decisão da solução, foco durante o desenvolvimento e os benefícios de produtividade são realmente percebidos, pois em atividades complexas a qualidade é mais importante e mais de uma pessoa poderá corrigir caso haja falhas.
- Faça pausas regulares: Programação em par pode ser cansativa. É importante fazer pausas regulares no par, pode ser para descontrair ou para fazer atividades sem par por um tempo. Aproveite estes momentos, sem par, para trabalhar em atividades mais simples.
- Alternar senioridade dos pares: Combine sênior com júnior, pleno com sênior, pleno com pleno e use sênior com sênior em atividades realmente complexas, pois a negociação de solução pode gastar mais energia e em atividades muito complexas essa energia é melhor utilizada.
- Troque os pares: é interessante trocar os pares entre as pessoas do time, isso vai ajudar a compartilhar melhor o conhecimento. Aproveite términos e inícios de novas atividades, mas não tenha medo de trocar no meio se for necessário, pois atividades que duram mais se beneficiam de ideias frescas em momento de troca, mas mantenha um dos pares na atividade para dar continuidade no conhecimento.
Em resumo, a prática de programação em par pode ser uma técnica eficaz para desenvolvimento de software, desde que seja usada corretamente e os programadores trabalhem bem juntos. É importante que os programadores se comuniquem bem e estejam dispostos a colaborar para tirar o máximo proveito dessa técnica.
A prática de programação em par foi popularizada pelo Extreme Programming (XP).
Aprenda o XP
Aprenda mais no treinamento de Extreme Programming aqui na Synergyc:
Treinamento: Extreme Programming (XP)