Pro Tips
Sortir des ronces #4
[cohesion, tech-debt]
La dette technique, c’est le bilan qui sort comme d’une enveloppe lorsque l’équipe (au sens large, c’est à dire incluant la Technique, le Métier et le Management) fait le point sur l’état de l’art du projet.
C’est une facture théorique dont le montant, s’il pouvait se calculer, indiquerait la distance entre cet état de l’art et l’état de l’art requis par votre feuille de route.
Il n’y a pas d’outil miracle pour limiter à coup sûr la dette technique, mais il existe une heuristique générale qui peut être d’un grand secours à savoir, diviser pour régner :
pro tip ☞ Pour limiter la dette technique constatée lors de vos points sur l’état de l’art, faites plus souvent le point sur votre état de l’art
Cela permettrait a minima de calibrer la “capacité d’endettement” de l’équipe, et de maintenir ou rétablir la cohérence dans les discussions concernant la feuille de route.
Une application ayant 10 ans de bons et loyaux services à son actif, dont le périmètre fonctionnel s’est multiplié par 5 et le parc d’usagers par 1000, mais dont la stratégie de prévention des défauts n’a pas évolué depuis ses débuts héroïques, ce n’est pas un défi technique, c’est plutôt une énigme organisationnelle : comment en arrive t’on à un tel décalage ? La vitesse à laquelle évolue (au moins en surface) la technologie nous pousse à un rééxamen continuel de notre état de l’art. Comment se fait-il que la question des tests ou de la relecture du code soit restée tout ce temps en arrière plan, comme hors-sujet ? Ça tient du prodige.
Quoi qu’il en soit, nous avons toujours à notre disposition 3 propriétés relativement simples qui permettent de savoir si notre état de l’art va dans le bon sens, c’est à dire perd ou gagne en cohérence :
🪜 croissance par incréments : est-ce que notre état de l’art contient des processus et des pratiques permettant de construire une solution petit à petit, plutôt qu’en longues phases ? Est-ce que cela est vrai à tous les niveaux du projet ?
🗺️ sens partagé : est-ce que les acteurs partagent un vocabulaire commun ? Est-ce que ce qui a du sens et de l’importance pour l’un en a aussi pour les autres ? Est-ce que les conflits sont traités via la compréhension mutuelle et la négociation plutôt que la coercition ? Est-ce que cela est vrai à tous les niveaux du projet ?
🧯 prévention des défauts : est-ce qu’au fur et à mesure que la taille et la complexité du système augmentent, l’équipe élimine les conditions d’apparition des défauts au lieu d’éliminer seulement les défauts ? Est-ce que cela est vrai pour toutes les activités de conception comme de livraison ?
pro tip ☞ Pour limiter la dette technique, faites régulièrement un point sur l’état de l’art dans lequel sont évalués :
🪜 croissance par incréments
🗺️ sens partagé
🧯 prévention des défauts
Stay Tuned !