NOTE / 008Idées2 min

La dette technique n'est pas ce que vous croyez

Celui qui a inventé la métaphore ne parlait pas de code mal écrit. Il parlait de l'écart entre le code et ce qu'on a fini par comprendre.

Ward Cunningham a proposé la métaphore de la dette technique en 1992, à propos d’une application financière. Depuis, elle sert surtout à excuser du code mal écrit, ce qui est exactement l’inverse de ce qu’elle disait.

Sa formulation d’origine : livrer du code à la première tentative, c’est s’endetter. Une petite dette accélère le développement tant qu’elle est remboursée rapidement. Le danger n’est pas de s’endetter, il est de ne jamais rembourser.

La nuance que tout le monde a perdue

Cunningham ne parlait pas de raccourcis honteux. Il parlait du fait que l’on comprend un domaine en le programmant. Le code de la première version reflète ce qu’on croyait au départ. Six mois plus tard, on a compris mieux. La dette, c’est l’écart entre le code tel qu’il est et la compréhension telle qu’elle est devenue.

Rembourser, ce n’est donc pas nettoyer. C’est réécrire le code pour qu’il dise ce qu’on sait maintenant.

Cette distinction n’est pas un détail de vocabulaire, elle change qui a le problème. Du code sale est un problème de discipline individuelle. Un écart entre le code et la compréhension est un problème d’organisation : il apparaît parce que le projet a appris, c’est-à-dire parce qu’il va bien.

Ce que la confusion coûte

Quand la dette technique désigne du mauvais travail, elle devient un aveu. Personne ne veut inscrire un aveu dans un budget. Elle reste donc non dite, et non financée.

Quand elle désigne l’écart entre le code et la compréhension, elle devient ce qu’elle est : une conséquence normale d’un projet vivant, qui se planifie et se paie.

Le sort du chiffre le plus cité du domaine, celui du défaut qui coûte cent fois plus cher en production, est instruit dans l’index des chiffres.

Le test

Demandez à une équipe de nommer sa dette technique. Si la réponse ressemble à une liste de reproches, il n’y a pas de dette : il y a un problème de qualité, et ce n’est pas le même sujet.

Si la réponse ressemble à « on a construit ça en croyant X, et maintenant on sait que c’est Y », alors c’est bien une dette. Elle a un montant, un taux d’intérêt, et une date à laquelle il devient moins cher de rembourser que de continuer à payer les intérêts.