Que mesure une évaluation de la dette technique ?
Ward Cunningham a inventé la métaphore de la dette technique dans son retour d'expérience présenté à OOPSLA en 1992. Il y écrivait que « livrer du code écrit pour la première fois, c'est comme s'endetter ». Un peu de dette peut vous faire gagner du temps. Les ennuis commencent quand elle n'est pas remboursée : chaque heure passée à contourner du code pas tout à fait correct devient alors un intérêt à payer. Les outils d'analyse mesurent le code. Cette évaluation mesure ce que l'équipe vit au quotidien : si vous voyez la dette, à quel point elle ralentit la livraison, l'état ressenti du code et des systèmes, et si vous la remboursez. Chacun note chaque affirmation individuellement, puis vous reprenez les scores les plus bas en rétrospective pour décider ensemble de ce qu'il faut corriger en priorité.
Dimensions
Visibilité
Mesure si l'équipe sait où se trouve sa dette et la traite comme un travail à part entière.
Points sensibles identifiés
Nous savons quelles parties de notre système concentrent le plus de dette.
Suivie avec le reste du travail
La dette est suivie dans le même backlog que les fonctionnalités et les bugs.
Coût connu
Nous savons expliquer ce que nos plus grosses dettes nous coûtent en temps ou en risque.
Impact sur la livraison
À quel point la dette ralentit le travail que l'équipe cherche à livrer.
Rythme des fonctionnalités
La dette ralentit rarement les fonctionnalités que nous développons.
Modifications sans risque
Modifier une partie de notre système casse rarement une partie qui n'a rien à voir.
Builds rapides et fiables
Nos builds et nos tests sont rapides et fiables.
Santé du code et des systèmes
À quel point il est facile aujourd'hui de travailler avec le code, les systèmes et les dépendances.
Facile à modifier
La majeure partie de notre code est facile à comprendre et à modifier.
Dépendances à jour
Nos dépendances et nos plateformes sont raisonnablement à jour.
Des tests qui permettent de refactorer
Nos tests nous donnent la confiance nécessaire pour refactorer.
Remboursement de la dette
Mesure si l'équipe progresse de façon régulière et concertée dans la réduction de la dette.
Temps réservé
Nous réservons régulièrement du temps pour rembourser la dette.
Dette volontaire consignée
Quand nous contractons de la dette volontairement, nous la consignons avec un plan de remboursement.
Priorités partagées
Le produit et l'ingénierie s'accordent sur la répartition du temps entre fonctionnalités et dette.
Quand utiliser ce bilan de santé
- Quand les fonctionnalités prennent plus de temps que prévu et que l'équipe met sans cesse en cause la base de code.
- Avant la planification trimestrielle ou celle de la roadmap, pour décider du temps consacré au remboursement de la dette.
- Après un gros rush ou une échéance serrée, pour consigner les raccourcis pris avant qu'ils ne tombent dans l'oubli.
Conseils et astuces
- Commencez par le groupe le moins bien noté. Une faible visibilité signifie qu'il vous faut d'abord une liste des dettes. Une bonne visibilité associée à un faible remboursement révèle un problème de planification, pas un problème de code.
- Associez votre product manager à la discussion, même si seuls les ingénieurs notent. La répartition du temps entre fonctionnalités et dette est une décision commune.
- Croisez les scores avec les données dont vous disposez déjà : durée des builds, nombre de tests instables ou causes d'incidents. L'évaluation montre où ça fait mal, les données montrent à quel point.
- Menez-la en parallèle de l'autoévaluation des métriques DORA, de l'évaluation de la maturité DevOps ou du modèle de maturité de l'excellence en ingénierie pour voir le lien entre la dette, la livraison et les pratiques d'ingénierie.
- Répétez-la chaque trimestre. Une hausse du score sur les affirmations du groupe Remboursement de la dette est le premier signe que votre plan fonctionne.
Foire aux questions
Comment mesurer la dette technique ?
Quels sont les quatre types de dette technique ?
Combien de temps faut-il consacrer à la dette technique ?
Comment expliquer la dette technique aux product managers ?
Quel est un exemple de dette technique ?
Qui a inventé le terme dette technique ?
Based on Ward Cunningham, 'The WyCash Portfolio Management System,' OOPSLA '92 Experience Report (1992).