Dette technique

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
Cet article ne cite pas suffisamment ses sources (novembre 2016).

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références » (modifier l'article, comment ajouter mes sources ?).

La dette technique est une métaphore du développement logiciel inventée par Ward Cunningham en 1992[1].

Il s'inspire du concept existant de dette dans le contexte du financement des entreprises, et l'applique au domaine du développement logiciel. Ce concept est parfois associé avec l'extreme programming[2]

Explication[modifier | modifier le code]

Un projet de développement logiciel inclut souvent une conception logicielle (qu'elle soit formalisée ou pas). Cette dernière fait partie de la qualité du projet. Écrire le code source en suivant la conception définie en amont lui permet d'être cohérent et de faciliter la maintenance :

Ainsi, un non-respect de la conception, intentionnel ou non, induit des coûts supplémentaires dans le futur[3]. Ce sont les intérêts. C'est pourquoi l'on parle de dette technique, pour montrer l'analogie avec la dette dans les finances des entreprises. Cela sous entend qu'il vaut mieux rembourser la dette un jour plutôt que de continuer à payer sans cesse des intérêts.

Quand on code au plus vite et de manière non optimale, on contracte une dette technique que l'on rembourse tout au long de la vie du produit sous forme de temps de développement de plus en plus long et de bugs de plus en plus fréquents.

Par ailleurs, des projets dépendants d'éléments externes (librairies, API, modèles, architectures, etc...) génèreront également de la dette technique car ses dépendances évolueront en parallèle et rendront obsolètes certaines parties du code.

En résumé, la dette technique est inévitable sur tous types de projet et doit être remboursée tout au long de la vie du produit.

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

Une dette technique peut être intentionnelle ou pas.

Une dette technique non intentionnelle est due à des malfaçons : non-respect de la conception, non-respect des règles de codage, etc. C'est une mauvaise dette car il n'y a aucun bénéfice à retirer de cette dette.

Une dette technique peut être contractée de manière intentionnelle. Dans un projet, la qualité augmente la charge de travail, ce qui peut avoir un impact sur le délai immédiat. Ainsi, lors de la survenue imminente d'une nouvelle version du logiciel, respecter la conception idéale peut mettre en péril la livraison d'une nouvelle version du logiciel. À ce moment précis, ne pas respecter la conception idéale peut permettre d'atteindre l'objectif prioritaire à court terme (sortir une nouvelle version). C'est une dette intentionnelle car on sacrifie la qualité à long terme pour le bien du projet. Il est alors conseillé de rembourser cette dette immédiatement après la livraison de la nouvelle version du logiciel pour qu'elle ne devienne pas une dette à long terme. Ainsi on contracte une dette à court terme pour en retirer un bénéfice immédiat.

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

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

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]