Durante a palestra do Klaus no Agile Tour 2011 em Maringá/PR, houve uma pergunta sobre "O que fazer quando o 'chefe' não permite que você 'gaste' um tempo do sprint para fazer a limpeza do código?" Discutiu-se um pouco sobre o assunto no evento, mas o próprio Klaus acabou reconhecendo no final que a conclusão foi uma "não-resposta".
Minha primeira reação à pergunta foi direta: minta. Ainda bem que não faço as coisas por impulso. Mentir quebraria um dos meus princípios fundamentais que é o da "verdade, doa a quem doer" e também o princípio prático do "mentir dá muito trabalho: dizer a verdade é infinitamente mais fácil". Desnecessário dizer que já angariei muita antipatia por causa destas atitudes, porém ninguém poderá jamais me acusar de ser falso.
Fazer "limpeza do código", também conhecido como eliminar
Se você é um programador, você (e não o seu "chefe") sabe o que é o melhor para o código. Use esse poder.
Se o seu "chefe" é adepto do micro-gerenciamento, provavelmente ele deve ficar olhando o gráfico de burn-down ou calculando a velocidade do sprint para medir a "produtividade" da equipe. O erro fundamental aqui trata-se da visibilidade dos números. Estimativas, velocidade e burn-down são informações da equipe e para a equipe. O "chefe" não deve ficar sabendo destes números. Mas se o seu "chefe" insistir em ficar acompanhando isso e você precisa eliminar o débito técnico, há uma solução simples. No próximo planning poker, dobre o número das cartas. Em cada tarefa, coloque o adicional de 100% para realizar a limpeza necessária. Você não estará mentindo, a velocidade não vai diminuir, o gráfico de burn-down vai continuar bonitinho, o seu "chefe" vai continuar indiferente, e o mais importante, você ficará feliz e satisfeito e o seu código, limpo.
Realmente é difícil passar um tempo fazendo a ''limpeza de código'' , visto que meu gerente fica controlando os minutos gastos e a quantidade de atividades ...infelizmente tive que enganar, ""gastando"" tempo com a limpeza, e colocando o tempo em outras atividades...
ResponderExcluir