A pesquisa compilada por Laurie Williams indica que a programação em pares funciona melhor em equipes industriais quando
- Pares trabalham em especificação, projeto e tarefas de programação complexas - experimentos indicam que nenhuma melhoria de qualidade é mostrada quando se trabalha em tarefas simples em um par, mas pode haver melhorias de velocidade. Observe também que o par "programação" geralmente inclui outras atividades além de escrever código.
- Cada indivíduo em um par tem quase o mesmo nível de especialização - enquanto a programação em pares é ótima para treinamento, os pares são mais envolvidos quando estão no mesmo nível.
- As funções rotacionam regularmente - a rotação regular ajuda a manter o copiloto atual envolvido, já que os indivíduos tendem a contribuir mais quando dirigem ou sentem que estão prestes a dirigir.
- Os pares giram regularmente - as equipes expressaram conforto em saber sobre as diferentes partes do sistema que estão construindo. A rotação de pares ajuda na transferência de conhecimento, o que reduz certos riscos no projeto. Em um ambiente acadêmico, os pares costumam ser designados, no entanto, os setores geralmente são auto-designados freqüentemente durante os stand-ups. Em ambos os casos, o par é mais eficaz quando ambos os indivíduos são participantes dispostos que vêem valor na atividade de pareamento.
Na minha experiência pessoal, descobri que minha equipe de XP gasta em média 60% de nossa programação em pares de tempo de desenvolvimento. O restante do tempo é gasto em desenvolvimento individual. Não é incomum formar duplas para criar um design inicial, trabalhar sozinho no design por algumas horas e depois voltar para finalizar partes complexas ou difíceis do código.
Também descobri que a programação em pares é mais eficaz em blocos de aproximadamente 1,5 a 2,5 horas. Qualquer coisa muito menos tende a exigir muita sobrecarga para configurar enquanto muito mais e os pares tendem a ficar irritados e cansados. Cansado e cansado significa que você não está se comunicando bem e pode estar deixando os defeitos entrarem no sistema.