Mensagens com Etiquetas ‘pair programming

05
Nov
09

Pair Programming

Update:  To read in english click here.

Definição:

Pair programming é uma técnica de desenvolvimento de software onde 2 programadores trabalham juntos em uma estação de trabalho. Mais detalhes consulte a Wikipedia: http://en.wikipedia.org/wiki/Pair_programming.

pairprogrammingchair

Trabalhei com programming apenas em 1 empresa por 9 meses. Deste período, tirei ótimas e péssimas experiências.

Durante os momentos em que você divide o computador com outra pessoa, você divide também detalhes de uma vida virtual, como:

  • organização: como você organiza documentos, projetos, músicas, etc
  • escolhas: quais aplicações você usa e de que forma você as usa, como: temas, hotkeys e configurações.
  • habilidades: velocidade de digitação, quanto você aproveita das aplicações que usa e até mesmo quanto conhecimento você tem sobre a aplicação que está desenvolvendo.

Claro que, uma vez em que a dupla é bem entrosada esse compartilhamento de informações só tende a ser mais e mais produtivo. A pergunta de um milhão de dólares é: “E quando esse entrosamento não acontece?

not_pair

Se ambos não estiverem dispostas à aprender com a experiência, o convívio se torna menos saudável com o passar dos dias.

Pair programming não funciona se alguma das partes se sente tão capacitado a ponto de pensar que sozinho faria o trabalho melhor. Nestes casos, o pair programming torna-se uma experiência intrusiva e negativa.

Para alguns programadores, principalmente os que se sentem ótimos profissionais, é muito difícil entender esse tipo de situação. Para tornar a coisa um pouco mais genérica, eu costumo comparar pair programming com dirigir um carro tendo um passageiro ao seu lado no banco da frente.

Situação 1: Indo por um caminho conhecido.

Imagine-se indo para uma festa, você está dirigindo o seu carro e conhece o caminho até lá. Ao seu lado, tem um passageiro, pode ser um amigo ou apenas um conhecido.

Se você tiver alguma dúvida sobre o caminho ou acabar entrando em uma rua desconhecida,  a pessoa pode pegar um guia e ajudar, sugerir um caminho mais rápido ou quem com menos trânsito.

Ao chegar à festa ambos aprenderam alguma coisa ou simplesmente compartilharam o bom tempo.

Situação 2: Um novo mundo.

Agora, imagine-se indo para outra festa. Você continua dirigindo só que agora você não sabe o caminho. Ao seu lado encontra-se uma outra pessoa, um amigo ou quem sabe apenas conhecido.

Durante o caminho você pede conselhos sobre qual caminho você deve tormar.

O passageiro por sua vez, te ajuda com o que ele sabe ou consulta um guia e te dá dicas de como chegar ao local desejado.

Ao chegar à festa vocês aprenderam um novo caminho, e mais uma vez tiveram uma boa experiência.

Situação 3: O começo do fim

Agora, imagine-se indo para uma festa, não importa se você conhece o caminho. Ao seu lado uma outra pessoa nas mesma condições anteriormente citadas.

Você continua dirigindo, só que agora o passageiro gostaria de ser o motorista. Qualquer dúvida que você tenha o passageiro olha para você e diz “Eu deveria ter vindo com meu próprio carro, teria sido melhor” ou “Se eu estivesse dirigindo isso não teria acontecido”. O que você faz?

Provavelmente ambos chegarão à festa mal humorados e tentarão a todo custo evitar esse tipo de situação novamente.

Talvez, se você estivesse no carro uma discussão aconteceria mas, durante o pair programming você está em uma corporação e algumas coisas não devem e não são ditas.

Antes de dividir o computador com alguém, pense nisso.

pairing




Atualizações do Twitter

Recommend Me

Seguir

Get every new post delivered to your Inbox.