Gomes Andre Faria - Agile стр 33.

Шрифт
Фон

Se você ainda não usa nenhuma ferramenta, eu sugiro que comece verificando o

Jenkins (jenkins-ci.org) e o CruiseControl (cruisecontrol.sourceforge.net).

82

Casa do Código

Capítulo 4. Entregando Valor

4.9

Programação em Par

A programação em par é uma técnica na qual dois programadores trabalham em

um mesmo problema, ao mesmo tempo e em um mesmo computador. Enquanto

uma pessoa (o condutor) assume o teclado e digita os comandos que farão parte do

programa, a outra (o navegador) a acompanha fazendo um trabalho de estratégia

[60].

A revisão de código, na programação em par, acontece em tempo real. Enquanto

um desenvolvedor está codificando, o outro está revisando o código. Pequenos er-

ros, que poderiam ser extramente difíceis de se corrigir posteriormente, podem ser

facilmente identificados e corrigidos nesse momento.

Os antigos já diziam que duas cabeças são melhores do que uma, e a programa-

ção também se beneficia disso. Dois desenvolvedores com um conjunto de conheci-

mento e experiência diferentes são, em regra geral, capazes de resolver um problema de forma muito mais eficiente do que poderiam fazer se estivessem trabalhando sozinhos. É o princípio da sinergia aplicado à programação.

Em um primeiro olhar, pode-se pensar que a programação em par é uma técnica

que reduz a produtividade da equipe, e que se ambos os desenvolvedores estivessem

trabalhando em paralelo resolveriam um determinado problema mais rapidamente

do que trabalhando juntos.

A programação em par é a prática de desenvolvimento ágil de software com mais

estudos científicos realizados na Academia até agora, e alguns desses estudos de-

monstram que, na prática, a programação em par não apresenta grandes diferenças

de produtividade [67], e que, em geral, o produto é entregue com menos defeitos e

com melhor qualidade, isso significa que menos tempo será desperdiçado em corre-

ções de defeitos e que a futura manutenção do software será mais fácil, ou seja, em uma análise de médio prazo, podemos concluir que a programação em par é, de fato,

eficiente.

Um dos fatores que apoiam essa alta produtividade é pressão dos pares. Nestes

tempos de redes sociais, e-mail, SMS, e diversas outras distrações, um desenvolvedor pode facilmente perder o foco e se distrair quando trabalha sozinho.

Trabalhando em par, o desenvolvedor assume um compromisso com seu colega

reduzindo assim a distração e a perda de foco, e como há um colega acompanhando

a codificação, há uma preocupação maior em criar soluções com mais qualidade e

elegância.

83

4.9. Programação em Par

Casa do Código

Programação em Par e Aprendizado

Aprender é a única coisa de que a mente nunca se cansa, nunca tem medo e nunca se

arrepende.

Leonardo da Vinci

Trabalhando em par, o conhecimento do time será rapidamente disseminado en-

tre os membros do time ajudando na eliminação de ilhas de conhecimento. Para que

isso aconteça de forma eficiente, é importante que haja um revezamento constante

entre os pares, de forma que todos tenham oportunidades de trabalhar com todos.

84

Casa do Código

Capítulo 4. Entregando Valor

A Pirâmide dos Pares

Uma ferramenta interessante para incentivar o revezamento entre os

pares e tonar visível quem está pareando com quem ao longo de uma

iteração é a Pirâmide dos Pares ou Pair-amid [44].

Trata-se basicamente de uma matriz que cruza todos os membros do

time, e desconsidera os cruzamentos repetidos e os cruzamentos de in-

divíduo com ele mesmo, veja na figura 4.4.

Figura 4.4: Pirâmide dos Pares

No exemplo acima, podemos ver que, até agora, o Robson e o Luiz

nunca parearam, e que o Robson pareou 3 vezes com a Carol e 2 vezes

com a Aline.

Se a pirâmide dos pares ficar visível no quadro do time, tornar-se-

á uma ferramenta útil para incentivar a programação em par e o reve-

zamento dos pares resultando em maior compartilhamento de conheci-

mento entre os membros do time.

A programação em par cria um espaço para aprendizado contínuo dentro da

equipe [60]. O trabalho em par também pode ser mais eficiente para disseminar

conhecimento do que documentações uma vez que não se limita ao que está escrito

e porque há troca de conhecimento entre ambas as partes.

É importante, porém, diferenciar programação e par de mentoria [1], a relação

da programação não é de estudante e professor, mas em vez disso, é uma relação

85

4.10. Revisão de Código

Casa do Código

de duas pessoas trabalhando juntas. Se há uma diferença muito elevada no nível

de conhecimento de dois profissionais trabalhando em par, provavelmente o que vai

acontecer é que um deles irá ensinar o outro na maior parte do tempo, criando assim uma relação que caracterizaria mais mentoria do que com programação em par.

A mentoria é também, sem dúvida, uma prática muito válida e importante em

uma equipe de desenvolvimento de software, mas é importante separar um conceito

do outro, e estar ciente de que a mentoria, geralmente, não resulta na mesma pro-

dutividade da programação em par, e que, muitas vezes, é um investimento mais de

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке