Technical Dept: The Hidden Cost

Dette technique : Le coût caché

LOGICIEL · INGÉNIERIE · GESTION DE PROJET

Dette technique :
Le coût caché de « Nous le réparerons plus tard »

Par Gabriel Weider · grabNade · 7 min de lecture · Principes fondamentaux de l'ingénierie

Quelque part dans chaque base de code, chaque architecture de système et chaque processus de production, il y a une décision qui a été prise sous pression et jamais réexaminée. Une solution de contournement devenue permanente. Une solution temporaire qui a survécu au chef de projet qui l'a approuvée. Un commentaire qui dit // TODO : réparer cela correctement — datant d'il y a trois ans.

C'est la dette technique. Et contrairement à la dette financière, elle n'apparaît sur aucun bilan tant que les intérêts ne sont pas dus.

## 01. CE QU'EST RÉELLEMENT LA DETTE TECHNIQUE

Le terme a été inventé par l'ingénieur logiciel Ward Cunningham en 1992, mais le concept s'applique bien au-delà du code. La dette technique est le coût accumulé de l'adoption d'une solution plus rapide ou plus facile maintenant, au lieu de la meilleure solution qui prendrait plus de temps.

Comme la dette financière, elle a un capital et une composante d'intérêts. Le capital est le travail de reprise nécessaire pour mettre en œuvre la bonne solution. Les intérêts sont le coût continu de contournement du raccourci — développement plus lent, maintenance plus difficile, systèmes plus fragiles, taux de défauts plus élevés.

La différence essentielle avec la dette financière : la dette technique se compose silencieusement. Vous ne recevez pas de relevé mensuel. Les intérêts s'accumulent de manière invisible sous forme de vélocité ralentie, d'augmentation du nombre de bogues, de temps d'intégration plus longs pour les nouveaux ingénieurs, et de systèmes qui deviennent progressivement plus difficiles à modifier.

> LA MÉTAPHORE ORIGINALE (Ward Cunningham, 1992) : « Livrer du code pour la première fois, c'est comme s'endetter. Une petite dette accélère le développement tant qu'elle est remboursée rapidement par un refactoring... Le danger survient lorsque la dette n'est pas remboursée. Chaque minute passée sur du code pas tout à fait correct compte comme intérêt sur cette dette. »

## 02. COMMENT LA DETTE TECHNIQUE S'ACCUMULE

> DEBT_ACCUMULATION.model — Coût du changement au fil du temps
Sprint 1
Faible dette — itération rapide
Mois 3
Moyenne — contournements qui s'accumulent
An 1
Élevée — chaque changement casse quelque chose
An 3+
Critique — réécriture ou effondrement

La dette technique ne résulte généralement pas de la paresse ou de l'incompétence. Elle résulte de décisions rationnelles prises sous de réelles contraintes. La date limite était réelle. Le budget était fixe. Le PMV devait être livré. Le contournement était la bonne décision — à l'époque. Le problème est ce qui se passe après : la date limite passe, la pression se déplace vers la prochaine fonctionnalité, et personne ne revient pour corriger le raccourci.

## 03. LES QUATRE TYPES DE DETTE TECHNIQUE

Toutes les dettes techniques ne sont pas égales. Le Quadrant de la dette technique de Martin Fowler identifie quatre types basés sur deux axes : délibérée vs. involontaire, et imprudente vs. prudente.

Délibérée · Prudente

« Nous savons que c'est incorrect — nous le réparerons après le lancement »

La forme la plus gérable. Un compromis conscient fait en toute connaissance de cause et avec un plan de remboursement. Acceptable lorsque le remboursement a lieu. Dangereux lorsque « après le lancement » devient « jamais ».

Délibérée · Imprudente

« Nous n'avons pas le temps de concevoir cela correctement »

Raccourcis pris sans reconnaître ni planifier les conséquences. Souvent déguisés en pragmatisme. S'accumule le plus rapidement car il n'y a aucune intention de rembourser — la dette n'est même pas reconnue comme telle.

Involontaire · Prudente

« Maintenant, nous savons comment nous aurions dû le faire »

Dette encourue par un véritable manque de connaissances au moment de la décision. L'équipe a fait de son mieux avec ce qu'elle savait — la meilleure approche n'est devenue évidente qu'avec l'expérience. Courant dans les domaines techniques en évolution rapide.

Involontaire · Imprudente

« Que voulez-vous dire par architecture en couches ? »

Dette provenant du fait de ne pas savoir à quoi ressemble une bonne pratique. L'équipe n'a pas réalisé qu'elle créait de la dette. La plus coûteuse à découvrir car elle est souvent profondément enracinée avant que quiconque ne l'identifie.

// équipement connexe
« Là où le "on le réparera plus tard" rencontre le "plus tard n'est jamais venu." » T-shirt Dette technique pour femme · Coupe décontractée

## 04. LES SYMPTÔMES — À QUOI RESSEMBLE LA DETTE TECHNIQUE EN PRATIQUE

La dette technique s'annonce rarement. Elle se manifeste indirectement, par des symptômes que les équipes attribuent souvent à d'autres causes :

Symptôme Ce qu'il signale réellement
Les changements « simples » prennent des semaines Couplage élevé — tout dépend de tout le reste
Les nouveaux ingénieurs mettent des mois à être productifs Pas de documentation, modèles incohérents, système trop complexe pour apprendre rapidement
Les corrections de bogues introduisent de nouveaux bogues Architecture fragile, tests manquants, contournements construits sur des contournements
Personne ne veut toucher au Module X Zone à forte dette — tout le monde le sait mais personne n'a le temps de le corriger
La vélocité diminue chaque trimestre Les paiements d'intérêts augmentent — plus de temps à combattre le système qu'à créer des fonctionnalités
« Nous avons besoin d'une réécriture complète » Le principal de la dette a dépassé la valeur du remboursement incrémentiel — les intérêts composés ont gagné
> L'INTERSECTION CALENDRIER / BUDGET / DETTE TECHNIQUE : La dette technique est ce qui vit au centre du diagramme de Venn où la pression du calendrier et les contraintes budgétaires se chevauchent. Lorsque vous compressez les deux simultanément et ne tenez pas compte du coût, la dette technique est ce qui comble le fossé. Ce n'est pas une métaphore — c'est le reste mesurable et composé de chaque compromis qui n'a pas été correctement chiffré.

## 05. GÉRER LA DETTE TECHNIQUE — L'APPROCHE PRATIQUE

L'objectif n'est pas d'avoir zéro dette technique. Une certaine dette est rationnelle — le type délibéré et prudent qui accélère la livraison lorsqu'elle est remboursée à temps. L'objectif est une dette gérée : visible, suivie et remboursée avant que les intérêts ne dépassent le gain initial.

La rendre visible

La dette technique qui n'est pas suivie n'est pas remboursée. Créez un registre de dettes — une simple liste des raccourcis connus, de leur coût de remboursement estimé et de leur taux d'intérêt actuel (à quel point ils vous ralentissent). Ce qui est mesuré est géré.

Allouer une capacité de remboursement

La recommandation standard est de réserver 20 % de la capacité d'ingénierie au remboursement de la dette — refactoring, documentation, améliorations d'architecture. Les équipes qui ignorent cela constatent que le pourcentage augmente involontairement à mesure que les coûts de service de la dette consomment de plus en plus de capacité de sprint.

Arrêter de l'accumuler avant de la rembourser

Rembourser une dette tout en continuant à l'accumuler au même rythme, c'est faire du surplace. Avant qu'un remboursement agressif ne prenne tout son sens, les conditions qui ont créé la dette — délais irréalistes, revues de conception absentes, aucune définition du « fait » — doivent changer.

Prioriser par taux d'intérêt, et non par capital

Remboursez d'abord la dette qui vous coûte le plus par sprint, et non le principal le plus important. Un petit raccourci architectural dans une zone à fort changement coûte plus cher en intérêts quotidiens qu'un grand module hérité que personne ne touche.

> LA CONVERSATION HONNÊTE À AVOIR : Lorsque quelqu'un demande une livraison plus rapide et que vous connaissez les raccourcis nécessaires — nommez la dette explicitement. « Nous pouvons livrer cela en deux semaines si nous ignorons la couverture de test et codons en dur la configuration. Cela crée environ trois semaines de dette de reprise que nous devrons rembourser au T3. » Rendez le compromis visible. Laissez l'acteur prendre une décision éclairée. C'est de l'ingénierie, pas seulement du codage.
// équipement connexe
« Bien. Vite. Pas cher. Choisissez-en deux. » Le T-shirt du Triangle de l'ingénierie

## 06. LE MESSAGE À RETENIR

La dette technique n'est pas un échec de l'ingénierie. C'est une caractéristique de l'ingénierie soumise à des contraintes du monde réel. L'échec est de faire semblant qu'elle n'existe pas — de traiter « nous le réparerons plus tard » comme une phrase complète plutôt que le début d'un plan.

Les meilleures équipes d'ingénierie n'ont pas zéro dette. Elles ont une dette qu'elles peuvent voir, un taux qu'elles peuvent se permettre et un calendrier de remboursement qu'elles suivent réellement. Elles savent que le Calendrier et le Budget n'existent pas isolément — ils se croisent à la Dette Technique, et tout ce qui vit à cette intersection déterminera finalement si le système est un actif ou un passif.

Les ingénieurs qui comprennent cela ne livrent pas seulement plus vite. Ils livrent des systèmes qui restent livrables.

// grabnade.com · vêtements

Calendrier. Budget. Dette technique.
Lois de la physique.

Le diagramme de Venn que vos parties prenantes
doivent voir avant la prochaine planification de sprint.
Portez-le à la réunion.
[ ACHETER LE T-SHIRT ]
Retour au blog

Laisser un commentaire

Veuillez noter que les commentaires doivent être approuvés avant d'être publiés.