Presque toutes les organisations établies s'appuient sur au moins un système vieillissant : une application développée il y a vingt ans, un progiciel qui n'est plus soutenu, une base de données que seuls deux employés comprennent encore. Ces systèmes fonctionnent, mais ils freinent l'innovation, coûtent de plus en plus cher à maintenir et représentent un risque de sécurité croissant.
Pourquoi le « grand remplacement » échoue souvent
La tentation est grande de tout réécrire et de basculer vers le nouveau système à une date donnée. Cette approche concentre pourtant tous les risques sur un seul moment : règles d'affaires oubliées, données mal migrées, utilisateurs mal préparés. Les projets de ce type dépassent fréquemment leurs budgets et leurs échéanciers.
L'approche progressive : remplacer pièce par pièce
Le patron dit « de l'étrangleur », popularisé par Martin Fowler, propose une alternative. On place une couche d'accès devant l'ancien système, puis on remplace ses fonctions une à une par de nouveaux services. À chaque étape, le trafic correspondant est redirigé vers le nouveau composant. L'ancien système rétrécit progressivement jusqu'à pouvoir être retiré.
Les étapes clés
- Cartographier les fonctions, les données et les intégrations du système existant
- Documenter les règles d'affaires, souvent enfouies dans le code
- Mettre en place une couche d'API qui découple les utilisateurs du système existant
- Prioriser les modules à moderniser selon leur valeur et leur risque
- Migrer module par module, avec des tests de non-régression automatisés
- Retirer l'ancien système une fois toutes les fonctions remplacées
La migration des données, un projet en soi
Les données d'un système hérité contiennent des incohérences accumulées au fil des années. Prévoyez du temps pour le profilage, le nettoyage et la validation. Des répétitions de migration, effectuées plusieurs fois avant la bascule réelle, permettent de détecter les problèmes et de mesurer précisément la durée de l'opération.
À retenir
Chaque étape de la modernisation doit livrer une valeur visible pour les utilisateurs. C'est ce qui maintient l'appui de la direction tout au long d'un projet qui peut s'étendre sur plusieurs années.
Ne pas oublier les personnes
Les utilisateurs d'un système hérité ont développé des habitudes et des contournements qui font partie intégrante de leur travail. Les impliquer dès la conception permet de découvrir des besoins non documentés et favorise l'adoption. Les experts de l'ancien système sont également précieux : leur savoir doit être capté avant leur départ.
Moderniser progressivement demande de la discipline, mais réduit considérablement le risque. C'est l'approche que nous privilégions pour les systèmes critiques de nos clients, en particulier dans le secteur public, où l'interruption de service n'est pas une option.