Passos de Bebê | XP | DesenvolvimentoAgil.com.br
O que acontece quando adicionamos inúmeras linhas de código à aplicação antes de compilar? Recebemos várias mensagens de erro, o que causa:
Trabalhar arduamente durante algum tempo para depois descobrir que o que produzimos não funciona é frustrante e desmotivante. Deparar-se com inúmeras mensagens de erro de uma vez é intimidador. Afinal, o que está causando tantos problemas. Além disso, tais mensagens geram confusão. Não seria melhor receber uma única mensagem de erro de cada vez?
Passos de bebê implicam em fazer apenas pequenas mudanças de cada vez. Por exemplo, ao invés de escrever todo o conteúdo de uma classe de uma vez, podemos nos concentrar em um método de cada vez. Para cada um, escrevemos um teste, vemos ele falhar, implementamos o método, vemos o teste funcionar, refatoramos se necessário, rodamos o teste novamente e, só quando tudo está funcionando, passamos para o método seguinte.
Passos de bebê não se aplicam apenas à codificação. Tudo em XP gira em torno desse princípio. De fato, desenvolvimento iterativo se baseia nessa idéia de que é melhor fazer pequenos lotes de trabalho de cada vez, validá-los e só então seguir adiante.
Errar é algo natural em qualquer projeto e ocorre de tempos em tempos. Não devemos temer os erros, devemos temer a abrangência dos mesmos e o tempo que levamos para descobri-los. Quando os erros são descobertos rapidamente e abrangem um escopo pequeno do trabalho (um método, por exemplo, ao invés de uma classe inteira), solucionar torna-se mais fácil.
Passos de bebê determinam que é melhor avançar um pouquinho de cada vez, com segurança, que tentar dar grandes passos sem validar suas conseqüências. Outras práticas do XP que são influenciadas por esse princípio são:
Integração contínua - é melhor integrar o código várias vezes ao dia, para que cada integração seja referente apenas a um pequeno lote de trabalho.
Refatoração - refatoramos o código freqüentemente para evitar grandes refatorações que, além de serem mais perigosas, são também mais complexas.