Qu’est-ce qu’une dette technique ?
En développement web, une dette technique correspond à l’ensemble des éléments qui ont été négligés ou remis à plus tard lors d’un projet. Ces erreurs peuvent être intentionnelles ou non en fonction du choix des outils par exemple ou encore des choix de développement.
Avant de commencer un projet digital, que ce soit pour développer une application mobile, une application web ou un site web, il faut faire un inventaire de tout ce que l’on souhaite intégrer. Le but est alors de décrire ses besoins et les bonnes pratiques à adopter pour atteindre les objectifs du projet.
Malheureusement, en cours de route, il est possible que vous rencontriez certaines barrières vous empêchant de rester sur vos choix de conception ou de développement initiaux. C’est de là que découle la dette technique.
Quelles sont les causes de la dette technique ?
Lorsque l’on parle de dette technique, on peut retrouver quatre causes bien distinctes. On parle alors de quadrant de la dette technique découpé en plusieurs axes :
- Volontaire
- Involontaire
- Prudente
- Imprudente
Nous allons vous présenter les différents contextes de la dette technique. Elle peut être :
- Prudente et involontaire : cela concerne le fait d’avoir eu une idée permettant d’assurer un travail de qualité mais qu’au cours du projet, vous trouvez une autre solution. Cette solution peut apporter de meilleurs résultats à votre projet.
- Prudente et volontaire : on peut prendre l’exemple d’une livraison rapide. En effet, dans le cas où une application ou un site n’a pas de véritables enjeux pour les utilisateurs, il peut être préférable de mettre de côté certains éléments. La phase de conception peut alors être écourtée ainsi que certaines étapes de la phase de développement. Tout ça dans le but de livrer au plus vite le projet et procéder à son lancement.
- Imprudente et involontaire : définit le fait de vouloir faire un bon travail, en utilisant des outils et des technologies avancées mais sans les maîtriser. Les équipes techniques n’ont pas les compétences nécessaires pour effectuer un tel projet. Cependant, elles essaient de donner le meilleur d’elle-même pour satisfaire le client. C’est pour cela qu’on parle de dette imprudente et involontaire.
- Imprudente et volontaire : il y a ici une vraie négligence. Les équipes techniques savent ce qu’il faut faire et quel choix faire mais ils décident de privilégier la rapidité au dépit de la qualité.
On peut alors résumer qu’il existe deux types de dettes techniques : les dettes volontaires et involontaires. Les dettes volontaires surviennent lorsque les équipes techniques décident de privilégier le présent au détriment des problèmes pouvant survenir dans le futur. D’autre part, les dettes involontaires proviennent d’erreurs comme un manque de compétences, de compréhension ou encore un mauvais codage.
Quels problèmes sont associés à la dette technique ?
Comme vous l’avez vu précédemment, il existe plusieurs types de dettes techniques. De ce fait, il y a différents facteurs pouvant entraîner une dette. Nous allons vous en présenter quelques-uns :
- Manque de compétences techniques auprès des développeurs ou des équipes de conception. En effet, si ce sont de jeunes développeurs, n’ayant aucune expérience, et qu’on leur propose un projet d’application mobile assez complexe, cela peut devenir compliqué. Par exemple, il est possible qu’ils ne sachent pas maîtriser certains langages de programmation ou encore des frameworks. Il va donc y avoir des erreurs de codage qui auraient pu être évitées avec une équipe compétente.
- Prioriser les fonctionnalités. Il arrive parfois que les développeurs doivent ajouter beaucoup de fonctionnalités, ce qui vient entraîner des problèmes au niveau du codage si ce n’est pas fait correctement. Une autre des conséquences est une accumulation de codes mal organisés et mal gérés.
- Délais restreints. Certains porteurs de projet définissent un délai assez strict. Cependant, ce délai peut ne pas être compatible avec le type de projet, le nombre de fonctionnalités, les outils à utiliser pour le développement, etc. Pour respecter ce délai, les équipes techniques ont alors tendance à négliger certaines phases.
- Évolution des spécifications fonctionnelles : si les spécifications changent régulièrement, il faudra apporter des modifications au projet en cours de route ou le faire évoluer. Encore une fois, des erreurs de codage peuvent apparaître à force de modifier le code.
- Négligence des tests. Les phases de recettage sont très importantes dans le développement d’un projet web. Il est donc primordial de bien effectuer les tests de chaque fonctionnalité, de chaque sprint et les tests de fin de projet. Pour vous aider, il est également possible d’automatiser ces tests pour détecter rapidement les bugs et régressions.
Comment éviter la dette technique ?
Afin de proposer un produit conforme aux attentes du client tout en évitant une dette technique trop élevée, il y différents éléments à mettre en place et à respecter :
- Avoir des équipes qualifiées. Vous pouvez également assurer une formation continue de vos développeurs pour qu’ils soient au point sur les nouveaux logiciels et les nouvelles technologies.
- Suivre la gestion de projet. En suivant étape par étape l’évolution du projet, vous savez exactement où vous en êtes et vous pouvez vérifier ce qui a déjà été fait.
- Planifier le projet. Il est très important de bien rédiger votre cahier des charges, sans oublier les spécifications fonctionnelles pour connaître exactement les besoins et objectifs du projet. Pensez également à bien réfléchir au délai de développement pour ne pas manquer de temps lors de la réalisation de ce dernier.
Et voilà, vous êtes maintenant capable de concevoir un projet de qualité tout en réduisant la dette technique, voire en l’évitant ! À vous de jouer !