## Vue d’ensemble (Bottom Line Up Front)

La gestion de la dette technique (TDM) transforme des passifs techniques dispersés en un portefeuille priorisé de décisions d’investissement explicites, permettant aux CTO, VP Engineering et directeurs IT d’allouer la capacité rare entre modernisation et nouvelles fonctionnalités avec un risque et un coût d’opportunité quantifiés. Cet article fournit une méthode de niveau décisionnel — enregistrer, scorer, piloter, gouverner — que vous pouvez exécuter dans votre cadence de planification existante.

## Quand la gestion de la dette technique l’emporte sur d’autres approches

La TDM est une approche de décision de portefeuille, pas un cycle d’amélioration de processus. Utilisez-la lorsque la question centrale est de savoir comment échanger la capacité présente contre la flexibilité et le risque futurs à travers systèmes, fournisseurs et architecture. Tournez-vous vers d’autres outils dans les cas suivants :

Choisissez PDCA (Plan-Do-Check-Act) : méthode d’amélioration continue itérative lorsque un processus mesurable existe et que vous avez besoin d’une amélioration itérative (ex. réduction du taux d’échec de déploiement). Choisissez DMAIC (Define-Measure-Analyze-Improve-Control) : méthode de réduction de la variation par analyse des causes racines lorsque un processus existant a des causes identifiables et que vous devez réduire la variation (ex. instabilité du pipeline CI). Choisissez des méthodes de découverte (Lean Startup, Jobs to Be Done) lorsque l’incertitude marché ou problème domine et que vous devez apprendre quoi construire avant d’optimiser comment. Choisissez l’évaluation d’architecture (ATAM, CBAM) avant des décisions majeures de conception ou de fournisseur où les attributs de qualité nécessitent une comparaison par scénarios.

<div class="my-stack-md overflow-x-auto">
<table class="w-full min-w-[42rem] border-collapse text-left">
<thead><tr><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Méthode</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Catégorie</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Objectif principal</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Meilleur usage</th></tr></thead>
<tbody><tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Gestion de la dette technique</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Approche de décision de portefeuille</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Exposer et gérer coûts, risques et options issus de raccourcis passés ou d’actifs vieillissants</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Prioriser remédiation, refactorisation, remplacement ou retrait à travers les systèmes</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">PDCA</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Cycle d’amélioration continue</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Améliorer un processus existant de manière itérative</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Baseline existante ; petits changements testables</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">DMAIC</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Méthode d’amélioration de processus</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Réduire la variation en trouvant les causes racines</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Processus mesurable existant avec causes identifiables</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Lean Startup / Découverte</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Approche de découverte</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Apprendre quoi construire pour marchés incertains</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Nouveaux produits ou capacités avec forte incertitude problème</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Évaluation d’architecture</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Évaluation par scénarios</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Comparer des choix face aux attributs de qualité</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Avant décisions majeures de conception ou fournisseur</td></tr></tbody>
</table>
</div>
<div class="my-stack-md p-6 bg-surface-container-low border-l-4 border-primary rounded-r-lg">
Drapeau rouge / Go-No-Go : Si vous ne pouvez nommer un objectif métier spécifique (vitesse, fiabilité, conformité, revenu) qu’un élément de dette menace, arrêtez. Ne créez pas de registre pour « nettoyage » sans horizon de décision.

</div>
Propriétaire : VP Engineering | Mesure : % d’éléments du registre de dette liés à un objectif métier documenté ≥ 100 % d’ici le prochain cycle de planification.

## Construire un registre de dette de niveau décisionnel

Un registre n’est pas un backlog. Il ne capture que les éléments qui exigent un choix de portefeuille — rembourser, restructurer, remplacer, retirer, accepter ou couvrir. Chaque entrée doit contenir :

Champs de capture (imposés à la saisie) :

- ID élément — référence unique

- Actif — service, composant, intégration, contrat fournisseur, modèle de données ou processus

- Type — code, données, intégration, fournisseur, processus, infrastructure

- Propriétaire — équipe de service ou groupe plateforme responsable

- Symptômes — signaux observables (ex. « 22 h ing./semaine de correctifs », « 3 incidents P2/mois » )

- Preuves — liens vers tableaux de bord, rétrospectives d’incidents, rapports de tests de charge, avis de fin de vie fournisseur

- Objectif métier en danger — le résultat spécifique menacé (ex. « latence checkout P99 > 2 s bloque l’expansion UE » )

- Horizon de décision — hygiène à court terme (≤ 1 trimestre) ou modernisation multi-trimestres

Propriétaire : Portfolio Owner (Head of Architecture/Platform) | Mesure : Score de complétude du registre (éléments avec les 8 champs renseignés / total éléments) ≥ 90 % à la planification trimestrielle.

<div class="my-stack-md p-6 bg-surface-container-low border-l-4 border-primary rounded-r-lg">
Drapeau rouge / Go-No-Go : Si > 20 % des éléments du registre manquent de preuves quantifiées (heures, incidents, revenu en jeu), suspendre la saisie. Exiger des preuves avant le scoring.

</div>

## Scorer les éléments de dette pour la priorisation du portefeuille

Appliquez une grille cohérente et légère. Pondérez les dimensions selon la stratégie (ex. focus fiabilité → augmenter le poids de la sévérité du risque). Notez chaque dimension 0–5.

<div class="my-stack-md overflow-x-auto">
<table class="w-full min-w-[42rem] border-collapse text-left">
<thead><tr><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Dimension</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Échelle</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Guide d’estimation</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Poids (défaut)</th></tr></thead>
<tbody><tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Intérêt par période</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">0–5</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">h ing./semaine, incidents/mois, revenu en jeu / période</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">1.0</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Sévrité du risque</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">0–5</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Probabilité × impact de défaillance, conformité, sécurité</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">1.0</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Couplage</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">0–5</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Consommateurs critiques ou voies d’intégration affectées</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">0.5</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Réversibilité</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">0–5</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">5 = retour trivial ; 0 = migration de données irréversible</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">0.5</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Désalignement stratégique</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">0–5</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Degré auquel l’élément bloque la feuille de route ou un attribut clé</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">1.0</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Impact client</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">0–5</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">% utilisateurs actifs ou segments clés affectés ; risque NPS</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">1.0</td></tr></tbody>
</table>
</div>
Formule d’indice de priorité (défaut) : Priorité = (Intérêt + Risque + Stratégique + Client) × Poids / max(1, Estimation d’effort)

Utilisez le Couplage et la Réversibilité pour façonner le plan d’intervention et la cohorte pilote, pas le score de priorité.

Propriétaire : Portfolio Owner | Mesure : Cohérence du scoring — fiabilité inter-évaluateurs (κ de Cohen) ≥ 0,7 sur les 20 premiers éléments à chaque cycle de planification.

<div class="my-stack-md p-6 bg-surface-container-low border-l-4 border-primary rounded-r-lg">
Drapeau rouge / Go-No-Go : Si les 5 premiers éléments par score consomment > 60 % de la capacité dette disponible pour l’horizon, escalader au Sponsor pour approbation explicite du trade‑off.

</div>

## Sélectionner le type d’intervention adapté

Faites correspondre l’intervention au couplage, à la réversibilité et au désalignement stratégique de l’élément. Ne choisissez pas « refactoriser » par défaut.

<div class="my-stack-md overflow-x-auto">
<table class="w-full min-w-[42rem] border-collapse text-left">
<thead><tr><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Intervention</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Quand choisir</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Réversibilité requise</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Périmètre pilote typique</th></tr></thead>
<tbody><tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Rembourser</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Travail différé borné, bien compris, complète la conception d’origine</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Feature flag ou revert de branche</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Service unique, cohorte interne</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Restructurer</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Changement de frontière ou d’interface réduit le coût futur de changement pour les consommateurs</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Double exécution ou API versionnée</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Nouveaux consommateurs seulement ; existants sur l’ancien chemin</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Remplacer</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Fournisseur/composant en fin de vie, désaligné ou moins cher à échanger qu’à corriger</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Clause de sortie contractuelle ; export de données validé</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Validation shadow + double écriture</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Retirer</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Actif inutilisé ou à faible valeur ; suppression réduit la surface d’exposition</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Archivage données vérifié ; aucune retenue réglementaire</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Simulation de suppression en staging</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Accepter &amp; Surveiller</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Coût d’action &gt; intérêt quantifié ; risque borné et observable</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">N/A (aucun changement)</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Tableau de bord + date de revue</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Couvrir</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Remboursement complet différé ; ajouter tests, télémétrie, feature flags pour réduire le risque</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Bascule de flag testée</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Instrumentation seule</td></tr></tbody>
</table>
</div>
Propriétaire : Service Owner propose ; Portfolio Owner révise ; Sponsor approuve pour éléments à haut risque | Mesure : Taux de correspondance type d’intervention — % d’éléments pilotés où le type choisi correspond à la recommandation de la grille ≥ 80 % d’ici fin d’année.

<div class="my-stack-md p-6 bg-surface-container-low border-l-4 border-primary rounded-r-lg">
Drapeau rouge / Go-No-Go : Si « Rembourser » est choisi pour un élément avec Réversibilité ≤ 2 et Couplage ≥ 4, exiger la validation de l’Architecture Review Board avant le pilote.

</div>

## Concevoir des pilotes sûrs et mesurables

Chaque intervention commence par un pilote étroit, limité à une cohorte. Le pilote doit tester une hypothèse principale avec une porte go/no‑go prédéfinie.

### Checklist de conception du pilote

<div class="my-stack-md overflow-x-auto">
<table class="w-full min-w-[42rem] border-collapse text-left">
<thead><tr><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Élément</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Décision requise</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Exemple</th></tr></thead>
<tbody><tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Périmètre</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Un actif, une intervention principale</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Façade de reporting pour les 10 widgets de tableau de bord principaux</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Cohorte</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Utilisateurs internes + nouveaux locataires d’essai seulement</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Exclure locataires payants ; exclure comptes réglementés</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Métrique de succès</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Cible spécifique, mesurable</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Travail non planifié 22 → 11 h ing./semaine en 4 semaines</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Gardes-fous</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Taux d’erreur, incidents, sécurité, tickets support</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Aucun P1/P0 ; taux 4xx/5xx ≤ baseline ; zéro régression auth</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Durée</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Fenêtre de revue fixe</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">3 semaines exécution + 1 semaine revue</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Plan de réversibilité</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Étapes documentées + dry‑run testé</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Bascule feature flag ; rollback &lt; 15 min</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Collecte de données</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Télémétrie + vérifications manuelles</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Latence requête p50/p99 ; vérifications ponctuelles exactitude widgets</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Condition d’arrêt</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Seuils pré‑approuvés pour arrêter</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Tout P1/P0 ; augmentation 25 % taux erreur WoW ; régression auth</td></tr></tbody>
</table>
</div>
Propriétaire : Service Owner exécute ; Portfolio Owner + Risk Partner approuvent go/no‑go | Mesure : Taux de violation des gardes-fous — % de pilotes arrêtés par gardes-fous (pas par choix) ≤ 15 % par an.

<div class="my-stack-md p-6 bg-surface-container-low border-l-4 border-primary rounded-r-lg">
Drapeau rouge / Go-No-Go : Si un pilote n’a pas de plan de réversibilité testé avec temps de rollback documenté, ne pas activer. Le dry‑run est obligatoire.

</div>

## Assigner les droits de décision et la responsabilité

Des droits explicites évitent le paradoxe d’Abilène (faux consensus). Utilisez ce RACI léger :

<div class="my-stack-md overflow-x-auto">
<table class="w-full min-w-[42rem] border-collapse text-left">
<thead><tr><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Droit de décision</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Propose</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Révise</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Approuve</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Informé</th></tr></thead>
<tbody><tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Règles de portefeuille (répartition capacité, seuils action obligatoire)</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Portfolio Owner</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Produit, Finance, Risque</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Sponsor (CTO/VP Eng)</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Tous</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Sélection d’éléments (top slate par horizon)</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Portfolio Owner</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Service Owners</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Groupe de pilotage</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Équipes</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Choix d’intervention</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Service Owner</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Risque, Produit, Portfolio Owner</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Sponsor</strong> (haut risque seulement)</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Équipes</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Go/no‑go pilote</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Service Owner</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Portfolio Owner, Risk Partner</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Portfolio Owner + Risk Partner</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Sponsor</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Décision de montée en charge</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Portfolio Owner</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Tous rôles pilotage</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Groupe de pilotage</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Tous</td></tr></tbody>
</table>
</div>
Contrôles opérationnels pour éviter le faux consensus :

- Positions écrites indépendantes avant discussion

- Vote à main levée anonyme

- Enregistrer objections et hypothèses

- Demander à chacun : « Que choisiriez-vous si vous décidiez seul ? »

- Exiger consentement explicite — silence ≠ accord

Propriétaire : Sponsor | Mesure : Latence de décision — médiane jours calendaires entre revue pilote et décision de montée en charge ≤ 10 jours.

<div class="my-stack-md p-6 bg-surface-container-low border-l-4 border-primary rounded-r-lg">
Drapeau rouge / Go-No-Go : Si le Groupe de pilotage ne peut atteindre un consentement explicite (objections enregistrées non résolues) après deux sessions, escalader au Sponsor pour décision contraignante.

</div>

## Vignette : Modernisation d’une plateforme paiements FinTech

Contexte : Un processeur paiements B2B de 200 ingénieurs (Série D, 120 M$ ARR) exploite un service ledger core construit il y a 6 ans. Symptômes :

- 35 h ing./semaine sur écarts de réconciliation et ajustements manuels

- 2 incidents P1/trimestre dus à des échecs de double entrée en pic de volume

- 18 % des paiements marchands retardés > 4 h à cause de contention des jobs batch

- PostgreSQL 12 en fin de vie dans 11 mois ; chemin de mise à niveau non testé

Décision cadrée : Réduire l’effort de réconciliation de 60 % et éliminer les incidents P1 de double entrée sous 8 semaines, en utilisant ≤ 3 sprints de capacité, tout en maintenant la conformité SOX.

Intervention principale testée : Introduire une couche de clé d’idempotence au niveau de l’API gateway avec un pipeline de validation shadow comparant les résultats du nouveau chemin au batch legacy pour 100 % des transactions. Conserver PostgreSQL 12 pour l’instant ; isoler le changement de logique ledger.

Design du pilote :

- Cohorte : Marchands sandbox internes + 5 nouveaux marchands externes à faible volume (opt‑in)

- Métrique de succès : Écarts réconciliation ≤ 2/semaine (de 14/semaine baseline) sur fenêtre 4 semaines

- Gardes-fous : Zéro échec contrôle SOX ; latence paiement p99 ≤ baseline + 5 % ; aucun règlement dupliqué

- Durée : 4 semaines exécution + 1 semaine revue

- Réversibilité : Feature flag gateway ; pipeline shadow read‑only ; rollback < 10 min validé en staging

- Condition d’arrêt : Tout échec contrôle SOX ; règlement dupliqué détecté ; latence paiement p99 > baseline + 10 %

Évaluer et décider :

- Continuer & Étendre : Métrique atteinte + gardes-fous propres → étendre à 25 % volume marchand, puis 100 %

- Modifier : Écarts baissent 40 % mais contention batch persiste → ajouter stratégie de partition, prolonger pilote 2 semaines

- Arrêter : Violation garde‑fou ou réduction < 20 % écarts → revert, réévaluer si normalisation modèle données est prérequis

Implication portefeuille : Si couche idempotence réussit, planifier mise à niveau PostgreSQL 14 en suivi (risque maintenant lower). Sinon, prioriser refactorisation modèle données ledger avant toute mise à niveau.

Propriétaire : VP Engineering | Mesure : Décision issue du pilote documentée dans les 5 jours ouvrés suivant la clôture de la fenêtre de revue ≥ 100 %.

## Métriques qui traduisent la dette en langage métier

Les tableaux de bord pour Sponsor et Groupe de pilotage doivent montrer intérêt, risque et coût d’opportunité — pas des scores de qualité de code.

<div class="my-stack-md overflow-x-auto">
<table class="w-full min-w-[42rem] border-collapse text-left">
<thead><tr><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Métrique</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Définition</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Cible</th></tr></thead>
<tbody><tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Top‑10 payeurs d’intérêt</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Éléments classés par h ing./semaine ou revenu en jeu</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Revue mensuelle</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Vieillissement haut risque</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Nombre d’éléments Sévrité ≥ 4 &gt; 90 jours sans intervention</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">0</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Allocation capacité</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Répartition Build vs Run vs Change ; % Change alloué à la dette</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Dette ≤ 30 % capacité Change (ajustable)</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Entonnoir pilotes</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Planifiés → Actifs → Terminés → Étendus → Arrêtés</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">≥ 50 % pilotes terminés étendus</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Tendance travail non planifié</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">h ing./semaine sur correctifs liés à la dette</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">-20 % YoY</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Tendance incidents</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Incidents P1/P2 imputables aux éléments du registre</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">-30 % YoY</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><strong>Visibilité coût d’opportunité</strong></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Fonctionnalités retardées (story points) dues à l’allocation capacité dette</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Documenté par cycle de planification</td></tr></tbody>
</table>
</div>
Propriétaire : Portfolio Owner | Mesure : Latence rafraîchissement tableau de bord — données à jour dans les 48 h suivant la fin du cycle de planification ≥ 95 %.

<div class="my-stack-md p-6 bg-surface-container-low border-l-4 border-primary rounded-r-lg">
Drapeau rouge / Go-No-Go : Si l’allocation capacité dette dépasse 40 % de la capacité Change pendant deux cycles consécutifs sans approbation Sponsor, geler l’intégration de nouvelle dette.

</div>

## Checklist de revue de gouvernance pour décisions d’échelle

Avant d’approuver la montée en charge, chaque élément significatif passe cette revue ancrée par rôle.

<div class="my-stack-md overflow-x-auto">
<table class="w-full min-w-[42rem] border-collapse text-left">
<thead><tr><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Question</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Rôle responsable</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Preuve requise</th></tr></thead>
<tbody><tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Cet élément de dette est-il lié à un objectif métier ou risque clair ?</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Sponsor</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Objectif documenté dans le registre</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Avons-nous quantifié intérêt et risque avec des preuves crédibles ?</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Portfolio Owner</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Liens tableaux de bord, rétros incidents, rapports tests de charge</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Avons-nous un propriétaire de service nommé responsable de l’actif ?</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Service Owner</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Champ propriétaire renseigné ; propriétaire présent à la revue</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Avons-nous rendu visible le coût d’opportunité à la planification produit ?</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Partenaire Produit</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Fonctionnalités retardées listées avec story points</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">La sécurité ou la conformité a‑t‑elle revu la posture de risque ?</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Partenaire Risque</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Évaluation de risque signée ou dérogation</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Le pilote est‑il étroit, mesurable et limité en cohorte de façon sûre ?</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Portfolio Owner</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Checklist design pilote complète</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Avons-nous un plan de réversibilité testé avec étapes documentées ?</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Lead Technique</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Résultats dry‑run ; temps rollback mesuré</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Les métriques de succès et gardes-fous sont‑elles définies et instrumentées ?</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Service Owner</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">URLs tableaux de bord ; règles d’alerte configurées</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Comment et quand déciderons‑nous continuer, modifier ou arrêter ?</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Groupe de pilotage</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Date décision calendrée ; critères publiés</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Les communications client et playbooks support sont‑ils prêts ?</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Partenaire Produit</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Projet communication ; runbook support mis à jour</td></tr></tbody>
</table>
</div>
Propriétaire : Président Groupe de pilotage | Mesure : Taux de complétude checklist — % décisions montée en charge avec les 10 questions répondues ≥ 100 %.

## Continuer, Modifier ou Arrêter : décisions portefeuille basées sur les preuves

Utilisez des critères explicites après chaque pilote ou intervention timeboxée.

### Continuer & Étendre quand

- Métrique de succès atteinte ou dépassée

- Gardes-fous dans seuils pour ≥ 1 cycle d’exploitation complet (ex. facturation mensuelle, audit trimestriel)

- Plan de réversibilité intact lors de l’échelle (feature flag, double‑run validé au nouveau périmètre)

- Coût d’opportunité reste acceptable vis‑à‑vis du portefeuille (validé par Partenaire Produit)

### Modifier quand

- Amélioration partielle avec goulots identifiables adressables dans l’horizon courant

- Mesure bruiteuse ; signal améliorable rapidement (ex. ajouter télémétrie, prolonger fenêtre)

- Gardes-fous frôlent seuils sans les franchir (documenter pourquoi la poursuite est sûre)

### Arrêter quand

- Violation gardes-fous ou augmentation matérielle des risques (sécurité, vie privée, paiements, identité, domaines réglementés)

- Réduction attendue de l’intérêt < 20 % du baseline par rapport à l’effort investi

- Option supérieure apparaît avec meilleure réversibilité ou adéquation stratégique (documenter la comparaison)

Documenter chaque décision : Consigner hypothèse révisée, hypothèses qui ont échoué, preuves nécessaires la prochaine fois. Cela évite de répéter les paris perdants.

Propriétaire : Groupe de pilotage | Mesure : Complétude documentation décision — % décisions arrêt/modifier avec hypothèse, hypothèses échouées et prochaine preuve enregistrées ≥ 100 %.

<div class="my-stack-md p-6 bg-surface-container-low border-l-4 border-primary rounded-r-lg">
Drapeau rouge / Go-No-Go : Si un élément arrêté réapparaît dans le registre sous 6 mois sans nouvelle preuve, exiger signature Sponsor avant ré‑entrée.

</div>

## Conclusion

La gestion de la dette technique transforme les plaintes techniques vagues en un portefeuille gouverné de choix explicites. Cadrez la décision, construisez un registre avec preuves quantifiées, scorez de façon cohérente, adaptez l’intervention au couplage et à la réversibilité, pilotez étroitement avec gardes-fous testés, assignez les droits de décision avec contrôles opérationnels, et décidez continuer/modifier/arrêter sur la base des preuves. Commencez par un élément à fort intérêt dès ce cycle de planification. Mesurez ce qui compte pour le métier. Vous convertirez la dette d’un frein à la vélocité en levier d’avantage stratégique.

Propriétaire : CTO / VP Engineering | Mesure : Adoption TDM — % cycles de planification avec registre dette actif, slate scorée et décisions portefeuille documentées ≥ 80 % dans les 2 trimestres.