Uma prática muito controversa do XP é o
Pair Programming. Ao invés de se empregar 1 desenvolvedor por máquina, este tipo de desenvolvimento ágil sugere empregar 2 desenvolvedores por máquina. Os benefícios são:
- Auditoria em tempo real do código;
- Discussão imediatas de como se implementar tal coisa;
- Coibição de evasão do funcionário a sua tarefa (entre outras palavras evitar a perda de foco na tarefa).
A princípio isto não parece uma idéia logicamente correta, mas é muito madura. Um desenvolvedor perde muito tempo tentando resolver problemas inócuos que ele não enxerga a solução, por outro lado no desenvolvimento em par isto quase desaparece.
Também salientando que a programação em par é a melhor forma de integrar uma pessoa nova na sua equipe. Tanto a adaptação quanto o desenvolvimento profissional é acelerado dessa forma.
Código coletivo
Outra recomendação deste tipo de desenvolvimento ágil é de disponibilizar acesso ao código de todos os módulos para todas as pessoas da equipe. A idéia é muito parecida com o que acontece no software livre. É fazer com que o código seja auditável por qualquer pessoa e com isso garantir uma qualidade superior. Muitos projetos de software proprietário condenam essa liberdade, entretanto isso é um ponto importante do XP.
Comunicação verbal e Stand up meeting
Stand up significa "de pé" e meeting significa "reunião". Esta é uma regra também não muito usual, mas muito importante para integração. Todo dia os desenvolvedores se reúnem para definir como está o projeto e o que deve ser feito. É uma verificação do desenvolvimento do projeto. Quem propôs isso acha que muito tempo é perdido para se obter pouca comunicação. Por isso sempre, além da reunião, comunicação verbal e frente a frente é desejável.
Você pode pensar que isto é totalmente oposto do movimento livre. Mas eu tenho o feelling que isto é muito parecido com a forma de integração nos projetos coletivos. Pode não haver comunicação verbal. Mas todos, os projetos livres de tradição possuem canais de chat, irc e afins para discutir o andamento do projeto.