sexta-feira, 29 de maio de 2009

[Noticia] Como o TDD e a programação em par aumentam a produtividade

Bem, acredito que vai ser difícil achar uma notícia que esteja mais no contexto desse blog que essa. O conteúdo dessa matéria da InfoQ diz tudo que eu sempre debati com as pessoas que questionam a necessidade de um software de qualidade.

Como diz o grande Shoes, Programadores Profissionais Escrevem Testes, Ponto Final.

Isso deveria ser óbvio, mas infelizmente, não é. Nas grandes empresas, onde existe divisão de papéis, quase sempre bem definida, conhecemos desenvolvedores dizendo que não tem a responsabilidade de testar.

O fato da empresa possuir uma equipe de testes, não exime o programador de testar o que fez. Verificar se o que foi implementado cumpre os requisitos é obrigação de todo desenvolvedor. Leia o texto do Philipp e tente não se convencer disso.

Uma suite de testes bem feita garante a qualidade do trabalho do profissional e, parodiando o Shoes, ponto final.

A questão do pair-programming já é um pouco mais complicada, já que envolve a alocação de dois colaboradores da empresa para a mesma tarefa. Essa técnica pode gerar discussões como: É impossível escrever todo o código em pares. Será muito lento. E se duas pessoas não se entenderem? A não ser que:
  • Os padrões de codificação reduzam brigas mesquinhas;
  • todo mundo esteja descansado e tranquilo, reduzindo mais ainda a chance de discussões não proveitosas;
  • os pares escrevam testes juntos, o que dá a eles a chance de se sintonizarem antes de começarem a implementação;
  • os pares tenham a metáfora para apoiar suas decisões sobre nomeação e projeto básico;
  • os pares estejam trabalhando com um projeto simples, para que os dois entendam o que está acontecendo.
Trecho retirado do livro Programação Extrema Explicada - Kent Beck.

O próximo artigo da série princípios de projeto está quase pronto. Será abordada a questão da eficiência.

Sites Relacionados:
Fonte da Notícia: InfoQ

2 comentários:

  1. Paulo Fiqueiredo30 de maio de 2009 08:39

    Celso, muito boa sua mnatéria. Ja tive experiência com o desenvolvimento de testes e com programação em par. Concordo plenamente que os testes devem ser bem-feitos e que trarão resultados surpreendentes. Mas quanto a programação em par, posso dizer o seguinte: ela traz a vantagem para novos programadores, pois eles "pegam" o trabalho muito mais rápido. Fiquei 3 anos trabalhando com isto e a programação em par só trouxe ainda mais demora nos projetos (a única real vantagem foi fazer com que novos funcionários fizessem parte do projeto mais rápido). Portanto o uso de programação em par deve ser feito com cautela.
    Parabéns. Abraços. Paulo Fiqueiredo.

    ResponderExcluir
  2. Obrigado!

    A questão da programação em par realmente é complicada. Além do nivelamento da equipe, creio que ela seja importante para, por exemplo, o peer-review. Este tipo de review é muito comum e, dessa forma, ele é feito "ao vivo".

    Mas concordo com você que seja uma questão complicada.

    Abraços!

    ResponderExcluir