La dette technique n’est pas le problème (tant qu’elle est pilotée)

Architecture & delivery / Dette technique

 


La dette technique n’est pas le vrai problème.
Le vrai problème, c’est de faire comme si elle n’existait pas…
ou de vouloir l’éliminer à tout prix.

Le combat intérieur de tout développeur

 

Pour beaucoup de développeurs, accepter la dette technique est un combat.

 

Accepter de dire :


“Stop. Là, je livre quelque chose de fonctionnel,
même si ce n’est pas parfait.”

Ce n’est pas naturel.
Parce qu’on a tous cette envie : finir proprement, factoriser, optimiser, réécrire “comme il faut”.

 

Je développe des solutions depuis plus de 15 ans, et je lutte encore aujourd’hui contre cette pulsion.
Celle de vouloir toujours améliorer, toujours réinventer, toujours “faire mieux”.

La claque YAGNI (et pourquoi ça fait mal)

 

Je me souviens très bien d’une discussion avec un manager qui me disait :

“Mon paradigme, c’est YAGNI.”

YAGNI signifie
You Aren’t Gonna Need It : ne développe pas ce dont tu n’as pas besoin maintenant.

 

À l’époque, je me suis dit : “En fait, ce mec est juste un sagouin. Il code sale, il ne veut pas faire les choses bien.”

 

Et puis, avec le recul, j’ai compris qu’il avait raison.

 

Pas parce qu’il fallait mal faire son travail. Mais parce que, dans un projet, ce qui compte avant tout, c’est de sortir sur le marché.

Le vrai enjeu : le go-to-market, pas la perfection

 

Un logiciel n’existe vraiment que lorsqu’il est utilisé.

 

Tant qu’il est dans un dépôt Git, aussi élégant soit-il, il ne crée aucune valeur.

 

Le go-to-market est donc prioritaire :

Livrer vite

Tester le marché

Générer du business

Et c’est là que la dette technique devient acceptable.
Parce que coder “aux petits oignons” une fonctionnalité que le client jettera dans trois mois est une perte de temps et d’argent.

Quand la dette devient réellement dangereuse

 

Le problème n’est pas la dette en soi. Le problème, c’est la dette non pilotée.

 

J’ai vu des sociétés incapables de pivoter après plusieurs années de développement.

 

Pourquoi ?

dépendances dans tous les sens

code figé

architecture impossible à faire évoluer

À ce stade, ajouter une fonctionnalité ou faire une migration devient un cauchemar.

 

Là, oui, la dette technique devient un vrai problème business.

Première règle : rendre la dette visible

 

Une dette invisible est une dette dangereuse.

 

Et là, je vais dire un truc que beaucoup de développeurs sous-estiment :

les TODO dans le code sont importants

Un TODO ne veut pas dire “j’ai mal travaillé”.

 

Ça veut dire : “je sais qu’il y a un compromis ici, et je veux pouvoir y revenir”.

 

Aujourd’hui, en plus, ces annotations peuvent être relues par des outils, par des LLM, et servir de points d’entrée pour de futurs refactorings.

Deuxième règle : consigner la dette dans un backlog

 

La dette ne doit pas rester dans la tête des développeurs.

Elle doit être :

discutée avec les tech leads

partagée avec le chef de projet

consignée dans un backlog

Refactoring envisagé, amélioration possible, dette acceptée temporairement: tout doit être écrit.

 

Et surtout : ne jamais céder aux pulsions.

 

Relire un backlog avec un peu de recul permet souvent de se rendre compte que certaines refontes n’étaient finalement pas si utiles.

La dette comme levier business

 

La dette technique, quand elle est maîtrisée, est un levier.

 

Elle permet :

d’aller plus vite

de tester des hypothèses

de financer la suite grâce au business

Parce que, soyons honnêtes : vous devez rentrer de l’argent.

 

Votre client doit faire du business avec le logiciel que vous livrez.

 

Et ce sont ces revenus qui permettront plus tard de nettoyer, refactorer, consolider.

L’architecture comme filet de sécurité

 

Toutes les dettes ne se valent pas.

 

Une architecture bien pensée permet de vivre beaucoup plus sereinement avec la dette.

 

Des approches comme :

DDD

SOA / macro-services

architecture hexagonale

permettent d’isoler les compromis, de faire évoluer certaines parties sans tout casser.

 

C’est exactement ce qu’on a fait sur plusieurs plateformes chez Winzana : accepter des dettes locales, sans mettre en danger l’ensemble.

Conclusion

 

La dette technique n’est pas un échec.

 

Elle devient un problème uniquement quand elle est ignorée, subie, ou niée.

 

Acceptez-la,
rendez-la visible,
consignez-la,
pilotez-la.

 

Et surtout : ne sacrifiez jamais votre go-to-market pour une perfection que personne ne vous a demandée.

 

La maturité technique, ce n’est pas l’absence de dette.
C’est la capacité à vivre avec, intelligemment.

Ces articles pourraient également vous intéresser…