Considérons une application qui a 5 ans d’existence. Elle forme dans l’entreprise un petit foyer d’activité autour duquel gravitent des acteurs Métier, Technique et Management occupés à traduire ensemble des idées vers la technologie, à négocier des fonctionnalités et à maintenir l’existant.

Après 5 ans le constat est doux-amer :

Ça marche : l’application crée de la valeur, et le travail a du sens.

Cependant

  • La valeur produite diminue. L’activité une fois “rationalisée” dans un modèle de type software factory subit la loi des rendements décroissants : il y a une limite à ce que l’ajout de “ressources” peut contribuer à réaliser.

  • Le système est “endetté techniquement” : l’état de l’art qui guidait sa conception a perdu en cohérence et s’est dégradé au gré des changements d’objectifs ou de contraintes.

  • L’équipe mise en place il y a cinq ans n’existe plus, non parce que ses premiers membres sont partis, mais parce qu’elle s’est métamorphosée progressivement en un groupe dont le focus est perdu et au sein duquel les conversations, ingrédient essentiel de la conception d’application, se sont raréfiées et codifiées.

  • Retenir et remplacer les acteurs Techniques devient plus difficile.

  • L’application évolue lentement mais sûrement vers l’état de legacy. Un legacy c’est un système que l’on maintient en vie, en dépit du fait que les conversations de conception nécessaires à la vie de ce système n’ont plus lieu.

Paradoxe : toute application, dans les conditions de maintenance et d’évolution courantes à l’heure actuelle, devient à plus ou moins long terme du legacy. Or les acteurs techniques, s’intéressent majoritairement non au legacy, mais à l’innovation.

Le marché de l’emploi et des services en développement de logiciel est un immense jeu de chaises musicales dans lequel les “nouvelles technologies” font office de chaise.

L’activité idéale de l’acteur Technique, c’est apprendre, transmettre, et “faire école”. Comme le touitte Martin Fowler,

N’importe quel idiot peut écrire du code que l’ordinateur comprend. Les bons programmeurs écrivent du code que les humains peuvent comprendre.

Si l’on considère le marché de l’emploi et des services, les bons programmeurs sont plutôt ceux qui travaillent avec des technologies nouvelles : le salaire annuel moyen d’un développeur expérimenté en IA est de €67K, contre €50K en COBOL.

Considérée dans son ensemble, toute notre activité présente une dynamique en forme de tragédie industrielle :

  • elle se nourrit de nouvelles technologies et d’innovation
  • elle produit à grande échelle du code legacy

Mais contrairement à la tragédie, il n’y a ici aucune fatalité. Il n’y a aucune raison fondamentale pour qu’il en soit ainsi de toute application, dans toutes les entreprises. Et contrairement à la croyance en cours, cet état des choses ne dépend nullement de la technique seule.

Stayed Tuned !

publié sur Linked In le 05/02/2023