O que dívida técnica realmente significa

Prévia grátis 3 min de leitura

A metáfora foi esticada até cobrir tudo de que alguém não gosta num código. Recuperar o significado original é o que a transforma em algo negociável, e não numa reclamação.

A ideia original

Ward Cunningham descreveu entregar código que ainda não corresponde ao seu entendimento do domínio, de propósito, para aprender mais rápido, e depois pagar a diferença quando você entendesse melhor.

A dívida é a distância entre o que o código diz e o que você sabe agora. Os juros são o esforço extra que cada mudança futura custa enquanto essa distância continua aberta.

As duas metades importam. Algo sem custo contínuo não é dívida. É código que você escreveria de outro jeito hoje, o que descreve a maior parte do código.

O que não é dívida

Código que você acha feio, mas que funciona e nunca muda. Não há juros correndo, então reescrevê-lo é uma compra, e não um pagamento.

Uma biblioteca que você não escolheria hoje. Só é dívida se estiver custando algo agora.

Qualquer coisa que nunca foi uma troca. Um bug é um bug. Chamá-lo de dívida pega emprestada uma credibilidade que a metáfora financeira não conquistou, e é por isso que executivos aprendem a descontar a palavra.

flowchart TB
  D["é dívida?"] --> Q1{"foi uma troca, deliberada ou não?"}
  Q1 -->|não| B["um bug, ou uma preferência"]
  Q1 -->|sim| Q2{"está custando algo agora?"}
  Q2 -->|não| C["código que você escreveria diferente. não urgente"]
  Q2 -->|sim| E["dívida. e o custo é a taxa de juros"]

Por que a distinção é toda a negociação

"Temos dívida técnica" não tem resposta. Não tem tamanho, nem taxa, nem consequência, então a resposta razoável de quem controla um orçamento é esperar até que tenha.

"Isto nos custa mais ou menos um dia por mês e vai custar mais conforme o catálogo cresce" é uma proposta. Dá para compará-la com outras coisas que um dia por mês poderia comprar.

A mudança de enquadramento tem efeito real. Um custo com uma taxa pode ser priorizado e uma reclamação não pode, e a maioria das conversas sobre dívida técnica fracassa nesse passo, bem antes de qualquer discordância.

A taxa de juros é o número que ninguém calcula

Algumas dívidas têm taxa perto de zero. Ficam lá e não custam nada até você mexer nelas, e talvez você nunca mexa.

Algumas acumulam juros. O curso de chaves compostas estabeleceu que mudar uma chave primária fica mais caro a cada linha e a cada sistema externo que guarda um identificador, e o curso de estratégia generalizou isso em portas de mão única.

Ordenar a sua dívida pela taxa, e não pelo incômodo, é a coisa mais útil que este curso pede, e em geral isso reordena a lista inteira.

Pontos-chave

  • Dívida é a distância entre o que o código diz e o que você sabe agora, com juros.
  • Sem custo contínuo não há dívida, só código que você escreveria de outro jeito.
  • Um bug chamado de dívida pega emprestada uma credibilidade que a metáfora não conquistou.
  • "Temos dívida técnica" não tem tamanho nem taxa, então não dá para priorizá-la contra nada.
  • Ordene pela taxa de juros, e não pelo incômodo; em geral isso reordena a lista inteira.
Aula 1 de 7 · grátis

Continue com a aula 2

Os quatro quadrantes

Apresenta a grade de Martin Fowler, com dívida deliberada ou inadvertida e prudente ou imprudente, e seu uso numa negociação.

Com uma conta grátis você também tem os quizzes, seu progresso e suas anotações, e a discussão.

Digite para buscar...