Programação em Pares
Segundo Sommerville (2019), a programação em pares leva ao profundo conhecimento de um programa, pois ambos desenvolvedores precisam compreender seu funcionamento em detalhes para continuar o desenvolvimento em conjunto. O intuito principal da programação em pares é o compartilhamento de informações entre os programadores, de forma que seus conhecimentos podem acabar se complementando e agilizando o processo de desenvolvimento. Além disso, a participação de duas pessoas na resolução de problemas gera mais interação e, consequentemente, mais soluções e cenários onde o problema é solucionado de forma mais simples. Assim, possíveis bugs são detectados com mais frequência, aumentando a qualidade das entregas.
A programação em pares, ou pair programming, é uma prática que foi introduzida na Programação Extrema (XP), onde os programadores trabalham em pares no desenvolvimento do software. Cada dupla de programadores deve estar diante de um mesmo computador para desenvolver o software. Esses pares devem ser criados de maneira dinâmica para que todos os membros do time tenham a oportunidade de uns com os outros durante o processo de desenvolvimento (SOMMERVILLE, 2019).
Na prática, a programação em pares consiste na execução da codificação do software realizado por duas pessoas trabalhando para resolver, juntos, um problema. Tais pessoas trabalham em um mesmo computador, onde, geralmente, uma delas escreve o código (condutor) comentando sobre seu raciocínio, enquanto a outra analisa tudo e compartilha suas ideias (navegador). Assim, buscam chegar na melhor solução juntos. O código é produto de ambas as mentes.
Como formar as parcerias?
A regra é: quando solicitado, você tem que dizer sim. Entretanto, você pode negociar o horário. Os pares devem se formar naturalmente, e os gestores não devem se envolver nessa formação. As parcerias duram pouco. Quatro horas é um bom tempo para uma parceria. Às vezes uma parceria pode durar um dia. Muito raramente, pode durar uma semana. Ao invés disso, as parcerias se formam por algumas horas e, então, se desfazem e recriam-se com parceiros diferentes.
Quando mudar de Parcerias?
- Quando você estiver cansado do seu parceiro atual;
- Quando você achar que o seu parceiro atual está demasiadamente cansado ou distraído para lhe ajudar;
- Quando vocês dois ficarem empacados em um conceito;
- Hora do almoço;
- Hora de ir embora;
- Ou geralmente, sempre que lhe apetecer.
Vantagens da programação em pares:
- Pode proporcionar mais atenção e foco no projeto por parte dos programadores durante a codificação;
- Favorece uma maior padronização do código, já que ele está sendo desenvolvido em dupla;
- Produz menos erros e bugs no código;
- Agiliza na criação de solução para falhas, pois são duas pessoas pensando no mesmo problema;
- Revisão de código é realizado em tempo real, por parte da dupla;
- Proporciona troca de conhecimento entre os programadores ajudando a criar um código mais criativo e eficaz;
- Cria um ambiente mais colaborativo entre o time de desenvolvimento;
- Tende a diminuir a necessidade de refatoração.
Desvantagens da programação em pares:
- Pode aumentar o custo devido a utilização de dois programadores, ao em vez de um;
- As duas pessoas precisam estar engajadas no projeto e com o mesmo objetivo;
- Pode facilitar a fuga da prática, caso os programadores comecem a conversar, por exemplo, de outros temas;
- Pode ser difícil, caso os envolvidos não sejam capazes de escutar a opinião de outras pessoas sobre o seu código;
- Pode apresentar dificuldade na interação entre os parceiros de programação;
- Pode ser cansativa para as duas pessoas;
- Pode ser difícil, caso os envolvidos não sejam capazes de se comunicar adequadamente para poder compartilhar de forma correta suas ideias e opiniões;
- Pode gerar possíveis problemas pessoais entre a equipe, causando desconforto na hora do trabalho.
Fique Atento!
- Questões de higiene e etiqueta entre os parceiros;
- Incompatibilidades físicas e deficiências;
- A equipe está geograficamente distribuída;
- Meu parceiro se apodera do teclado e me ignora;
- Eu e meu parceiro discordamos a respeito de uma solução;
- Eu e meu parceiro falamos idiomas diferentes;
- Eu e meu parceiro trabalhamos em horários diferentes;
- Nossa equipe possui um número ímpar de programadores;
- Patologias das Parcerias: (i) Parcerias exclusivas e (ii) um cego guiando outro cego!
Referências Bibliográficas
- SOMMERVILLE, I. Engenharia de Software - 10a Edição: Ed. Pearson, 2019.
- GOMES, A. F. Agile: Desenvolvimento de software com entregas frequentes e foco no valor de negócio. Casa do Código, 2014.