Pair Programming – O caminho para a excelência no desenvolvimento web

Pair Programming – O caminho para a excelência no desenvolvimento web

Outubro 18, 2023

Este Website usa cookies

Em desenvolvimento web, a colaboração entre developers é cada vez mais imprescindível. O Pair Programming surge, assim, como técnica que contribui para o desenvolvimento de produtos digitais de maior qualidade e em menor tempo.

Porque o mundo tecnológico inova a cada minuto que passa, os programadores deverão estar abertos à comunicação e colaboração com outros developers do projecto. E, porque duas cabeças pensam melhor que uma, o Pair Programming é uma das técnicas de desenvolvimento web que mais contribui para o acelerar o processo, atribuir mais valor ao produto a ser desenvolvido e até a providenciar mais bem-estar aos próprios developers.

 

Tabela de conteúdos:

O que é Pair Programming?

 

Os benefícios de Pair Programming

 

O que é Pair Programming?

Pair Programming é um técnica de desenvolvimento de software na qual dois programadores estão a desenvolver a mesma parte (ou a trabalhar na mesma tarefa) do projecto. Esta técnica faz parte de “Extreme Programming”, da metodologia Agile, e, na verdade, pode ser utilizada tanto para desenvolver um trecho de um software ou para testar o produto.

Nesta técnica de desenvolvimento web, um dos developers é chamado de “driver” e o outro de “navigator. Enquanto que a função do primeiro é escrever o código, a função do segundo é rever  o código que está a ser escrito e/ ou dar feedback constante. Durante o tempo em que os programadores estiverem a trabalhar juntos, é comum alterarem funções.

Esta é, por isso, uma técnica de desenvolvimento web que incita à colaboração e comunicação e que assenta na premissa de que “duas cabeças pensam melhor do que uma”.

 

Como funciona?

Os dois programadores, que estão a trabalhar na mesma parte de um projecto, podem ou não partilhar uma única estação de trabalho e computador, assim como, alternar funções à medida que o projecto avança.

Quando a técnica surgiu, os developers trabalhavam em conjunto no mesmo local e no mesmo computador, estando um a escrever código e outro a rever e a dar feedback constante. Actualmente, com o boom do trabalho remoto, muitos developers a trabalhar em Pair Programming utilizam plataformas de colaboração.

Ao aplicar esta técnica, os programadores vão revendo a qualidade do código, enquanto ambos têm o objectivo principal em mente. Ao alternarem entre funções, ambos os programadores mantêm o foco e uma perspectiva em aberto.

Para esta funcionar, é necessário mais que plataformas de colaboração ou estações de trabalho que acomodem duas pessoas. Este processo requer algumas soft skills por parte dos programadores – têm de ser pessoas que consigam comunicar de forma clara, que gostem de trabalhar em equipa, com capacidade de partilha e que não sejam conflituosos.

 

Técnicas de Pair Programming

Enquanto técnica de programação dentro da metodologia Agile, o Pair Programming é mais eficiente quando ambos os developers trazem visões únicas para o software que estão a desenvolver. Além disso, existem inúmeras formas de a pôr em funcionamento:

  • Driver-navigator – o programador “driver” escreve o código enquanto o programador “navigator” revê o código, a qualidade do mesmo e direcciona o “driver”.
  • Pairing Desestruturado – Os programadores vão-se alinhando consoante a própria necessidade, não tendo regras específicas.
  • Strong-Style Pairing – O “driver” escreve o código enquanto o “navigator” fornece feedback constante, dá opiniões e questiona o trabalho desenvolvido.
  • Ping-Pong Pairing – Um dos developers escreve o teste e o outro escreve o trecho de código de forma a que cada parte do projecto os passe. A cada teste passado, os programadores trocam de função.

 

 

Os benefícios do Pair Programming

Além de incitar à colaboração e potenciar a comunicação entre colegas, o Pair Programming traz inúmeras vantagens tanto para os projectos, para as equipas de developers e para a empresa para a qual trabalham.

De entre todas as vantagens desta técnica, destacam-se:

  • Mais eficiência – Ao desenvolver um projecto com esta técnica, este faz-se a um passo mais acelerado. Ao trabalharem em conjunto, os dois programadores conseguem encontrar soluções mais rapidamente para os problemas que vão surgindo no processo. O tempo de debugging também é reduzido, já que não é o mesmo programador a fazê-lo.
  • Mais qualidade – O Pair Programming poderá resultar em código escrito com maior qualidade e menos bugs, visto que existe sempre um programador a rever o que está a ser desenvolvido e o existe mais partilha de conhecimentos.
  • Maior partilha – a colaboração entre dois developers tem como consequência mais partilha de conhecimentos e de abordagens tendo em conta um dado problema.
  • Formação e onboarding mais rápidos – Ao juntar developers mais experientes – e /ou que estejam há mais tempo na equipa -, os developers recém-chegados conseguem integrar-se de forma mais rápida.
  • Maior bem-estar dentro do projecto – Quando dois programadores trabalham nas mesmas tarefas, podem apoiar-se e motivar-se mutuamente.

 

As boas práticas desta técnica de programação

De forma a que a técnica Pair Programming funcione da melhor forma e o projecto avance com a maior qualidade, os developers envolvidos devem seguir uma série de boas práticas.

Além da comunicação clara e efectiva e o respeito pelo trabalho e dignidade do seu par, os developers a trabalhar em conjunto deverão ter as seguintes boas práticas em mente:

  • Definir as funções “driver” e “navigator” de forma clara assim como o método de trabalho e o tempo em que cada um irá ficar em cada função.
  • Comunicar de forma concisa de forma a ter a certeza de que ambos os programadores estão alinhados.
  • Empatizar com o colega de trabalho e com as suas abordagens tendo em conta um dado problema.
  • Fazer pausas, já que Pair Programming pode tornar-se uma técnica intensa, de ritmo acelerado e que pode prolongar-se por algumas horas seguidas.
  • Estar aberto a aprender, a novas ideias e a diferentes abordagens.
  • Praticar revisão de código activa para continuar a aprender mais sobre esta fase de qualquer projecto e conseguir mais facilmente identificar vulnerabilidades no código.
  • Usar plataformas de desenvolvimento que ambos já utilizem (ou que, pelo menos, já conheçam) de forma a poupar tempo de setup ou de ambientação.