La Dette Technique #3 : une traduction incohérente

La dette technique, c'est donc juste une façon de parler. Mais de parler de quoi, au juste ?

No items found.
October 4, 2022

Pour Ward Cunningham, à l'origine, contracter une dette technique, c'est prendre un raccourci sur notre état de l'art et nos standards le temps d'atteindre un objectif intermédiaire. Une tactique à n'utiliser que ponctuellement, sous peine de se sur-endetter.

Pour l'ensemble de l'industrie aujourd'hui - à en croire en tout cas les articles de blog des sites de conseil stratégique - la dette technique est une sorte d'externalité financière globale présente dans toute entreprise qui innove en développant du logiciel. Elle serait principalement causée par :

  • l'entropie, ou le fait que "le code pourrit"
  • le code de mauvaise qualité
  • un leadership technique médiocre

(tant qu'on y est, je pense que l'on pourrait ajouter :

  • le court-termisme en général
  • la vie)

Je pose que les problèmes que nous désignons (ou que nous masquons) à l'aide du terme "dette technique", ne sont en fait, ni purement financiers, ni purement techniques. Pour mieux le voir, je propose de changer de modèle.

La représentation du développement logiciel la plus répandue aujourd'hui est celle d'un SYSTÈME DE FABRICATION. Dans ce modèle, certains acteurs, les "thinkers", ont pour tâche de concevoir, de traiter le "pourquoi", le "quoi" et le "quand". D'autres acteurs, les "doers" ont pour tâche de réaliser, de traiter le "comment".

Dans ce modèle, les thinkers font des propositions "sur le papier", et les doers "mettent les mains dans le cambouis". La dette technique, c'est l'épaisseur du cambouis.

Cette représentation ne fonctionne pas. Les organisations qui y souscrivent fabriquent invariablement (grâce à la fameuse "software factory") du code legacy.

Une autre représentation est possible, qui voit le développement (et la maintenance) de logiciel comme un SYSTÈME DE TRADUCTION.

Trois acteurs :

  • le Métier, dont l'objectif est de réaliser de la valeur,
  • la Technique, dont l'objectif est d'apprendre,
  • le Management, dont l'objectif est de maintenir l'activité dans la durée

... opérent ensemble une traduction d'un système d'idées vers un autre système d'idées.

Il n'y a pas de cambouis ni de papier dans ce processus. Il y a seulement des traductions à de multiples niveaux, dans un sens et dans l'autre, entre le Métier, la Technique, et le Management.

C'est un processus complexe, riche et incomplet, que nos trois acteurs essaient de mettre en œuvre de la manière la plus cohérente possible.

La dette technique est ce qui se produit lorsque des barrières de communication entre ces acteurs empêchent ou diminuent fortement la cohérence de cette traduction.

CodeWorks, un modèle d'ESN qui agit pour plus de justice sociale.

Notre Manifeste est le garant des droits et devoirs de chaque CodeWorker et des engagements que CodeWorks a vis-à-vis de chaque membre.
Il se veut réaliste, implémenté, partagé et inscrit dans une démarche d'amélioration continue.

Rejoins-nous !

Tu veux partager tes connaissances et ton temps avec des pairs empathiques, incarner une vision commune de l'excellence logicielle et participer activement à un modèle d'entreprise alternatif, rejoins-nous.