terça-feira, 11 de agosto de 2015

Débito Técnico ou Dívida Técnica?


É interessante como os idiomas nos pregam algumas peças, independente de ser seu idioma nativo ou não. O parônimo é uma dessas peças: palavras que tem grafia e pronúncia parecidas, mas significados diferentes. E quando tentamos traduzir estes parônimos para outras línguas acabamos cometendo ainda mais equívocos.

"Débito Técnico" é um destes equívocos. Eu mesmo ainda não consigo ler "Technical Debt" e não pensar de imediato em "Débito Técnico". Qual o equívoco? Em inglês, "debt" significa dívida, e não débito. "Debit" (notem o "i" adicional) poderia ser traduzido como "débito".
Technical Debt = Dívida Técnica
Façamos uma analogia com números pequenos e juros simples (não compostos) para simplificar a conta.

Definiremos uma unidade de medida de valor de software como "Yanaga". Por que "Yanaga"? Poderia ser qualquer nome: é só para termos um referencial de medida, e como o blog é meu acredito que os leitores já esperam algum egocentrismo mesmo :-)

Sua equipe é capaz de entregar 100 "Yanagas" por semana de valor em software.

Mas por algum motivo há uma funcionalidade muito importante para ser entregue nesta semana e para atender esta demanda você pega um empréstimo técnico (uma gambiarra) de 50 "Yanagas". Assim você consegue entregar 150 "Yanagas" de valor e a sua funcionalidade muito importante.

Na próxima semana você esperava continuar entregando os 100 "Yanagas" de valor. Mas como você contraiu uma dívida técnica, você tem juros para pagar. Você não consegue mais desenvolver com o mesmo desempenho pois aquela gambiarra da semana passada faz com que você tenha mais problemas, mais bugs etc. Suponha que aquela gambiarra lhe custe 40% da dívida. Esta semana você entregará somente 80 "Yanagas" de valor.

Ao final de 3 semanas a sua dívida técnica terá lhe custado 60 "Yanagas" de valor. E você emprestou somente 50.

Percebem que se em algum momento você não quitar a sua dívida técnica a sua geração de valor em software fica comprometida?

E a situação é muito pior quando mesmo já tendo uma dívida técnica resolvemos contrair mais um empréstimo. Assim a dívida aumenta, e chega num determinado momento em que simplesmente não entregamos mais valor.

Quando pensamos em dinheiro sabemos os problemas que a dívida nos traz, e também sabemos quais são as atitudes que devemos tomar. Por que com código pensamos diferente? Traduzir Technical Debt como Dívida Técnica talvez nos ajude a refletir melhor nessa situação.

Nenhum comentário:

Postar um comentário