A idéia geral adotada pela maioria dos teóricos do Agile / XP parece ser que os pares devem ser trocados regularmente. Por exemplo, cada programador deve trocar pares uma vez por dia; metade das pessoas trocam no início do dia, metade das pessoas trocam após o almoço: devido a fatores externos, como reuniões, feriados e similares, a maioria das pessoas tende a mudar seus horários de troca uma ou duas vezes por semana, para que as configurações dos pares sejam distribuídas bastante uniforme em toda a equipe.
Uma lógica por trás da troca frequente é que o conhecimento é distribuído entre a equipe de maneira rápida e uniforme, em vez de se concentrar habilidades específicas e conhecimentos em indivíduos específicos - o que implica que o trabalho pode continuar sem problemas se as pessoas estiverem fora ou deixarem a empresa. Outra justificativa, que é uma espécie de corolário do próprio dogma que envolve a programação de pares, é que toda vez que alguém troca com você, você recebe uma nova revisão de código com um novo par de olhos, para que isso só melhore a qualidade do código.
Ambas as afirmações parecem razoáveis; do ponto de vista do gerenciamento, parece que você obtém um aumento tanto na estabilidade quanto na qualidade, e, como essa troca frequente, é praticamente uma teoria padrão na maioria dos livros do Agile / XP que eu observei.
Então, quando realmente colocado em prática, o que as pessoas realmente pensam sobre a troca de pares de
- O ponto de vista de um programador?
- O ponto de vista de um gerente?
E
- O que deve determinar quando alguém muda de / para um par?
Respostas:
A programação em pares é difícil.
É difícil porque funciona melhor quando as duas pessoas envolvidas estão próximas do nível de habilidade e isso pode ser difícil em alguns ambientes de trabalho. Pode ser mais difícil quando você troca, porque precisa encontrar outra pessoa com o nível de habilidade apropriado e, em seguida, atualizá-la sobre o problema atual. O benefício é que mais pessoas têm exposição a qualquer parte do código emparelhada. Isso deve levar menos vezes em que o código não pode ser corrigido, porque ninguém sabe o suficiente. Ele também deve propagar a propriedade do grupo e a capacidade de qualquer pessoa pegar qualquer parte do trabalho.
Eu descobri que, mesmo em ambientes onde o emparelhamento é feito, a troca de pares não vale o custo. No entanto, isso pode dever-se às nossas tarefas nunca levarem mais do que ~ 1,5 dias. Descobrimos um grande benefício em dividir as tarefas em menos de 1,5 dia de trabalho. A troca de pares pode fazer mais sentido no contexto de tarefas em execução mais longas.
fonte
Sou programador e gerente. Aqui está a minha opinião:
A troca regular é ótima. Eu sou a favor da troca de 2 a 4 vezes por dia, o que é o mais rápido possível. Para nós, isso ocorre em pontos de ruptura naturais: geralmente almoço e meio da tarde. Mudar a cada dia ou dois provavelmente é bom, mas eu me preocupo em demorar muito mais do que isso. (Eu ouvi falar de um lugar trocando tão raramente quanto a cada seis semanas, o que eu acho insano; depois de tanto tempo juntos, você estará pronto para esfaquear um santo.)
Como programador, adoro isso porque tenho novas perspectivas, posso verificar outras áreas do código e posso continuar com alguma coisa como preferir. Recentemente, passei da codificação solo de volta ao emparelhamento e estou emocionado: aprendo mais, me divirto mais e faço mais.
Como gerente, acho ótimo porque resolve muitos problemas de fatores de gargalo e gargalo. Por exemplo, neste fim de semana, vou passar um longo fim de semana no casamento de um amigo e não estou preocupado: tudo em que trabalhei também foi trabalhado por outras pessoas. Eu também acho que realmente ajuda os membros da equipe a apreciar os pontos fortes e fracos um do outro e a incentivar a propriedade coletiva do código.
Quanto a quem fica com o trabalho atual, sinto que depende principalmente das pessoas envolvidas. Às vezes, você deseja ver alguma coisa e, às vezes, está pronto para uma mudança. Às vezes, também trocamos para obter experiência ou alguém pode aprender algo em que está interessado. Tentamos manter nossas unidades de trabalho muito pequenas (0,5-2,0 pares / dia), para que não seja um grande problema, no entanto, a troca ocorre .
fonte
Okie, aqui está a resposta de um programador pragmático / xp pragmático auto-proclamado. Faço programação em pares há mais de dois anos. Se a programação dos pares for boa, troque os pares com frequência (idealmente a cada duas horas, se não a cada meio dia). Em nosso escritório, fazemos questão de trocar pares todos os dias (geralmente) ou a cada dois dias (na pior das hipóteses). Fazer isso por si só pode nos dar muita confiança na qualidade do código que comprometemos e aprendemos ou adotamos sempre a cada rotação de pares (sabemos que a revisão do código é boa, quanto mais, melhor e quanto mais cedo melhor. É isso que a "programação de pares, incluindo a prática de trocar pares" alcança).
Por que não trocamos de pares a cada duas / quatro horas? Bem, na verdade eu também estive em equipes que praticam isso. Certamente é muito mais legal e produtivo. Mas aqui está o acordo: o intervalo de tempo entre pares de trocas não deve ser uma regra, deve acontecer por si só; somente então o gerente ou a empresa pode ver seus benefícios.
Eu testemunhei e experimentei isso. Agora sou evangelista. Não é uma teoria. Em vez disso, é completamente pragmático :) Feliz par de ping-pong e troca de pares.
fonte