Dívida técnica: quando contrair e quando pagar
Nem todo atalho é dívida
Código simples que basta para a necessidade atual não é dívida, mesmo que não seja genérico. Dívida é a escolha consciente de uma solução que custará mais depois — uma duplicação que se sabe que vai se dividir, um teste adiado, uma estrutura de dados que não sobreviverá ao crescimento.
Código ruim escrito por ignorância não é dívida, mas um bug futuro. A distinção importa porque o tratamento é diferente.
Quando vale contrair
Quando você ainda não sabe se a funcionalidade vai ficar. Não faz sentido construir infraestrutura perfeita para algo que pode ser excluído em um mês.
Quando há uma janela de tempo real — um lançamento, um cliente, uma regulação. Mas aí você anota o que foi adiado, onde no código e o sinal que vai forçar o retorno.
Como pagar sem parar tudo
'Vamos parar um mês e arrumar' quase nunca é aprovado. O que funciona: pagar no caminho — cada vez que você toca em uma área problemática, melhore um pouco. E alocar uma parcela fixa de cada ciclo para manutenção, assim como se aloca para funcionalidades.
Prefira pagar em lugares tocados com frequência. Código feio que ninguém abriu em dois anos não é seu problema.
Indo mais fundo
Gerencie a dívida na mesma ferramenta que as tarefas, com uma etiqueta e o motivo pelo qual foi contraída. Dívida não registrada não é dívida, é surpresa. Uma métrica prática: quanto tempo leva hoje uma pequena mudança em determinada área — se estiver subindo, é a dívida falando.