Fundamentos de produto · Misto

Dívida técnica: quando contrair e quando pagar

Em uma linha: Dívida técnica é uma ferramenta de financiamento legítima — desde que seja contraída conscientemente, registrada e tenha uma data em que se fala sobre o pagamento.

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.