Debito tecnico

Da Wikipedia, l'enciclopedia libera.

Il debito tecnico è una metafora inventata da Ward Cunningham per descrivere le possibili complicazioni che subentrano in un progetto, tipicamente di sviluppo software, qualora non vengano adottate adeguate azioni volte a mantenerne bassa la complessità. Analogamente a quanto avviene nel mondo finanziario, in cui per sanare un debito occorre pagarne anche gli interessi, lo sforzo per recuperare un progetto sviluppato senza una corretta metodologia può aumentare anche considerevolmente nel tempo, se non si interviene tempestivamente.

Cause[modifica | modifica wikitesto]

Le cause più comuni (o loro combinazione) che possono portare ad un debito tecnico sono:

  • Esigenze di mercato, ossia l'urgenza di avere un prodotto da vendere prima possibile, quindi rilasciato prima che le dovute modifiche siano complete.
  • Mancanza di conoscenza del processo, in cui chi prende le decisioni è ignaro delle implicazioni sottostanti (o decide di ignorarle).
  • Mancanza di disaccoppiamento, quando lo sviluppo delle componenti del programma avviene ignorando il paradigma di programmazione modulare o comunque senza l'intento di mantenere basso il legame di dipendenza tra i sottosistemi.
  • Assenza di procedure di test, che incoraggia correzioni di bug "al volo" che non contemplano possibili effetti secondari.
  • Assenza di documentazione, dove il codice viene sviluppato "a braccio", senza documentazione/specificazione dei requisiti. Il lavoro per produrre la suddetta documentazione a posteriori, e la necessaria verifica di corrispondenza con quanto già codificato, rappresenta un debito che occorre prima o poi saldare.
  • Mancanza di collaborazione, causa di degrado dell'efficienza del processo di sviluppo. Un'altra motivazione potrebbe ascriversi ad un affiancamento dei principianti insufficiente o assente da parte delle figure professionali con maggior esperienza.
  • Mancanza di conoscenza, quando il programmatore semplicemente non ha le competenze per scrivere del codice di qualità.

Tipologie[modifica | modifica wikitesto]

Quadrante del Debito Tecnico
Avventato Prudente

Volontario
 
"Non si ha tempo per progettare" "Dobbiamo rilasciare ora ed occuparci delle conseguenze (più avanti)"

Involontario
 
"Quale Layering?" "Ora sappiamo come avremmo dovuto fare"

Occorre tener conto della distinzione tra tipi di debito tecnico. In un blog di discussione sul tema dello sviluppo, l’autore individua il cosiddetto "Quadrante del debito tecnico"[1], distinguendo tra quattro tipi di debito in base a due categorie dicotomiche. La prima categoria individua la contrapposizione tra debito Avventato e Prudente, mentre la seconda dicotomia è tra debito tecnico Volontario ed Involontario.

Note[modifica | modifica wikitesto]

  1. ^ Martin Fowler, su martinfowler.com. URL consultato il 19 novembre 2014.
Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica