Post

Dette technique (Technical debt)

Examinons le concept de dette technique, les raisons de son apparition, et les moyens de la minimiser.

Dette technique (Technical debt)

Dette technique (Technical debt)

Dette technique : le prix à payer ultérieurement pour avoir choisi des raccourcis permettant de terminer plus rapidement un projet immédiat afin de répondre aux exigences immédiates dans le processus de développement.

Tout comme emprunter de l’argent en assumant une dette comptable permet d’investir rapidement là où c’est nécessaire dans l’immédiat, mais entraîne une pression financière et le remboursement du principal avec intérêts, procéder à un développement rapide, même un peu désordonné, pour résoudre les exigences immédiates rend le code complexe et redondant, ce qui complique la mise en œuvre ou l’extension de nouvelles fonctionnalités par la suite.

Il n’est pas nécessairement mauvais d’assumer une dette technique pour implémenter rapidement de nouvelles fonctionnalités, tout comme une entreprise peut réaliser plus d’investissements en temps opportun pour développer de nouveaux produits et augmenter sa part de marché grâce à la dette, ou comme un individu peut contracter un prêt pour acheter une maison. Cependant, il est souhaitable de réduire l’accumulation de la dette technique et de la gérer à un niveau supportable.

Raisons de l’apparition de la dette technique

Même si les compétences du développeur sont suffisantes, la dette technique survient inévitablement dans le processus de création de logiciels et il est impossible de l’empêcher complètement. Lorsqu’un service évolue et que le code conçu à l’origine atteint ses limites, il peut être nécessaire de modifier la conception existante, même si le code était à l’origine lisible et fonctionnait bien. De plus, à mesure que la technologie elle-même évolue, on peut décider de changer de pile technologique pour passer à une autre bibliothèque/framework si celle qui était autrefois dominante n’est plus beaucoup utilisée, et dans ce cas, le code écrit précédemment devient une sorte de dette technique.

La dette technique peut Ă©galement survenir pour les raisons suivantes :

  • Ne pas documenter la conception en temps rĂ©el pendant le projet, ce qui rend difficile l’interprĂ©tation du code pour les autres ou pour soi-mĂŞme après un certain temps
  • Ne pas supprimer les variables ou les Ă©lĂ©ments de base de donnĂ©es qui ne sont plus utilisĂ©s
  • Ne pas automatiser les tâches rĂ©pĂ©titives (dĂ©ploiement/construction, etc.), ce qui nĂ©cessite du temps et des efforts supplĂ©mentaires Ă  chaque fois
  • Changements de spĂ©cifications urgents

MĂ©thodes pour minimiser la dette technique

Établir des conventions entre développeurs

  • S’il ne s’agit pas d’un dĂ©veloppement en solo, il est nĂ©cessaire de s’accorder sur le langage ou la pile technologique Ă  utiliser, la structure des rĂ©pertoires du projet, le style de dĂ©veloppement, etc. pour une collaboration efficace
  • Il faut dĂ©cider jusqu’oĂą unifier les mĂ©thodes de dĂ©veloppement et Ă  partir de quand laisser l’autonomie individuelle
  • Il est nĂ©cessaire d’examiner et de discuter des styles de dĂ©veloppement de chacun Ă  travers des revues de code

Écriture de code propre (Clean Code) & Refactorisation (Refactoring)

  • Si le code existant est dĂ©sordonnĂ© et entrave le dĂ©veloppement, on peut rembourser la dette technique en restructurant le code de manière plus propre par la refactorisation
  • Naturellement, plus le code existant est un code spaghetti dĂ©sordonnĂ©, plus la difficultĂ© de refactorisation est Ă©levĂ©e
  • Il faut s’efforcer d’écrire dès le dĂ©part un code lisible et facile Ă  maintenir
This post is licensed under CC BY-NC 4.0 by the author.