fbpx
O que é programação pareada?

O que é programação pareada?

Quantas vezes você já teve um problema que passou muito tempo para resolver e quando pediu ajuda para outra pessoa, ela viu o erro no mesmo instante? Na programação pareada, a ideia é mais ou menos essa.

No desenvolvimento de software, situações complexas podem exigir uma reflexão maior acerca das soluções possíveis. Nesses casos, a máxima: “duas cabeças pensam melhor do que uma” não é apenas um ditado, é uma realidade.

Diversas empresas têm aplicado com sucesso a estratégia de programação pareada, utilizando dois programadores focados na resolução de um único problema. Vamos entender como isso acontece:

O que é a programação pareada?

A programação em par é um dos conceitos utilizados dentro da metodologia ágil Extreme Programming, na qual se assume que todo e qualquer código produzido pelo time de desenvolvimento dever ser criado em duplas.

Em um primeiro momento, você pode pensar que essa não é uma prática muito inteligente e está fadada ao fracasso, já que aplicamos dois recursos chaves, dois desenvolvedores, para uma atividade só.

Afinal, não parece algo lógico dobrar os esforços e gastos para executar a mesma tarefa. Porém, não é bem assim. Caso você já tenha viajado de avião ou visto uma cabine de uma aeronave de grande porte, deve ter percebido que é preciso dois profissionais para comandá-la.

Na prática, apenas o piloto teria plena capacidade de comandar a aeronave sozinho, sem auxílio, porém, o papel do co-piloto é manter tudo em funcionamento caso o primeiro tenha algum problema. O princípio da programação em par é muito semelhante a isso. O segundo profissional aqui, tem um papel de analisar o que está sendo realizado e realizar correções durante a codificação.

Quais as funções do controlador e do observador?

Na programação pareada, temos dois papeis básicos a serem desempenhados pelos profissionais para que atinjam as metas e objetivos esperados. São eles:

  • controlador: o controlador é o piloto do avião, o profissional que é responsável pela codificação, é ele que ficará diante da maquina. A maior parte do código é feita conforme suas diretrizes;
  • observador: o profissional que fica em apoio é o observador, o nosso co-piloto, que analisa aquilo que está sendo realizado, levanta dúvidas que possa ter em relação a eficácia das funções e aponta sugestões. Na programação pareada não há uma fixação de papeis, o ideal é que os profissionais troquem várias vezes de função ao longo do dia para garantir uma pluralidade de ideias no código e ambos participem de forma ativa do desenvolvimento.

Quais os benefícios da programação pareada?

Separamos alguns dos principais benefícios que o seu time pode obter ao optar por implantar a programação pareada em sua empresa:

Produtividade

Um dos principais motivos para adotar a programação pareada é a produtividade, especialmente porque ela pode trazer inúmeros benefícios para uma equipe de desenvolvimento.

Um código mais limpo, sem bugs, no qual todas as ações e funções são discutidas pode ser muito mais eficiente, evitando o retrabalho na construção de partes do sistema posteriormente. Temos um resultado final mais rápido e com mais qualidade.

Ao mesmo tempo, a chegada de novos membros ao time gera um menor impacto sobre a produtividade, já que eles vão trabalhar com os mais experientes, que entendem sobre os padrões aplicados.

automatizacao deploy

Foco

Quando temos apenas um programador trabalhando em uma funcionalidade, é comum que ele acabe se distraindo com outras atividades e o desperdício de tempo aumente. Quando se trabalha em dois, as distrações deixam de ter espaço, já que o foco é o trabalho. É óbvio que o descanso periódico, fundamental para quem trabalha com o desenvolvimento de software será mantido, o que deixa de ter espaço são as distrações fúteis.

Criatividade

Quando trabalhamos em dupla nos tornamos muito mais criativos, já que qualquer ideia pode ser complementada pelo outro profissional, auxiliando a criar um código mais enxuto e funcional. Além disso, temos menos chance dos profissionais ficarem presos em algum problema mais complexo, já que os dois tem uma vivência diferenciada e que pode auxilar a resolver qualquer questão.

Crescimento

Outro fator muito importante que a programação em par pode nos trazer é a possibilidade de podermos compartilhar o conhecimento entre os profissionais.

Toda equipe tem algum profissional com mais experiência e tempo de mercado que os outros, por meio da programação pareada, ele pode trabalhar diretamente com cada um. Como as duplas são parte de um rodízio, mudando ao longo do tempo, em um curto período já temos vários profissionais atuando com as melhores práticas.

Como implementar essa técnica em sua equipe?

Separamos algumas dicas para ajudar você a implementar a programação pareada em sua empresa e obter os seus benefícios. Veja só:

Entender o XP

A metodologia ágil da qual a programação pareada faz parte, a Extreme Programming também é muito interessante e entender como ela funciona pode dar um norte para as suas próximas ações.

Quem sabe, ao conhecer essa metodologia você e seu time não se interessem em adotá-la?

Focar nas pessoas

Para que a programação pareada tenha sucesso dentro de uma equipe, as pessoas devem estar confortáveis com isso, afinal, é um mudança de postura e toda alteração pode ter certa relutância por parte dos colaboradores.

Entender como cada um trabalha ou sua parte favorita do desenvolvimento também pode ajudar na hora de montar duplas de programação mais eficientes, aproveitando as forças de cada um.

Formalizar um rodízio de duplas

Manter dois colaboradores atuando durante muito tempo pode gerar problemas como o distanciamento entre a equipe. Além disso, é importante que o conhecimento seja compartilhado entre todos.

Por conta disso, é preciso que haja uma espécie de rodízio a cada período de tempo, para que todos possam trabalhar com todos e aprender e ensinar novas habilidades aos demais. A programação pareada é uma ótima estratégia de desenvolvimento de software, podendo ser aliada a várias outras para maximizar a entrega de sistemas e melhorar os resultados.

Ficou com alguma dúvida? Deixe um comentário aqui embaixo e vamos ajudar a esclarecê-la!

guia de ferramentas devops

Deixe um comentário