La dette technique est un concept du développement logiciel inventé par Ward Cunningham en 1992. 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. Elle désigne la difficulté à faire évoluer et à corriger un code source qui a été mal conçu initialement. Le terme est utilisé en mars 1925 dans le domaine littéraire pour décrire l'influence des romanciers français sur la technique des biographes et essayistes anglais. Dans le contexte de l'Informatique, Cunningham trace pour la première fois en 1992 un parallèle entre dette économique et dette technique : 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 : maintenance corrective : corriger les bugs informatiques ; maintenance évolutive : ajouter de nouvelles fonctionnalités au logiciel. La dette technique peut être accrue lors d'un codage non optimal. 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 des bugs de plus en plus fréquents. 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 dépendant d'éléments externes (bibliothèques, 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. Junade Ali écrit à propos du développement PHP en 2014 : Une dette technique peut être intentionnelle ou non.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Séances de cours associées (4)
Évolution du code de l'héritage
Couvre la conception de référence, le cache, la latence, les bogues, l'année bissextile Excel, la refacturation et l'évolution du code hérité.
Evolution du code
Se penche sur l'évolution du code, l'identification des bogues, le refactoring et la gestion du code hérité.
Afficher plus
Publications associées (2)
Concepts associés (4)
Antipattern
En génie logiciel, les anti-patrons ou antipatterns sont des erreurs courantes de conception des logiciels. Leur nom vient du fait que ces erreurs sont apparues dès les phases de conception du logiciel, notamment par l'absence ou la mauvaise utilisation de patrons de conception, appelés design pattern en anglais. Les anti-patrons se caractérisent souvent par une lenteur excessive du logiciel, des coûts de réalisation ou de maintenance élevés, des comportements anormaux et la présence de bugs.
Couplage (informatique)
Le couplage est une métrique indiquant le niveau d'interaction entre deux ou plusieurs composants logiciels (fonctions, modules, objets ou applications). Deux composants sont dits couplés s'ils échangent de l'information. On parle de couplage fort ou couplage serré si les composants échangent beaucoup d'information. On parle de couplage faible, couplage léger ou couplage lâche si les composants échangent peu d'information et/ou de manière désynchronisée.
Réusinage de code
Le réusinage de code est l'opération consistant à retravailler le code source d'un programme informatique – sans toutefois y ajouter des fonctionnalités ni en corriger les bogues – de façon à en améliorer la lisibilité et, par voie de conséquence, la maintenance, ou à le rendre plus générique (afin par exemple de faciliter le passage de simple en multiple précision) ; on parle aussi de « remaniement ». Cette technique utilise quelques méthodes propres à l'optimisation de code, avec des objectifs différents.
Afficher plus

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.