O trivial pode não ser simples

27 01 2011

Provavelmente muitos de vocês já passaram por alguma situação, onde tiveram que alterar/construir algum código ou funcionalidade que aparentemente se mostrava muito simples, mas quando realmente colocaram a mão na massa perceberam que o buraco era mais fundo do que o imaginado. O trivial agora não é mais simples. Bem, é exatamente nesse ponto que quero tocar, falar um pouco dessas situações que complicam o desenvolvimento e furam as previsões.

Eu também já passei por situações onde uma determinada tarefa se mostrou bem mais complicada do que o esperado, isso, tanto no papel do desenvolvedor que realizaria a tarefa quanto no papel do analista que delegava a tarefa. Aprendi muito nesses casos, e vou comentar um pouco de alguns fatos que podem nos levar a tachar algumas tarefas como triviais.

  • É simples já mexi nisso

Muitas vezes a tarefa que está nos sendo passada é algo que a pessoa responsável em delegar a tarefa já mexeu. Isso pode ser ruim porque o responsável em passar a tarefa acaba esquecendo que softwares evoluem, e em alguns casos de forma desorganizada, o que complica muito a manutenção e até mesmo a inserção de novas funcionalidades.

  • Nem sempre entender o que tem que ser feito é o suficiente

O fato de entendermos o que tem que ser feito nem sempre é o suficiente para dizer que uma tarefa é trivial, pois a simples alteração de algo no software pode gerar ajustes em outras coisas que estão relacionadas com a nossa tarefa, fazendo com que o trabalho seja bem mais longo e complexo. Temos sempre que analisar o impacto de nossas mudanças no software, claro que temos algumas técnicas para isso como o TDD, mas nem todos os softwares podem estar utilizando essa técnica.

  • Se basear apenas em tarefas parecidas. Lembre-se cada caso tem suas particularidades

Estimar a complexidade e o tempo para desenvolver uma determinada tarefa com base em tarefas parecidas, em muitos casos pode ser um tiro no pé. Podemos sim desenvolver algo que pode parecer com o que já desenvolvemos anteriormente, porém com maiores impactos no software, e a diferença está aí, isso que pode levar uma tarefa a ser mais complicada.

  • Sair fazendo sem analisar o problema

Isso é muito complicado, desenvolvedores e analistas pecam muito nesse ponto. O que deve ser feito antes de cada tarefa é uma análise, mesmo que mais simples, mas que mostre um pouco dos impactos das alterações que irão ser feitas no software. Nada de sair fazendo para depois ver o que vai dar.

Quando estamos no papel do desenvolvedor e colocamos como trivial algo que não é, podemos nos sentir frustrados durante o desenvolvimento, pois o sentimento que fica é que não estamos conseguindo evoluir com a tarefa. No papel do analista ou aquele que delega alguma tarefa, temos que tomar mais cuidado ainda, afinal, o fato de acharmos que uma tarefa é simples, pode nos levar a cobrar mais do desenvolvedor e em muitos casos ficar com o pensamento que o mesmo está gastando muito tempo em algo fácil, quando na verdade o que está acontecendo é o contrário, o tempo que está sendo curto devido à complexidade da tarefa. Outro problema que pode ocorrer é que o fato da tarefa ser tratada como trivial, faz com que o desenvolvedor seja mais pressionado, fazendo com que o mesmo não seja valorizado como merecido ao término da tarefa.

É isso aí pessoal, o recado é esse, e quem já passou por essas situações onde o trivial não foi simples, comente aqui. O mais importante é essa troca de informação e conhecimento entre nós.