Il sito usa solo cookie tecnici necessari al funzionamento: nessun tracciamento, nessuna profilazione. Cookie Policy

Salta al contenuto
Tutti i termini

Cos'è il debito tecnico?

La metafora di Ward Cunningham: ogni scorciatoia nel codice è un prestito, e gli interessi si pagano a ogni modifica successiva.

Il debito tecnico è la metafora coniata da Ward Cunningham nel 1992: ogni scorciatoia presa nel codice è un prestito. Ti fa consegnare prima oggi, ma da domani paghi gli interessi: ogni modifica costa più tempo, ogni bug è più difficile da isolare, ogni nuova funzionalità si scontra con le scorciatoie di ieri. Come i prestiti veri, il debito tecnico non è di per sé un errore: è uno strumento. Il problema è contrarlo senza saperlo, o non ripagarlo mai. La distinzione più utile, resa popolare da Martin Fowler, separa il debito contratto consapevolmente da quello accumulato per fretta o inesperienza: nel primo caso si sa cosa si deve ancora sistemare, nel secondo nessuno se ne accorge finché i sintomi non diventano visibili, stime che raddoppiano, rilasci sempre più rari. Il fenomeno riguarda gran parte del tessuto produttivo italiano, con una quota significativa del parco applicativo delle aziende che avrebbe bisogno di una modernizzazione vera e propria.

Debito deliberato e debito accidentale

La distinzione onesta, resa popolare da Martin Fowler, è tra debito deliberato e debito accidentale. Il primo è una scelta consapevole: "consegniamo così per la scadenza, sapendo cosa sistemare dopo". Documentato e con un piano di rientro, è uno strumento di gestione legittimo. Il secondo è quello pericoloso: nasce da inesperienza, fretta o semplice entropia, e nessuno ricorda di averlo contratto. Non compare in nessun bilancio, ma si vede dai sintomi: stime che raddoppiano, rilasci sempre più rari, il modulo che nessuno vuole toccare. E su scala italiana il fenomeno è tutto tranne che teorico: secondo una rilevazione del Politecnico di Milano ripresa da ZeroUno, circa il 39% del parco applicativo delle aziende italiane avrebbe bisogno di modernizzazione.

L'AI come nuova fabbrica di debito (e come si ripaga il capitale)

Il vibe coding ha aggiunto un canale nuovo: codice generato in minuti, che funziona alla demo ma che nessuno in azienda capisce davvero. È debito accidentale puro, contratto alla velocità di generazione invece che alla velocità di scrittura umana: mai così facile indebitarsi. La risposta non è vietare l'AI, è distinguere i due modi di pagare. Pagare gli interessi significa conviverci: workaround, rattoppi, riunioni su "perché ci mettiamo tre mesi". Ripagare il capitale significa modernizzare: riscrivere le parti critiche, coprire con test, automatizzare rilasci e controlli, documentare ciò che oggi vive nella testa di una persona sola. È esattamente il tipo di intervento di rescue e modernizzazione descritto in Software Rescue: prima si misura il debito, poi si decide, voce per voce, cosa estinguere e cosa continuare a servire. La prevenzione più economica resta annotare le ragioni di una scelta nel momento in cui la si compie, cioè tenere un architecture decision record: buona parte del debito non nasce da scorciatoie ma da vincoli dimenticati.

  • Vibe coding · Sviluppare software descrivendo all'AI cosa si vuole e accettando il codice senza leggerlo davvero. Veloce per i prototipi, rischioso in produzione.
  • SDD & TDD · Test-Driven e Spec-Driven Development: prima si scrivono test e specifiche, poi il codice. Il TDD è assodato, l'SDD è contestato e conviene solo a certe condizioni.
  • CI/CD · Continuous Integration e Continuous Delivery: ogni modifica al software viene testata e portata in produzione in modo automatico e frequente.
  • Migrazione da Access · Il percorso per portare dati e logica di un database Access diventato critico verso una piattaforma dati vera.
  • Cause di fallimento dei progetti AI · Le cause ricorrenti del fallimento dei progetti AI: proprietario assente, metrica non concordata, dati non pronti.

Un termine che ti riguarda da vicino? Parliamone.

CONTATTAMI