Skip to content

Dette technique & Entropie logicielle ​

1. Qu’est-ce que la dette technique ? ​

La dette technique est une métaphore introduite par Ward Cunningham :

Lorsque l’on prend un raccourci technique pour aller plus vite, on contracte une dette. Si elle n’est pas remboursée, elle s’accumule avec des intérêts.

Exemples de dette technique ​

  • Code dupliqué ou non testé
  • Fonctionnalité livrée sans design clair
  • Architecture improvisée sous pression
  • Documentation absente ou obsolète

2. Le coût réel de la dette ​

  • Une étude de 745 applications (365M lignes de code) montre :
    • Des défauts critiques omniprésents
    • Un coût moyen de 3,61 $ par ligne pour les corriger
  • Certains projets deviennent économiquement non viables avant leur mise en production

La dette technique impacte directement la maintenabilité, la sécurité, et la capacité d’évolution d’un système.


3. Complexité accidentelle & entropie ​

Complexité essentielle vs accidentelle ​

  • Complexité essentielle : liée au métier, au besoin réel
  • Complexité obligatoire : introduite par le besoin fonctionnel de l'applicatif (ex : serveur http)
  • Complexité accidentelle : la mauvaise conception ou les pratiques mal maîtrisées

L’entropie logicielle augmente naturellement : sans soin, un système “pourrit”.

Sources d’entropie ​

  • Stack technique mal choisie
  • Outils non compris
  • Documentation absente
  • Couplage fort entre modules
  • Architecture figée

4. Le développement pas ou peu piloté ​

Quand les retards s’accumulent, les équipes :

  • Priorisent les livraisons à court terme
  • Multiplient les rustines
  • Perdent la vision long terme

Cela crée un cycle d’endettement permanent, où l’on code pour survivre, plus pour durer.


5. L’illusion des outils ​

"No tool will save you from bad processes."

  • NoSQL ≠ magie (ex : pas de jointures)
  • CI/CD ≠ DevOps sans culture
  • Framework ≠ architecture

Les outils doivent s’adapter au métier, pas l’inverse.


6. Aliénation technique ​

Quand on utilise des outils sans les comprendre :

  • On subit plus qu’on ne conçoit
  • On duplique les erreurs des autres
  • On renforce l’entropie

Le rôle du dev est de choisir ses outils en conscience, pas de les empiler.


7. L’architecture et le découplage ​

Une mauvaise architecture est une dette silencieuse.

  • Une base de données centrale mal découpée peut rendre toute évolution risquée.
  • Un manque de séparation des responsabilités complique chaque changement.

Découpler, c’est concevoir pour le changement, pas pour le confort immédiat.


8. Responsabilités partagées ​

La dette technique :

  • N’est pas qu’un problème de dev
  • Engage aussi les PO / OPS, les achats, le management
  • Se combat par une culture partagée de la qualité

À retenir ​

  • La dette technique est inévitable, mais doit être maîtrisée
  • L’entropie vient surtout de la complexité inutile
  • Le bon outil, au bon moment, dans le bon contexte
  • L’architecture est un investissement, pas un luxe
  • L’amélioration continue est la seule réponse durable