Logo de Hexium

Dette technique : définition et impacts

La dette technique est souvent le résultat d'un projet web ou mobile mal conçu en amont de son développement.

4 minutes

Si vous dirigez un projet digital ou que vous travaillez dans le développement, vous avez sûrement déjà entendu parler de "dette technique" (ou "technical debt" en anglais) pour évoquer la pérennité et l'évolution des développements (et donc du code) dans le temps.

Qu'est-ce que la dette technique ?

Lorsque l’on démarre le développement d'un projet web ou mobile, on définit normalement en amont une multitude d'éléments : les technologies utilisées, les différentes fonctionnalités avec leurs enjeux techniques, l'architecture du projet, les bonnes pratiques à respecter dans le code, les différents tests à réaliser, etc ...

Cette méthodologie, couplée à une gestion de projet agile, permet d'anticiper les différents imprévus pouvant se présenter lors du développement d'une application web ou mobile.

Seulement la réalité est parfois très différente. Trop souvent des projets débutent leur développement sans réelle phase de conception en amont avec des contraintes budgétaires qui nécessitent de faire l'impasse sur plusieurs points techniques (comme les tests unitaires).

Le code source d'un site internet ou d'une application peut présenter des défauts qui incombent aux différents intervenants techniques sur le projet. Pour gagner du temps sur le développement, trop souvent on écarte certaines bonnes pratiques techniques.

Il arrive également que ces défauts dans le code source ne soient pas intentionnels et résultent d'une mauvaise compréhension entre les équipes techniques et le client ou encore du choix d'une librairie obsolète.

Tous les éléments cités ci-dessus ont un impact sur la qualité du code et rendent difficile les maintenances correctives et évolutives du programme.

La dette technique impacte les équipes de développeurs, la qualité et la durée des développements. Mais aussi et surtout augmente les coûts de développement.

Pourquoi rembourser la dette technique ?

La dette technique est souvent comparée à une dette "classique". Prenons l'exemple d'un crédit bancaire pour acheter une voiture. Si vous ne respectez pas les mensualités prévues et que ne remboursez pas les échéances dans les temps, la période de remboursement s'allonge et les intérêts du prêt augmentent. Vous accumulez de la dette qu'il faudra obligatoirement rembourser à un moment ou un autre.

Pour la dette technique c'est pareil ! Plus vous cumulez les mauvaises pratiques, plus le code sera de mauvaise qualité et difficile à maintenir. Et plus la dette technique sera compliquée à rembourser.

Une dette technique que l’on tarde à rembourser aura un impact direct sur le coût de la maintenance et le développement de nouvelles fonctionnalités.

Comment réduire la dette technique ?

Inhérente à tout projet digital, la dette technique doit être maîtrisée autant que faire se peut.

  • Choisissez une solution technique qui réponde à vos besoins et aux spécifications de votre projet.

  • Limitez le nombre de technologies utilisées sur votre projet. Privilégiez toujours des technologies qui ont fait leurs preuves et qui sont régulièrement maintenues et mises à jours.

  • Mettez en place des tests unitaires. Ceux-ci vous permettront d'assurer le comportement de chacune des fonctionnalités qui composent votre application et qu'il n'y a pas de régression lors d'une nouvelle livraison.

  • Établissez les bonnes pratiques à respecter dans le code et partagez-les à vos équipes. Le code n'en sera que plus lisible et maintenable.

  • Rédigez de la documentation technique. Cela facilitera le changement de prestataire ou l'arrivée d'un nouveau développeur dans votre équipe.

  • Mettez en place des sessions de code review au fur et à mesure du développement de nouvelles fonctionnalités. Vous êtes ainsi assurés que les bonnes pratiques établies en amont sont respectées.

Comment rembourser la dette technique ?

Il faut avant tout chose réaliser un état des lieux complet de votre application. Pour cela, si vous ne disposez pas des ressources techniques en interne vous pouvez faire appel à un prestataire spécialisé dans le développement. C'est notamment le cas de notre agence web qui propose des prestations d'audit et de conseil.

Le remboursement de la dette technique se fait le plus souvent en phases itératives (aussi appelées "sprints"). Les développeurs vont corriger un à un les bugs et régressions qui composent votre dette technique.

Dans les cas extrêmes, le remboursement de la dette technique peut aussi passer par une réécriture complète du code de l'application. En effet, si celle-ci a été mal conçue dès sa genèse, il est parfois plus simple et surtout moins coûteux de repartir de zéro en conservant bien entendues les données de votre application.