Coding Dojo Floripa

Desenvolvimento Ágil

Você pensa antes de sair programando?

Posted by Ivan Sanchez em Quinta-feira, Fevereiro 15, 2007

Gostei bastante da pergunta que o Plentz sentiu falta no post Teste: você é um desenvolvedor ágil?. Como não consegui decidir se ela deveria entrar lista, resolvi escrever um pouco sobre o assunto antes.

Acredito que o ato de pensar antes de se programar por si só não garante um bom código como resultado. Muitos ficam pensando horas antes de escrever a primeira linha de código inútil, enquanto outros conseguem sair programando e gerar ótimos resultados sem mal saber do que o problema tratava no início.

Um dos objetivos do desenvolvimento ágil é obter feedback rápido para melhorar a solução continuamente. E assim como isso é feito através de entregas constantes do software para avaliação dos usuários, também deve ser possível fazê-lo enquanto se está programando.

Eu normalmente penso o suficiente para escrever a primeira especificação do problema na forma de código (teste), e a partir daí o raciocínio vai fluindo conforme novos testes vão surgindo. Não sei se esta é a melhor forma, mas pelo menos me permite criar um jogo mental de “perguntas e respostas” para o problema que estou tentando solucionar. Eu parto de uma pergunta (mesmo que já tenha outras na cabeça) e procuro a resposta. Durante esta procura novas perguntas vão surgindo e desta forma que o programa evolui.

A questão é que isto só funciona quando posso me comunicar com alguém que possa me dar mais informações sobre o problema quando as dúvidas aparecerem. Vale lembrar que dúvidas aparecem por mais que se tente pensar antes de programar. Então isto significa que comunicação, assim como feedback, é vital para desenvolver um software.

Em resumo, ao meu ver o que importa não é o quanto se pensa antes de programar, e sim a quantidade de informação disponível antes de se começar. E no caso de desenvolvimento ágil creio que uma das vantagens é justamente não se exigir um detalhamento completo do problema antes do início da sua solução. São os “baby steps” que garantem que o desenvolvimento vai caminhar na direção certa.

Talvez a pergunta fique melhor assim: “Você busca o mínimo de informação antes de programar?”. Porque quem não pensa antes de sair programando provavelmente vai fazer besteira, mas quem pensa demais também pode estar perdendo um tempo precioso…

Uma resposta to “Você pensa antes de sair programando?”

  1. Era exatamente esse o sentido que eu queria dar Ivan. Muita gente codifica simplesmente pra funcionar (o que é uma boa prática na maioria dos casos), mas faz de uma forma tão mal pensada que nota-se a falta de 2 segundos de reflexão antes de sair escrevendo qualquer coisa “pra funcionar”.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

 
%d bloggers like this: