Réduire la Dette Technique

Réduction des coûts de revue de code

Fiabilisation des développements par une détection précoce des défauts

Plus de réactivité par l’anticipation dans la prise de décisions

Augmentation de la productivité via un pilotage optimisé de la qualité des applications dans les phases de développement comme de maintenance

Les équipes collaborent mieux et adoptent les bonnes pratiques en partageant un référentiel commun

“ Every minute spent on not-quite-right code counts as interest on that debt » Ward Cunningham

Pour débuter un projet de pilotage de la qualité des développements, il existe un indicateur pertinent, simple à mettre en place et directement opérationnel : la Dette Technique.
La Dette Technique est une métaphore initialement exprimée par Ward Cunningham en 1990. Il s’agit d’un emprunt, volontaire ou non, des parties prenantes d’un produit logiciel. Cette Dette Technique peut être accumulée sciemment (du fait des concessions faites pour tenir les objectifs du sprint) ou inconsciemment (par manque de connaissance des bonnes pratiques d’architecture ou de codage).
Cet emprunt (ex : décaler la livraison d’une fonctionnalité au sprint suivant, remettre à une release majeure la refonte du modèle d’architecture, etc.) impliquera forcément – tôt ou tard – le remboursement de cette dette avec des intérêts. Autrement dit, la fonctionnalité décalée (emprunt), qui coûterait 100 unités d’œuvre à délivrer à un instant T (capital), coûtera en réalité 100 + X (intérêts) unités d’œuvres à T+1. Et comme pour un crédit bancaire, plus la durée de l’emprunt est longue, plus les intérêts sont élevés.
Ainsi, plus la Dette Technique d’un projet augmente, plus la maintenance corrective prend le pas sur l’innovation, au détriment de sa compétitivité.
Pour éviter cette baisse de productivité et de réactivité, SQUORE intègre la Dette Technique dans ses indicateurs de suivi du projet, et propose dans ses plans d’actions les priorités de refactoring pour une réduction rapide et à moindre coût de la dette.

La Dette Technique, un indicateur à fort ROI

Utile : la Dette Technique peut avoir un impact négatif sur l’agilité des équipes de développement et leur capacité d’innovation. Une Dette Technique élevée implique des efforts de maintenance corrective importants, certes nécessaires, mais qui se feront au détriment des nouvelles fonctionnalités à forte valeur ajoutée. Les indicateurs exprimeront et mesureront donc l’écart d’un ensemble d’artéfacts logiciels, en regard des exigences de qualité (robustesse, sécurité, fiabilité, évolutivité, maintenabilité, etc.) et des non-conformités constatées.
Simple : du DSI jusqu’au développeur en passant par le DevOp, la Dette Technique, dès lors qu’elle est exprimée en unités d’œuvre, parle à tout le monde. La charge de tout ce qui était prévu et décalé, de ce qui est livré mais non conforme aux exigences initiales, est cumulée pour mesurer la dette d’une application, d’un projet ou d’un artefact. Par exemple, pour répondre aux exigences de fiabilité définies pour mon application mobile, il faudra allouer 10 jours/homme pour remettre le projet en conformité.
Facile à mettre en œuvre : dans les modèles les plus simples, la Dette Technique est calculée en additionnant les charges des non conformités. Ainsi, les premiers essais de cet indicateur peuvent parfaitement tenir dans un tableur Excel.
Conciliant les visions techniques et managériales : l’indicateur étant exprimé en unité d’œuvre (heures, jours / homme ou devises), l’ensemble des parties prenantes dialoguent avec un référentiel commun. Les ambiguïtés générées par un indicateur abstrait sont évitées. Les équipes se concentrent alors sur les problèmes de qualité, plutôt que sur la définition de l’indicateur en lui-même !
Orienté « plan d’actions » : calculé à partir des éléments non conformes aux exigences, l’indicateur permet d’identifier les actions à mener pour atteindre le niveau d’exigence souhaité et réduire ainsi la Dette Technique d’un projet de manière efficiente et objectivée.

Solution

SQUORE Dette Technique, un tableau de bord orienté « plans d’actions »

Mettant à profit l’expérience des nombreux projets déjà accompagnés, Squoring Technologies a établi une série d’indicateurs basés sur la Dette Technique des logiciels, dans une version de SQUORE spécifiquement dédiée au pilotage de la qualité des projets logiciels.

La solution SQUORE Dette Technique intègre la Dette Technique dans ses indicateurs de suivi du projet, et propose dans ses plans d’actions les priorités de refactoring pour une réduction rapide et à moindre coût de la dette.
• Un modèle d’analyse « clé en main » et des points de contrôle standardisés pour mesurer et piloter la qualité des développements : calcul et suivi de l’évolution de la Dette Technique du projet basé sur la méthode SQALE (Software Quality Assessment based on Lifecycle Expectations), une méthode standardisée du calcul de la dette.
• Facilité de compréhension par l’ensemble des acteurs du projet par un système de notation clair (A, B, C, D …) et précis (estimations chiffrées en jour/homme, en devise…).
• Identification rapide des risques et problèmes de qualité au sein d’un portefeuille de projets, grâce à une analyse descendante (drill-down) dans les caractéristiques qualité ou les artefacts (projet, package, méthode ou fonction).
• Des indicateurs enrichis par des données autres que le code source (ex : prise en compte des exigences du projet, qualité de la documentation, import des campagnes de tests, etc.).
• Génération de plans d’actions optimisés pour réduire de manière efficiente et objectivée la Dette Technique de vos projets, en fonction de vos priorités.