La dette tech­nique

J’en­tends trop souvent parler de dette tech­nique comme le gros monstre qui va tout manger et comme d’une faute impar­don­nable. Je ne le vois pas ainsi.

D’abord, pour parler de la même chose, ce que j’ap­pelle une dette :

La créa­tion d’une situa­tion qui permet un gain à court terme (plus vite, moins cher, etc.) mais qui va entraî­ner un coût à long terme.

Et la dette, présen­tée ainsi, c’est juste un outil arri­ver à ses fins. J’ai au moins trois situa­tions qui peuvent arri­ver rela­ti­ve­ment fréquem­ment :

  1. « Chaque chose en son temps »
    Je n’ai pas les moyens(*) aujourd’­hui mais je pense les avoir demain.
  1. « Je fais un inves­tis­se­ment »
    J’au­rais les moyens de ne pas créer cette situa­tion mais le gain à court terme va entrai­ner des béné­fices qui surpassent le coût à long terme.
  1. « Pas le choix »
    Je sais que j’y perds mais c’est une arbi­trage par rapport à une autre situa­tion qui serait pire.

Je comprends que c’est frus­trant pour les équipes tech­niques, l’im­pres­sion de ne pas faire ce qu’il faut, ainsi que celle de parfois perdre du temps à cause de dettes qu’on a créé dans le passé.

C’est juste parfois quand même (souvent) le bon outil pour l’en­tre­prise, parce que la pureté n’est pas toujours (et même rare­ment) la bonne stra­té­gie.

Plutôt que de combattre les choix de dette tech­nique et l’uti­li­ser comme grand épou­van­tail, deman­dez plutôt à expli­ci­ter le gain court terme, le coût long terme, et pourquoi on choi­sit de prendre cette dette. On arri­vera peut-être parfois à la conclu­sion que c’est une erreur. Le reste du temps ça vous permet­tra de comprendre la stra­té­gie et de vous y inscrire.

Atten­tion toute­fois : Faites de la dette, pas de la merde. Les deux sont très diffé­rent.


Tout ça est parti­cu­liè­re­ment vrai en star­tup.

La dette c’est le modèle de base de la star­tup. On emprunte (via les levées de fonds) pour des gains futurs. La struc­ture elle-même est une énorme dette. Prétendre, à l’in­té­rieur, éviter toute dette, ça n’a pas de sens.

C’est parti­cu­liè­re­ment vrai les premières années. On vit à crédit sur un poten­tiel. Il faut prou­ver les promesses pour toucher le crédit suivant, et ça jusqu’à avoir l’échelle suffi­sante pour ne plus en avoir besoin.

Les premières années il faut trou­ver explo­rer la problé­ma­tique, trou­ver le bon produit avec la bonne cible utili­sa­teur, puis prou­ver qu’il y a une oppor­tu­nité de crois­sance et de béné­fice en adéqua­tion avec la mise de départ.

C’est une course de vitesse avant la fin des crédits. Tout ce qui est « pour plus tard » est hors sujet. Si on peut créer de la dette pour plus tard de façon à avoir un meilleur produit, à toucher sa cible utili­sa­teur, ou à enclen­cher la montée de chiffre d’af­faire, on crée cette dette.

Dans une de mes expé­riences on m’a dit « J’ai vu plein de jeunes star­tup échouer parce qu’elles ont pris trop de temps, je n’en ai vu aucune échouer à cause de la dette tech­nique ».

En bon ingé­nieur ce n’est pas un discours qui me fait plai­sir intel­lec­tuel­le­ment mais je n’ai jamais pu le démen­tir. La dette est juste le bon outil à ce moment là, et la dette tech­nique n’est un problème qu’in­tel­lec­tuel­le­ment.

La dette c’est un problème de riche. Ça arrive après, quand on a trouvé le bon produit, qu’on a trouvé sa cible, qu’on a prouvé qu’on était capable d’ac­qué­rir des clients. Là on aura aussi le finan­ce­ment qui va avec pour embau­cher des ingé­nieurs qui vont refaire ce qui doit l’être, et élimi­ner une bonne partie des travaux qu’on avait remis à plus tard.

L’enjeu c’est d’ar­ri­ver jusque là.


Je fais une note addi­tion­nelle suite à une discus­sion. Je renforce le « Faites de la dette, pas de la merde ». C’est vrai autant au niveau tech­nique qu’au niveau orga­ni­sa­tion­nel.

  • Ne mettez pas à risque les données de vos utili­sa­teurs
  • Four­nis­sez le service et la qualité que vous promet­tez à vos utili­sa­teurs
  • Ne faites pas payer la dette par les membres de vos équipes

Ce dernier point est majeur. La dette n’a pas a être trans­for­mée en pres­sion ou charge supplé­men­taire pour les sala­riés en espé­rant avoir les gains sans en payer les coûts. C’est le meilleur moyen d’ar­ri­ver à l’épui­se­ment, la dépres­sion, le burn-out, et au mieux un turn-over impor­tant. Dans tous les cas, ça ne fonc­tion­nera pas et n’aura que des effets néga­tifs à la fois sur la santé des sala­riés et sur le fonc­tion­ne­ment de l’en­tre­prise.

S’en­det­ter peut impliquer d’al­ler ensuite moins vite, de produire moins, et de réduire le péri­mètre ou les exigences. Faites avec : ça fait partie du choix.

Plus loin : Les équipes ressen­ti­ront cette pres­sion et cette charge même si on ne leur donne pas. La volonté de bien faire et l’im­pres­sion de ne pas faire ce qu’il faut sont une charge psycho­lo­gique signi­fi­ca­tive à laquelle le mana­ge­ment doit être extrê­me­ment atten­tif.

Le seul outil que j’ai vu fonc­tion­ner contre ça c’est expli­ci­ter la dette, la choi­sir ensemble en expliquant pourquoi, comment, et le plan ensuite. Quand la stra­té­gie est parta­gée ça devient un choix collec­tif et plus une mauvaise exécu­tion.


Publié

dans

,

par

Étiquettes :

Commentaires

3 réponses à “La dette tech­nique”

  1. Avatar de

    @n.survol.fr Dans le même ordre d'idée : quand un porteur de projet commence par présenter l'architecture de son futur produit, je sais qu'on est mal parti et qu'il va falloir remettre l'utilisateur au centre, chercher la valeur et comment la maximiser.

  2. Avatar de Eve La Fée

    @n.survol.fr Sur le principe je suis d'accord, le mieux est l'ennemi du bien etc.Le souci, c'est que l'équipe technique est souvent la seule à payer les intérêts de la dette ensuite. Le fait que le code est de plus en plus difficile à maintenir et à faire évoluer peut être complètement ignoré par les décideurs. Ça se paie en stress pour les dev, tous les jours, et quand on remonte le problème on passe pour des aigris."L'esprit start-up" c'est aussi un espèce de positivisme forcé.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *