Extreme Programming > Princípios do XP > Humanismo


Humanismo

Pessoas desenvolvem software. Metodologias e ferramentas apenas as ajudam a realizar o trabalho. Portanto, é importante compreender a natureza humana para que possamos potencializar o que ela tem de melhor e suprimir o que tem de pior. Em particular, devemos compreender os programadores para que possamos nos aliar a favor e não contra seus instintos.

Desenvolvedores de software, assim como designers, artistas, engenheiros e cientistas, lidam com um trabalho que demanda profunda concentração. Programar é uma atividade complexa, que envolve técnicas conhecidas, experimentação, criatividade, feedback e aprimoramento. Infelizmente, muitas propostas para melhorar o desenvolvimento de software ignoram a natureza humana. Algumas, por exemplo, sugerem que programadores escrevam longos documentos antes de implementar qualquer funcionalidade.

Programadores gostam de programar e é o que fazem de melhor. Por que forçá-los a escrever documentos, quando não é isso de que gostam, nem é o que sabem fazer de melhor? Não quer dizer que documentação não seja importante ou não deva ser feita. Significa apenas que existem outras formas alternativas de se alcançar o mesmo resultado, porém respeitando a natureza dos desenvolvedores.

Existem alguns fatores que afetam diretamente a qualidade do trabalho de um desenvolvedor:

XP coloca as pessoas no centro do esforço de desenvolvimento e suas práticas são voltadas para potencializar o melhor que podem oferecer, bem como suprimir suas falhas. O problema da documentação, por exemplo, é um problema de comunicação. Programação em par permite que os desenvolvedores trabalhem juntos e conversem continuamente sobre o que estão fazendo, o que ajuda a disseminar conhecimento e reduz a necessidade de documentação dentro da equipe. Escrever testes automatizados é um meio de documentar o sistema através de exemplos de uso, além de ser uma atividade de programação, portanto, melhor relacionada ao que os programadores gostam de fazer. Outras práticas como o planejamento do ciclo semanal, reunião em pé, uso de um ambiente informativo, ajudam a resolver o problema da comunicação sem impor aos desenvolvedores a necessidade de escrever extensos documentos.

Comentários (0 até o momento)