Rompre la malédiction

Chères DSI, 

J’avais prévu de vous parler des moyens de maintenir le legacy code, vous savez, cet héritage gênant dont la criticité implique une surveillance sans fin et dont la maintenance de plus en plus coûteuse est déléguée à grand frais.

Je pensais à évoquer l’usage des agents IA suivant le paradigme RCT (Rôle Contexte Tâches) qui sécurise toute la chaîne. Le travail préparatoire est indispensable pour cadrer le domaine. Il faut du temps et une bonne compréhension du domaine. 

Au final rien d’insurmontable pour une équipe motivée, en place depuis des années à laquelle on autorise l’usage de nouvelles technologies dont les preuves ne sont plus à faire. Mais même dans ces conditions, on ne fait que remplir le tonneau des Danaïdes. 

La réalité du legacy code est tout autre. S’il était à la pointe il y a 20 ans, par un renoncement aux maintenances les plus basiques, il est aujourd’hui un poids mort. Sa maintenance oblige à des astuces d’architecture technique. 

Et revenons en arrière, à l’époque, les experts du domaine avaient au mieux quelques années de recul et la plupart des développeurs bien moins. Ouvrez ce fameux code et vous découvrirez les erreurs classiques de conception et les 10 plaies syntaxiques communes. 

Je vous renvoie à d’anciens articles pour comprendre ces horreurs. Car oui, si personne ne veut y retourner, c’est qu’en dépit de son usage quotidien, le legacy est une véritable horreur écrite par des amateurs qui se prennent pour des génies. 

En réalité, il ressemble souvent à des copier/coller de scripts appris en formation et adaptés au domaine client. Le découpage des composants métiers était cohérent mais limité et n’a jamais anticipé l’évolution des besoins des utilisateurs. 

Ces mêmes premiers développeurs sont devenus responsables dans l’entreprise. Et nul n’a le droit de critiquer leur œuvre qui est désormais indispensable au cœur du SI et qu’ils défendront sans en subir les contraintes. Le piège abscons s’est refermé. 

Une seule solution existe : la réécriture. Ce tabou dont ne veulent pas entendre parler les décideurs est pourtant l’unique sélection. Et pour cause, il remet en cause des choix devenus obsolètes et implique un risque d’échec. 

Alors comment se convaincre de ce réflexe salutaire ? Comment faire prendre conscience que le monde informatique a changé ? Que rester dans les méthodes du passé est une erreur ? Que le code hérité est loin d’être le chef d’œuvre vendu ?

Chères DSI, il est temps d’investir dans l’avenir. Montez une équipe réduite qui appliquera les nouveaux outils sur des prototypes. Le métier géré par le legacy code peut très bien l’être par des technologies modernes et reconnues par les leaders du secteur.

S’il y a 20 ans le java et les serveurs applicatifs étaient à la mode, si l’écriture des cas de tests étaient une activité chronophage, les outils d’automatisation s’appelaient ANT ou MAVEN et le XML étaient la base des fichiers de configuration, les temps ont changé. 

Le PHP est le principal moteur des sites internet. Le javascript et ses nombreux frameworks simplifient les développements en apportant des solutions simples à des problématiques métiers complexes. HTML, CSS et JS est le trio vainqueur de tout cadre technique, …

Et un prototype performant et facile à généraliser grâce au levier de l’IA et porté par une équipe motivée vous permettra de sortir de ce piège qui coûte toujours plus cher. Alors quand comptez-vous avancer ? 

Partager l'article !!

J’ai de la chance !!!