Dette technique

Un article de Wikipédia, l'encyclopédie libre.

La dette technique est un concept du développement logiciel inventé par Ward Cunningham en 1992[1]. Le terme vient d'une métaphore, inspirée du concept existant de dette dans le domaine des finances et des entreprises, appliquée au domaine du développement logiciel.

Historique[modifier | modifier le code]

Le concept est utilisé en mars 1925 dans le domaine littéraire[2].

Explication[modifier | modifier le code]

Un projet de développement logiciel inclut souvent une conception logicielle, formalisée ou non. L'écriture du code source, selon la conception définie, assure la cohérence du projet et facilite sa maintenance :

La dette technique peut être accrue lors d'une codification non optimale. Une conception logicielle négligée induit des coûts futurs : les intérêts, à rembourser sous forme de temps de développement supplémentaire et de bugs de plus en plus fréquents[3]. La dette technique doit être remboursée rapidement pour éviter l'accumulation de ces intérêts, d'où l'analogie avec le concept de dette financière.

Des projets qui dépendent d'éléments externes (librairies, API, modèles, architectures, etc.) génèrent également une dette technique, car les éléments externes évoluent en parallèle, ce qui provoque l'obsolescence de certaines parties du code, donc la nécessité de créer des mises à jour.

La dette technique est inévitable dans le développement logiciel et perdure tout au long de la vie du produit. Elle peut cependant être contrôlée, notamment avec l'extreme programming, une méthode axée sur la productivité et la réduction des coûts en informatique et en génie logiciel[4].

Intentionnalité et durée (court terme et long terme)[modifier | modifier le code]

Une dette technique peut être intentionnelle ou non.

Une dette technique non intentionnelle est due à des malfaçons : non-respect de la conception, non-respect des règles de codage, etc. Il n'y a aucun bénéfice à retirer de ce type de dettes.

Une dette technique intentionnelle est calculée, prévue d'avance. Puisque favoriser la qualité de la conception augmente la charge de travail, les développeurs d'un logiciel peuvent choisir de sacrifier la qualité pour en retirer un bénéfice. Par exemple, s'il faut rendre rapidement une nouvelle version du logiciel, respecter la conception idéale peut mettre en péril la livraison du produit. Dans cette situation, l'objectif (la sortie de la nouvelle version) est prioritaire. L'intentionnalité de la dette technique serait donc de contracter une dette à court terme pour favoriser l'évolution du projet à long terme. L'essentiel serait alors de rembourser cette dette rapidement, une fois l'objectif atteint, pour éviter l'accumulation des intérêts.

La dette technique était estimée par le cabinet Gartner à 500 milliards de dollars en 2010[5].

Notes et références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]