Dette technique

Soyez conscient de votre dette technique

7 mai 2021

Application modernization

Emprunter de l’argent coûte aussi de l’argent

La dette technique, ou technical debt, est une manière de faire référence à une problématique qui n'a pas encore été résolue et que vous reportez comme « un souci pour plus tard » en raison des circonstances. Vous fournissez quelque chose, par exemple parce qu'une situation ad hoc ou une échéance l'exige, mais vous constituez en même temps une dette vis-à-vis de questions qui doivent encore être abordées. Dans le développement de logiciels, la dette technique représente le prix que vous payez pour les efforts supplémentaires que vous devrez consentir à l’avenir parce que vous n’optez pas (ou ne pouvez pas opter), consciemment ou non, pour la meilleure solution. Parfois, vous devez choisir la solution la plus acceptable à ce moment-là. Il s’agit en fait d’une forme d'arriérés de maintenance IT que vous avez encourus en prenant des raccourcis. La rectification de la situation générera donc à l’avenir des frais supplémentaires. 

La dette technique, c'est un peu comme souscrire un emprunt financier auprès d’une banque. Vous contractez une dette pour réaliser un projet à (plus) court terme et atteindre plus rapidement votre objectif. En soi, il n'y a rien de mal à cela, mais plus vous attendez avant de rembourser, plus vous accumulez de dettes et plus le taux d’intérêt que vous devez payer sera élevé. En d’autres termes, emprunter de l’argent coûte de l’argent ; il en va de même pour la dette technique. Certains comparent parfois la dette technique à Tetris, le jeu de blocs, mais sous la forme de logiciels. Plus vite les blocs commencent à tomber, plus le risque de trous – c’est-à-dire de dette technique – dans la construction est élevé, éventuellement jusqu’au moment où la situation devient intenable.

Les applications héritées sont un exemple typique – bien que la dette technique soit également accumulée dans les développements lean et agile, mais nous vous en dirons plus à ce sujet dans un prochain billet. Les organisations attendent souvent trop longtemps avant de renouveler les systèmes plus anciens, si bien que le seuil pour les retravailler ou les moderniser est devenu tellement important qu’elles n’osent souvent plus s'y mettre. Les raisons sont diverses et souvent liées : un enchevêtrement de codes dépassés ou peu lisibles, le fameux 'code spaghetti' auquel plus personne n’ose toucher, des bases de données ou des éléments obsolètes, une mauvaise extensibilité, un manque de documentation ou l'absence du talent adéquat...

Legacy

Innover en mettant les freins

Pourtant, le principe est sain : plus vite vous abordez et résolvez les problèmes, plus la complexité et le coût sont faibles. Une correction de bogue au début d'un trajet coûte par exemple 10 % d'une correction de bogue à la fin du trajet. Ou, inversement, plus longtemps vous continuez à reporter certains problèmes, plus leur complexité augmente (facteur exponentiel 2.1) et plus leur coût est élevé. Peut-être arriverez-vous même à un point d'insolubilité, comme dans Tetris. De cette manière, la dette technique freine les progrès, et c’est une chose qu’il faut à tout moment essayer d’éviter. Surtout à une époque où la digitalisation et la modernisation sont une condition de survie.

Une entreprise qui consacre plus de la moitié de son budget IT à des intégrations et à la « réparation » de systèmes hérités tombera probablement, en raison de cette héritage IT du passé, dans une spirale de dettes techniques dans laquelle elle ne paie que des intérêts. Là où une entreprise qui opère sur une pile IT moderne et a peu de dettes techniques peut concentrer presque tous ses investissements technologiques sur des solutions orientées vers l’avenir et l’innovation stratégique, et ainsi créer de la valeur ajoutée pour l’ensemble de l’organisation. La plupart des entreprises se situent entre ces deux extrêmes. L’objectif est de concilier à court et à long terme - running the business et changing the business – dans un Flow Digital positif.

Attention à l’éléphant dans la pièce

Il faut le dire, la dette technique n’est pas nécessairement une mauvaise chose. Vous ne pouvez d’ailleurs jamais exclure ou éviter totalement la dette technique. Les projets doivent pouvoir progresser et vous devez respecter certaines échéances ou limitations temporaires, ce qui vous oblige à changer de mode de fonctionnement et parfois à prendre cette voie plus rapide

Il est toutefois important, pour chaque choix dans le processus de développement, que vous soyez conscient de la dette technique que vous constituez et que vous envisagiez d'en tirer profit. Ainsi, le niveau de la dette technique reste acceptable et la solution à court terme ou raccourci peut être converti dans un délai raisonnable en une solution structurelle. La dette technique ne peut pas devenir une tache aveugle ou l’éléphant dans la pièce que personne ne veut voir.

Pourtant, il y a encore souvent un décalage entre conscience et dynamisme effectif. Une étude de McKinsey1 montre en effet que les CIO sont bien conscients de l’existence d’une dette technique au sein de leur organisation et que celle-ci est en augmentation. Dans la pratique, ils y consacrent en fait peu ou pas de budget pour y remédier effectivement. Ils font ainsi peser sur l’organisation un héritage technologique qui peut parfois être très important pour être éliminé. L’étude montre également que si un budget est tout de même dépensé en dette technique, il sera plutôt consacré à de nouveaux projets afin de ne pas laisser s'accumuler la dette technique et moins à des applications héritées plus anciennes.

D’où provient la dette technique ?

L’apparition de la dette technique peut se situer à différents niveaux : stratégie, architecture, talent et processus. Un moteur au niveau stratégique peut par exemple être que la stratégie commerciale d’une entreprise n’est pas claire, de sorte que le département IT ne sait pas non plus très bien comment y faire face ou anticiper. L’IT et la stratégie ne sont peut-être pas suffisamment alignés, de sorte que l’accent est mis sur les mauvaises initiatives IT. Ou il y a un décalage entre financement et stratégie, en ce sens que l’on souhaite agir, mais qu’il n'y a pas d’argent en contrepartie. Les acquisitions et reprises stratégiques peuvent également accroître la complexité du paysage IT et des processus, avec tous les risques de dette technique que cela implique.

Sur le front architectural, il y a également des paramètres qui jouent un rôle et qui peuvent générer une dette technique. 70 % des systèmes IT fonctionneraient encore sur des technologies obsolètes. En d’autres termes, il y a encore pas mal de systèmes hérités dans le paysage applicatif d’une organisation moyenne qui continuent, quoi qu’il en soit, à générer des coûts pour le business. Un lourd travail sur mesure et des blocs monolithiques de code peuvent également favoriser la dette technique, tout comme des modèles et une qualité de données médiocres ou la non-utilisation de normes et d’API.

En outre, les logiciels sont toujours principalement fabriqués par des hommes et des femmes. Le manque de connaissances, de savoir-faire, voire de motivation peut également être à l’origine d’une dette technique. Les équipes qui n'interagissent pas ou pas suffisamment, de sorte qu’une équipe crée une dette technique pour l’autre.

Enfin, vous avez également les processus internes qui peuvent être à l’origine de la dette technique. Mauvaise priorisation des évolutions nécessaires, mauvais processus de développement et de maintenance qui altèrent la qualité du code. Par exemple, il y a peu d’automatisation, de sorte qu’il faut réaliser un grand nombre de tests manuellement, ce qui augmente le risque d’erreurs. Des opérations IT instables, une mauvaise récupération après sinistre, un manque de monitoring et une documentation conflictuelle ou manquante peuvent également forcer les équipes IT à travailler à l’aveugle et génèrent ainsi une dette technique.

Rembourser

Comment pouvez-vous rembourser votre dette technique ?

La meilleure manière de rembourser la dette technique est de ne pas en créer, mais, comme nous l’avons dit, il s’agit d’une mission quasi impossible. Rester sur une dette technique n’est pas non plus une option, précisément parce qu'elle freine le progrès et l’innovation.

Dans la pratique, la modernisation est principalement une manière de s’attaquer aux applications et processus hérités et ainsi d’éliminer la dette technique. Comme nous l’avons vu dans le billet précédent, les étoiles sont d’ailleurs favorables à la modernisation des applications, en ce sens que des technologies comme le cloud, le big data et l’IoT permettent d’aborder la modernisation de manière plus efficace et plus facile et d’aider votre entreprise à avancer plus rapidement, de sorte que les obstacles apparents ne contrebalancent pas les avantages qu’elle offre.

Mais pour revenir sur l’écart susmentionné, les organisations doivent d’abord être conscientes de la dette technique, du fait qu’elles doivent de préférence la surveiller en permanence et tenter de la résorber dans un délai raisonnable. Ce n’est qu’alors qu’elles pourront moderniser efficacement et maîtriser le coût de la modernisation. L’inventaire de la dette technique est important pour l’élaboration d’une stratégie de modernisation et le degré d’automatisation dans celle-ci.

Vous ne savez pas par où commencer pour rembourser votre dette ? Notre équipe multidisciplinaire de consultants en applications élabore avec vous le bon plan d’approche. Nous pouvons déployer notre expertise et notre consultance à différents niveaux, comme l’amélioration de l’approche stratégique et de la planification architecturale, l’optimisation des compétences et la priorisation des processus, y compris la gestion du changement, la formation et le coaching.

(1) McKinsey Survey of tech debt among 50 CIO’s, July 2020.

Ne vous contentez pas de parcourir votre trajet de modernisation

Nous sommes à votre disposition pour transformer et optimiser vos applications et charges de travail IT à l'épreuve du temps.  

Découvrez tous les blogs
En savoir plus

Inscrivez-vous et recevez nos blogs dans votre boîte mail