Dette technique : comment la maîtriser ?

11–17 minutes

de lecture

Publié le

Sommaire

À l’instar de la dette au niveau d’une nation ou d’une organisation, la réduction de la dette technique est une préoccupation majeure pour de nombreux DSI, en particulier pour ceux qui prennent leur fonction et arrivent aux commandes d’un système d’information hérité. Quels sont les tenants et aboutissants de cette notion ? Comment en mesurer les impacts et la piloter dans la durée ? Éléments de réponse.

Qu’est-ce que la dette technique ?

  • des lignes de code développées rapidement, de façon temporaire, mais jamais réécrites ;
  • un composant devenu obsolète, non supporté, porteur de failles de sécurité ;
  • une montée de version non exécutée, rendant caduque tout un pan du système ;
  • une architecture progressivement dégradée par des compromis successifs.

Pourquoi dette technique et legacy sont souvent confondus ?

« J’ai souvent observé que les systèmes legacy créent une forme de dépendance vis-à-vis d’experts qui maîtrisent au fil du temps des technologies obsolètes et peu ou plus documentées. Cette situation dessert l’intérêt collectif et freine l’évolution du système d’informatique dans son ensemble .»
Claude Carvalho, Directeur des Systèmes d’Information et de la Transformation de Galian-SMABTP.

  • Un coût financier direct, en maintenance corrective et évolutive, mesurable notamment dans les budgets de Tierce Maintenance Applicative (TMA) ;
  • Un coût opérationnel, lié aux interruptions de service, aux bugs récurrents, aux dégradations de performance qui peuvent freiner, pénaliser, voire stopper le bon fonctionnement d’un service ;
  • Un coût en image pour la DSI, auprès de l’ensemble des parties prenantes de l’entreprise : utilisateurs, directions métiers, direction générale ;
  • Un coût humain, enfin, sur le moral et l’engagement des équipes, en particulier lorsqu’il s’agit de maintenir à flot des systèmes obsolètes. Le sentiment de « poser des rustines sur un navire qui prend l’eau » peut s’avérer délétère pour la dynamique collective.

Est-ce que parler de bonne et de mauvaise dette technique est un faux débat ?

La dette technique involontaire

  • compromis répétés sur la qualité du code ;
  • absence de revues de code (peer review) ;
  • documentation insuffisante ;
  • manque de tests de non-régression ;
  • négligence de l’architecture et de la vision d’ensemble ;
  • choix technologiques inadaptés ou obsolescence laissée s’installer.

La dette technique intentionnelle

  • après la mise en production, laisser les projets ouverts quelques semaines supplémentaires pour finaliser proprement, documenter et consolider ;
  • insuffler une véritable culture de la qualité et donner aux architectes la latitude nécessaire pour structurer durablement le SI ;
  • intégrer, dans les portefeuilles de projets, des initiatives explicitement dédiées à l’optimisation du SI interne, en y allouant une bande passante identifiée.
  • Analyse automatisée du code et des systèmes : certains outils exploitent le machine learning pour identifier des zones à risque dans le code, des fonctionnalités redondantes ou des dépendances technologiques critiques. Ces analyses permettent de détecter rapidement les problèmes avant qu’ils ne deviennent coûteux, et d’orienter les équipes sur les actions prioritaires.
  • Priorisation intelligente des projets et des sprints : combinée à des critères de scoring projet, l’IA peut aider à estimer l’impact de chaque projet sur la dette technique et la performance globale du SI, facilitant l’allocation des ressources et le choix des tests et interventions à rembourser en priorité.
  • Automatisation de la maintenance et des tests : l’IA permet de générer des scripts automatisés pour corriger le code, limiter les bugs dans les logiciels existants et améliorer l’intégration des fonctionnalités. Les équipes peuvent ainsi se concentrer sur le développement de nouvelles fonctionnalités et sur l’amélioration de la qualité globale du SI.
  • Suivi prédictif des données et des systèmes : grâce à l’analyse des données historiques et des indicateurs de performance, l’IA peut anticiper les zones du SI susceptibles de générer de la dette, permettant de planifier des interventions proactives dans le processus de développement et de maintenance.
  • L’IA peut accélérer le développement de solutions complexes ou peu documentées, créant de nouvelles couches de dette si les pratiques, tests, documentation et intégration ne suivent pas.
  • Une confiance excessive dans les outils automatisés peut masquer des problèmes structurels du SI, donnant une impression de maîtrise alors que le code, les logiciels ou l’infrastructure continuent de se dégrader.
  • Les ressources et équipes peuvent être détournées vers le suivi de l’IA ou la correction de ses recommandations, au lieu de traiter les causes profondes de la dette.
  • Intégrer l’IA dans un processus rigoureux : chaque recommandation ou action automatisée doit être validée par les architectes ou les développeurs expérimentés.
  • Prioriser les interventions à valeur ajoutée : l’IA doit être un outil de diagnostic et de scoring projet, pas un générateur automatique de fonctionnalités ou de code non contrôlé.
  • Assurer un suivi qualitatif et quantitatif : chaque projet doit être évalué pour mesurer son impact sur la dette technique, même lorsqu’il intègre des recommandations ou des scripts automatisés issus de l’IA.

Comment piloter sa dette technique à bon escient ?

1. Faire de la dette technique l’affaire de tous

  • Elle ne se limite pas aux logiciels et applications : l’infrastructure, les données, l’urbanisation et les interfaces entre logiciels sont également concernés.
  • Elle ne relève pas exclusivement du run : c’est dans le développement que l’on décide de créer — ou non — de la dette. Les décisions prises lors d’un sprint, le choix des fonctionnalités prioritaires ou des compromis sur la qualité du code ont des conséquences à long terme.
  • Elle impacte les budgets, les délais et les ressources disponibles : une dette mal gérée peut immobiliser les équipes au niveau de la maintenance corrective et des tests, au détriment des projets innovants.

2. Le rôle clé du binôme DG / DSI

  • La dette technique est un actif stratégique : on l’a dit plus haut, certaines dettes peuvent être assumées si elles accélèrent la mise sur le marché d’un logiciel ou d’une fonctionnalité critique, mais elles doivent être documentées et intégrées dans la planification des projets futurs.
  • La dette technique permet d’équilibrer vitesse et qualité : le binôme DG / DSI peut décider de privilégier certains projets rapides à livrer tout en planifiant les tests, la maintenance, et la réduction progressive de la dette.

3. Rendre visible la dette technique, notamment dans le budget