No meu último post eu falei sobre Programação em Par, introduzindo seu conceito e expondo alguns de seus benefícios. A Programação em Par é uma das práticas recomendadas da metodologia de desenvolvimento ágil, como o Scrum. No post de hoje nós veremos o que acontece quando colocamos em prática essa metodologia de trabalho.
Este post é baseado em um experimento realizado por Williams e Kessler, há aproximadamente 10 anos atrás, com estudantes da Universidade de Utah.
Os 20 estudantes matriculados numa disciplina de programação para web foram submetidos ao experimento. Num primeiro momento, o conceito de Programação em Par foi exposto a todos os estudantes, sendo que o principal objetivo da pesquisa era descobrir quais seriam os reais benefícios desta metodologia quando posto em prática.
Os estudantes já eram familiarizados com programação, mas não possuíam conhecimentos em Active Server Pages (ASP), JavaScript, SQL. No início do semestre os 20 estudantes foram divididos em 10 pares e sua dupla se manteria até o fim do semestre. Todo o aprendizado se daria em dupla, mas as avaliações da disciplina seriam realizadas individualmente.
A princípio, podemos perceber que este experimento vai contra uma das práticas da Programação em Par, que defende o rodízio da dupla. Contudo, isso não influenciou diretamente no resultado, já que os benefícios do par seriam mantidos.
É interessante ler o depoimento dos próprios alunos:
"Quando era a minha vez de programar eu me concentrei muito no meu trabalho. Eu queria mostrar meu talento e trabalho de qualidade ao meu parceiro. Quando eu estava fazendo isso, eu me senti mais confiante. Além disso, quando havia uma pessoa observando o meu trabalho, eu senti que essa pessoa se preocupava com o meu trabalho e eu podia confiar nele. Se eu cometesse algum erro, ele poderia notar e nós poderíamos ter um produto de alta qualidade. Quando o meu parceiro que programava, eu revisei tudo o que ele digitava. Eu senti que tinha uma grande responsabilidade para evitar erros em nosso trabalho. Examinei cada linha de código com muito cuidado, pensando que, se houvesse qualquer erro seria também culpa minha. Prevenção de erros é a contribuição mais importante para a equipe!"
A prevenção de erros também foi notada por outro estudante, em seu depoimento ele disse:
"Um dia, após eu ter realizado diversos testes em nosso projeto, eu tinha certeza que havia atingido uma alta qualidade. Então eu dei ao meu parceiro, achando que não havia erros. Adivinhe só! Ele encontrou um erro em apenas dois minutos! Incrível! Duas cabeças pensam melhor que uma. O que eu vejo não é o que você vê. Como resultado, agora sim temos um trabalho de maior qualidade."
Através desta pesquisa, notamos que os programadores, em sua grande maioria, são condicionados a um trabalho solitário. A transição para um ambiente de programação em par envolve quebrar algumas barreiras, dos próprios programadores:
- Entender que os benefícios da comunicação superam a preferência comum por trabalhar sozinho sem ser perturbado;
- Compartilhar o trabalho com confiança, sabendo aceitar instruções e sugestões de melhoria. É preciso demonstrar humildade para entender que ninguém é infalível e o parceiro tem a capacidade de fazer melhorias em seu trabalho;
- Aceitar o trabalho de seu parceiro e estar disposto a expressar críticas e melhorias de forma construtiva.
E aí, preparado para aplicar a programação em par? Até o próximo post!
Referência: Williams e Kessler