DevSecOps

21 jan, 2011

O trivial pode não ser simples

Publicidade

Provavelmente muitos de vocês já passaram esse tipo de situação, em que 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 desse ponto que quero falar um pouco. São situações que complicam o
desenvolvimento e furam as previsões.

Também já passei por situações em que uma determinada tarefa se
mostrou bem mais complicada do que o esperado, e tanto no papel do
desenvolvedor que realizaria a tarefa, quanto no papel do analista que
delegava a tarefa. Aprendi muito com esses 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á sendo passada é algo em 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. Uma 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 e, claro, que temos algumas técnicas para isso como o
TDD, mas nem todos os softwares podem utilizar 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 pode ser um tiro
no pé. Podemos, sim, desenvolver algo que se pareça 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, 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. O sentimento que fica é que não estamos conseguindo evoluir com a
tarefa.

Já no papel do analista ou no daquele que delega as tarefas, devemos tomar mais cuidado ainda, afinal, o fato de acharmos que uma tarefa é
simples, pode nos levar a cobrar mais do desenvolvedor . Com isso, podemos achar que ele está gastando muito tempo em
algo fácil, quando na verdade é o contrário, o
tempo é curto para a complexidade da tarefa. Ao “categorizar” a tarefa como trivial, isso faz com que o desenvolvedor seja mais pressionado, fazendo com que ele não se sinta valorizado ao término da tarefa.

Meu recado é esse. E quem já passou por essas
situações nas quais o trivial não foi simples, não deixe de comentar aqui. O mais
importante é essa troca de informação e conhecimento entre nós!