Introduction
Chaque leader technologique a vécu la même boucle douloureuse : un incident critique survient, l'équipe se démène pour le corriger, puis, sous la pression de passer à autre chose, le débriefing est sauté ou réduit à une séance de blâme d'une heure. Quelques semaines plus tard, le même mode de défaillance réapparaît. L'analyse des causes profondes (ACP), lorsqu'elle est traitée comme une pratique de leadership plutôt que comme un outil mécanique, brise cette boucle. Elle force la clarté : ce qui s'est réellement passé, pourquoi c'est arrivé, ce que nous allons changer, et qui est responsable de ce changement.
Mais une véritable ACP ne consiste pas seulement à remplir un diagramme en arête de poisson ou à demander « cinq pourquoi » jusqu'à ce que quelqu'un craque. C'est une discipline de gestion. Pour les CTO, les DSI, les vice-présidents de l'ingénierie et les gestionnaires technologiques, l'ACP est le pont entre la défaillance opérationnelle et l'amélioration stratégique. Elle convertit des données d'incident désordonnées en remédiations financées, en meilleures décisions architecturales et en une culture qui valorise l'apprentissage plutôt que le blâme.
Ce guide est conçu pour les leaders technologiques qui doivent faire en sorte que l'ACP perdure. Il couvre le contexte de gestion, un exemple concret d'organisation technologique, une liste de vérification pour la décision et la gouvernance, ainsi que des méthodes pratiques que vous pouvez appliquer lors de votre prochaine revue post-incident. À la fin, vous disposerez d'un cadre reproductible — pas seulement un chapitre de plus dans votre manuel d'incidents, mais un outil de leadership qui aligne le travail d'ingénierie sur les résultats opérationnels.
Contexte de gestion
Pourquoi l'ACP est un problème de leadership, pas seulement un problème d'ingénierie
L'analyse des causes profondes échoue le plus souvent pour des raisons non techniques : propriété peu claire, peur du blâme, suivi faible ou désalignement avec les priorités de l'entreprise. Un CTO qui dit simplement « faites une ACP » sans définir le contexte décisionnel obtiendra un rapport superficiel et aucun changement durable. Le rôle du leader est de préparer le terrain.
Commencez par nommer le problème de gestion avec précision. Par exemple :
- Décision à prendre : Devrions-nous investir dans une capacité de base de données redondante, ou accepter une fenêtre de basculement de 15 minutes ?
- Personnes affectées : Les clients du service de paiement, l'équipe des paiements, les auditeurs SOC2 et la rotation d'astreinte SRE.
- Contraintes : Le budget pour l'infrastructure est plafonné à 40 000 $ ce trimestre ; le gel des embauches signifie aucun nouveau SRE avant le troisième trimestre.
- Preuves disponibles : Chronologie de l'incident, journaux système, historique des déploiements, ACP précédente pour une panne similaire en mars, et tickets de support client.
Documenter ces quatre éléments avant de commencer l'analyse empêche l'ACP de dériver vers des plaintes générales. Cela force l'équipe à répondre à la question qui compte vraiment : « Quelle décision essayons-nous d'éclairer ? »
Le résultat d'une ACP de niveau gestion
Une ACP de leadership doit produire un artefact concret. Les recommandations vagues comme « améliorer la surveillance » ou « être plus prudent » ne valent rien. Définissez plutôt le type de résultat à l'avance :
- Registre de décision : Un document d'une page avec le contexte, les options envisagées, la décision, la justification et le responsable. Exemple : « Migrer l'API de paiement vers une configuration de basculement régionale d'ici le 30 juin. Responsable : Maria Chen, responsable des paiements. »
- Liste de priorités : Actions de remédiation classées avec effort et impact. Exemple : (1) Ajouter un disjoncteur au service de paiement — 3 jours, impact élevé ; (2) Augmenter la rétention des journaux à 30 jours — 1 jour, impact moyen ; (3) Exécuter un test de chaos sur le basculement — 5 jours, impact élevé.
- Carte des parties prenantes : Identifiez qui se soucie de l'incident et comment communiquer avec eux. Exemple : La finance a besoin de l'impact sur les coûts sous 48 heures ; le support client a besoin d'une déclaration publique d'ici la fin de journée ; l'ingénierie a besoin d'une chronologie technique d'ici vendredi.
- Vue des risques : Une matrice simple probabilité × impact pour les modes de défaillance récurrents. Exemple : Épuisement du pool de connexions de la base de données : probabilité 4/5, impact 5/5, risque = critique.
- Principe opérationnel : Une nouvelle règle ou politique d'équipe. Exemple : « Tout service avec >1000 RPS doit avoir un disjoncteur testé avant le déploiement en production. »
- Définition d'une métrique : Définissez précisément une métrique qui montrera si la correction a fonctionné. Exemple : « Réduire la latence p99 du service de paiement à moins de 400 ms pendant la charge de pointe, mesurée sur 30 jours. »
- Responsable du suivi : Une personne nommée responsable de chaque action, avec une date d'échéance. Exemple : « Déployer l'alerte PagerDuty pour le pool de base de données >80 % — échéance vendredi, responsable : Dev Patel. »
Les équipes qui produisent ces artefacts de manière cohérente signalent une récupération plus rapide et moins d'incidents répétés. L'artefact devient le contrat qui tient les gens responsables après la fin de la réunion.
Relier l'ACP aux cadres stratégiques
L'ACP n'existe pas dans le vide. Elle recoupe d'autres concepts de gestion qui façonnent la manière dont les décisions sont prises et suivies :
- SMART Goals : Chaque action corrective issue d'une ACP doit être Spécifique, Mesurable, Atteignable, Pertinente et Temporellement définie. Par exemple, au lieu de « améliorer la résilience de la base de données », écrivez « Ajouter un basculement de réplica en lecture pour la base de données utilisateurs d'ici le 15 mai ; mesuré en réalisant deux exercices de basculement réussis ; propriété de l'équipe SRE ; budget de 5 000 $. »
- AIDA Model (Attention, Intérêt, Désir, Action) : Utilisez ce cadre de communication lors de la présentation des résultats de l'ACP aux cadres. Vous devez d'abord capter l'attention (par exemple, « Nous avons perdu 120 000 $ de revenus pendant la panne »), susciter l'intérêt (« Elle a été causée par un seul équilibreur de charge mal configuré »), créer le désir pour la correction (« Ce changement réduira le temps de basculement de 15 minutes à 30 secondes »), et inciter à l'action (« Veuillez approuver le budget de 15 000 $ pour le nouvel outillage »).
- Abilene Paradox : Un groupe de personnes peut collectivement accepter une décision qu'aucun individu ne souhaite réellement, simplement parce que chacun suppose que les autres sont en faveur. Dans l'ACP, cela se manifeste lorsque l'équipe se précipite vers une conclusion confortable (par exemple, « erreur humaine ») au lieu de creuser les causes systémiques. Le leader doit vérifier explicitement : « Quelqu'un ici est-il en désaccord avec cette cause profonde ? Y a-t-il des preuves que nous ignorons ? »
Traitez l'ACP comme un processus vivant. Revisitez l'analyse lorsque de nouvelles preuves apparaissent, pas seulement lors de la prochaine revue planifiée. Par exemple, si deux semaines après l'ACP, un incident similaire se produit dans un autre service, c'est un signal pour mettre à jour la cause profonde originale, pas pour déposer une nouvelle ACP distincte.
Exemple d'organisation technologique
Rendons cela concret avec un scénario réaliste dans une entreprise fictive : Acme Corp, une plateforme de commerce électronique de taille moyenne avec 120 ingénieurs, un CTO, trois gestionnaires d'ingénierie et une petite équipe SRE. Acme a récemment subi un incident majeur : le service de paiement est tombé en panne pendant 45 minutes lors d'une vente flash, entraînant une perte de revenus estimée à 180 000 $ et 1 200 paniers abandonnés.
Étape 1 : Cadrer la décision
La CTO, Laura, convoque une réunion avec l'équipe des paiements, les SRE et le chef de produit. Elle énonce le problème de gestion :
« Nous devons décider d'ici vendredi s'il faut investir dans un chemin de traitement des paiements redondant, prolonger le calendrier de la vente, ou modifier notre processus de déploiement. La décision affecte les revenus, la confiance des clients et la charge d'astreinte de notre équipe. Nous avons la chronologie de l'incident, les journaux et l'ACP précédente de mars comme preuves. »
Le groupe s'accorde sur un format de registre de décision. Ce n'est pas un post-mortem de lutte contre l'incendie ; c'est un choix stratégique sur la manière de prévenir le prochain incendie.
Étape 2 : Collecter les preuves objectivement
L'équipe SRE produit une chronologie en utilisant les données des outils de surveillance :
- 14 h 02 — La latence p99 du service de paiement passe de 200 ms à 1,5 s.
- 14 h 05 — Le CPU de la base de données principale atteint 95 %.
- 14 h 07 — Le pool de connexions est épuisé ; le paiement renvoie des erreurs 503.
- 14 h 15 — L'ingénieur d'astreinte redémarre la base de données, mais le pool se remplit à nouveau.
- 14 h 22 — Une tentative de basculement vers le réplica en lecture est effectuée, mais le réplica a 15 minutes de retard de réplication.
- 14 h 37 — La charge d'écriture de la base de données est réduite en désactivant une requête promotionnelle ; le service récupère.
- 14 h 52 — Rétablissement complet du service.
Ces preuves sont factuelles et horodatées, évitant le blâme. L'équipe applique ensuite la technique des « 5 pourquoi », avec une particularité : chaque pourquoi doit être répondu par des données ou un fait système, pas une opinion.
5 pourquoi pour la panne du paiement d'Acme :
- Pourquoi le paiement est-il tombé en panne ? Le pool de connexions de la base de données était épuisé.
- Pourquoi le pool était-il épuisé ? Une augmentation soudaine des transactions simultanées due à une vente flash a submergé le pool.
- Pourquoi la montée en charge a-t-elle submergé le pool ? La taille du pool était fixée à 100 connexions, mais la demande de pointe nécessitait 250 ; la configuration n'avait pas été mise à jour depuis le lancement de l'application.
- Pourquoi la configuration n'était-elle pas mise à jour ? Il n'y avait pas de processus de test de charge pour les ventes flash, et l'équipe n'était pas au courant du nouveau modèle de trafic.
- Pourquoi n'y avait-il pas de processus de test de charge ? La gestion des versions n'incluait pas les tests de performance comme jalon pour les pics de trafic pilotés par le marketing.
Cause profonde : Planification de capacité inadéquate et manque de gouvernance des tests de performance pour les événements à fort trafic. Notez qu'il s'agit d'une cause systémique, pas « le développeur a oublié de définir un paramètre ».
Étape 3 : Analyser les facteurs contributifs avec un diagramme en arête de poisson
L'équipe crée un diagramme d'Ishikawa (arête de poisson) pour capturer les facteurs contributifs dans quatre catégories :
- Personnes : Aucun propriétaire unique pour la capacité de la base de données ; l'ingénieur d'astreinte manquait d'un runbook de basculement documenté ; l'équipe était sous pression pour livrer des fonctionnalités et a sauté la liste de vérification pré-vente.
- Processus : Aucun test de charge dans le pipeline CI/CD ; la promotion de la vente flash n'a pas été signalée à l'équipe infrastructure ; la communication d'incident a mis 20 minutes à atteindre la direction.
- Technologie : Pool de connexions codé en dur ; pas de mise à l'échelle automatique pour la base de données ; le retard du réplica de basculement n'est pas surveillé ; pas de disjoncteur sur le service de paiement.
- Environnement : La passerelle de paiement tierce a ajouté de la latence sous charge ; le fournisseur cloud a eu un problème réseau mineur dans us-east-1.
La visualisation en arête de poisson rend évident qu'aucune correction unique ne résoudra le problème ; de multiples améliorations simultanées sont nécessaires.
Étape 4 : Générer et évaluer les options
L'équipe réfléchit à quatre options :
- Augmenter la taille du pool de connexions et ajouter un script de basculement vers le réplica en lecture. Coût : 5 000 $ et 1 semaine. Impact : Réduit la probabilité mais ne traite pas la capacité de pointe.
- Mettre en œuvre la mise à l'échelle automatique pour la base de données en utilisant l'offre serverless du fournisseur cloud. Coût : 15 000 $/mois. Impact : Gère la charge variable automatiquement mais augmente la dépendance au fournisseur.
- Ajouter un disjoncteur et un système de file d'attente pour les demandes de paiement. Coût : 10 000 $ et 2 semaines. Impact : Empêche la panne totale en se dégradant gracieusement ; nécessite toujours une planification de capacité.
- Instituer des tests de charge obligatoires avant toute campagne marketing dépassant un seuil de revenus. Coût : 2 000 $ et effort à temps partiel. Impact : Préviendra les surprises futures ; ne corrige pas la configuration actuelle.
En utilisant une matrice de décision pondérée simple (critères : coût, délai de mise en œuvre, réduction des risques, facilité de maintenance), l'équipe note chaque option de 1 à 5. Le résultat :
| Option | Coût (1-5) | Délai (1-5) | Réduction des risques (1-5) | Facilité de maintenance (1-5) | Total |
|---|---|---|---|---|---|
| 1 | 4 | 4 | 3 | 3 | 14 |
| 2 | 2 | 3 | 5 | 2 | 12 |
| 3 | 3 | 3 | 4 | 4 | 14 |
| 4 | 5 | 5 | 4 | 4 | 18 |
L'option 4 gagne de manière décisive car elle est peu coûteuse et prévient la récurrence, mais elle ne traite pas la faiblesse actuelle. L'équipe décide de mettre en œuvre une combinaison : les options 1 et 4 immédiatement, avec l'option 3 prévue pour le prochain trimestre si les tests de charge révèlent une capacité insuffisante.
Étape 5 : Documenter le registre de décision
L'équipe de Laura crée un registre de décision concis :
- Contexte : Panne du paiement lors de la vente flash du 12 avril ; 45 minutes d'indisponibilité ; 180 000 $ de revenus perdus.
- Options envisagées : Voir le tableau ci-dessus.
- Décision : Mettre en œuvre un jalon de test de charge (option 4) et augmenter la taille du pool avec amélioration du basculement (option 1). Échéance : 30 mai.
- Parties prenantes consultées : Équipe des paiements, SRE, Produit, Marketing, Finance.
- Propriétaire de la décision : Laura (CTO) ; propriétaires de la mise en œuvre : Maria (responsable des paiements) et Dev (SRE).
- Bénéfice attendu : Réduire la probabilité d'une panne similaire de 20 % par événement à <5 % ; réduire le temps de basculement de 15 min à 2 min.
- Principaux risques : Les tests de charge peuvent manquer des cas limites ; l'augmentation de la taille du pool peut masquer un problème d'architecture sous-jacent ; la capacité de l'équipe peut être étirée.
- Première date de revue : 15 juin (deux semaines après la mise en œuvre).
Étape 6 : Mettre en œuvre et valider
L'équipe travaille sur les actions. Les SRE déploient la nouvelle configuration du pool (max_connections = 250) et un script qui bascule automatiquement vers le réplica en lecture si le retard de réplication est < 1 seconde. L'équipe des paiements intègre une étape de test de charge dans le pipeline CI/CD : toute campagne censée générer >5x le trafic de base déclenche un test de charge obligatoire en staging.
Ils exécutent un test de charge simulant 3 000 paiements simultanés. Résultats :
- Latence p99 : 350 ms (objectif <400 ms)
- CPU de la base de données : 70 % de pic
- Utilisation du pool de connexions : 80 % des 250 connexions
- Exercice de basculement : 2 minutes 15 secondes pour terminer (objectif <3 minutes)
Les améliorations sont validées avec des preuves mesurables.
Étape 7 : Revoir et apprendre
Lors de la revue du 15 juin, l'équipe vérifie les métriques :
- Depuis le 30 mai, trois campagnes marketing ont déclenché des tests de charge ; l'une a révélé une fuite de mémoire dans le service de recommandation qui aurait causé une panne.
- Aucune panne de paiement ne s'est produite.
- Le temps d'exercice de basculement s'est amélioré de 15 minutes à 2 minutes 10 secondes.
L'équipe met à jour le registre d'ACP pour noter que la cause profonde était effectivement systémique, et que le changement de processus a été la correction la plus précieuse. Ils identifient également un nouvel élément d'action : examiner la fuite de mémoire du service de recommandation comme une ACP distincte.
Cet exemple démontre le cycle complet : de l'incident à la décision, à la mise en œuvre, à l'amélioration mesurée.
Liste de vérification pour la décision et la gouvernance
Pour que l'ACP devienne une discipline de leadership, vous avez besoin d'une structure de gouvernance légère. Utilisez cette liste de vérification avant, pendant et après chaque analyse d'incident significatif.
Liste de vérification pré-ACP
- Clarté de la décision : Quelle est la décision ou l'action que cette ACP va éclairer ? Exemple : « Devrions-nous changer notre processus de déploiement pour inclure des déploiements canaries ? »
- Attribution du propriétaire : Qui est le propriétaire de l'ACP ? Il est responsable de piloter l'analyse, pas de faire tout le travail. Exemple : « Propriétaire de l'ACP : Sarah Lin, gestionnaire d'ingénierie. »
- Identification des parties prenantes : Qui est affecté ou doit être consulté ? Exemple : « Affectés : équipe du paiement, SRE, support client. Consultés : CTO, VP produit, sécurité. »
- Collecte de preuves : Quelles données sont disponibles ? Exemple : « Chronologie de l'incident de Datadog, fichiers journaux, historique des déploiements, transcriptions de chat de #incident-checkout. »
- Limites du périmètre : Qu'est-ce qui est dans le périmètre et hors périmètre ? Exemple : « Dans le périmètre : causes techniques profondes. Hors périmètre : évaluations individuelles des performances. »
- Calendrier : Quand l'ACP sera-t-elle terminée ? Exemple : « Conclusions initiales d'ici vendredi, rapport final d'ici mercredi prochain. »
Liste de vérification pendant l'ACP
- Langage sans blâme : Évitez les mots comme « faute », « erreur » ou « aurait dû ». Concentrez-vous sur les conditions du système.
- Perspectives multiples : Assurez la contribution d'au moins deux rôles différents (par exemple, développeur et SRE) pour éviter la pensée de groupe (vérification du paradoxe d'Abilene).
- Causes fondées sur des preuves : Chaque réponse « pourquoi » doit être liée à un journal, une métrique ou un témoignage. Pas d'hypothèses.
- Facteurs contributifs catégorisés : Utilisez une arête de poisson ou similaire pour capturer les personnes, les processus, la technologie, l'environnement.
- Génération d'options : Générez au moins trois options pour la décision. Ne vous contentez pas de la première idée.
- Critères de décision explicites : Définissez les critères (coût, délai, réduction des risques) et pondérez-les si nécessaire.
- Éléments d'action avec propriétaires et dates : Chaque remédiation doit avoir un seul propriétaire et une date d'échéance.
Liste de vérification de la gouvernance post-ACP
- Suivi planifié : Mettez une date de revue au calendrier immédiatement. Exemple : « Revue des éléments d'action le 5 juillet à 10 h 00. »
- Métriques définies et référencées : Pour chaque action, définissez une métrique et sa référence. Exemple : « Temps de basculement de référence : 15 min. Objectif : <3 min. »
- Registre de décision mis à jour : Utilisez un modèle de registre de décision standard (Contexte, Options, Décision, Justification, Conséquences).
- Plan de communication : Qui doit connaître le résultat et comment ? Exemple : « Envoyer un résumé exécutif à l'équipe de direction ; publier un post-mortem technique sur le wiki interne ; envoyer un courriel à toute l'ingénierie. »
- Intégration de l'apprentissage : Comment cette ACP alimentera-t-elle la formation ou les processus ? Exemple : « Ajouter un module sur la planification de capacité à l'intégration des nouveaux ingénieurs. »
- Évaluation de l'efficacité : Après 30 jours, évaluez si les actions ont réduit les risques ou amélioré les performances. Sinon, revisitez la cause profonde.
Métriques pour l'efficacité de l'ACP
Vous ne pouvez pas améliorer ce que vous ne mesurez pas. Suivez ces métriques pour voir si l'ACP fonctionne :
- Temps moyen de récupération (MTTR) : Combien de temps il faut pour restaurer le service après un incident. Une diminution du MTTR indique une meilleure résilience et de meilleurs runbooks.
- Taux d'incidents répétés : Nombre d'incidents avec la même cause profonde dans une fenêtre glissante de 90 jours. Si ce chiffre est supérieur à zéro, votre ACP ne corrige pas les causes profondes.
- Taux d'achèvement des éléments d'action : Pourcentage d'éléments d'action de l'ACP terminés à la date d'échéance ou avant. Visez >90 %.
- Délai entre l'incident et le début de l'ACP : À quelle vitesse vous commencez l'analyse après l'incident. Meilleure pratique : dans les 24 à 48 heures pendant que la mémoire est fraîche.
- Score de qualité de la revue post-incident : Une note subjective par l'équipe sur une échelle de 1 à 5 pour évaluer dans quelle mesure l'ACP a identifié les vraies causes et conduit au changement. Sondage après chaque ACP majeure.
- Coût des temps d'arrêt par incident : Les revenus perdus plus les coûts opérationnels pendant l'incident. Cela aide à prioriser les investissements.
Par exemple, Acme Corp a suivi le MTTR et le taux d'incidents répétés. Après la mise en œuvre du jalon de test de charge, les incidents de paiement répétés sont passés de 3 par trimestre à 0, et le MTTR pour tout problème lié à la base de données est passé de 45 minutes à 12 minutes.
Vérification du cadre
Avant de finaliser une ACP, demandez si les cadres de gestion suivants changent la conclusion :
- SMART Goals : Les éléments d'action sont-ils spécifiques et mesurables ? Sinon, réécrivez-les.
- AIDA Model : La communication des résultats persuadera-t-elle les parties prenantes d'agir ? Sinon, ajustez la présentation.
- Abilene Paradox : Le groupe a-t-il accepté trop rapidement ? Y a-t-il un point de vue dissident qui devrait être exploré ?
Si un cadre révèle une faiblesse, itérez l'analyse. Les cadres ne sont utiles que s'ils améliorent la qualité et le calendrier des décisions réelles.
Propriété et cadence
Attribuez un propriétaire nommé pour le processus de gouvernance de l'ACP. Cette personne n'est pas le décideur pour chaque incident, mais elle s'assure que la liste de vérification est suivie et que les actions sont suivies. Par exemple, dans une petite organisation, le CTO peut être propriétaire du processus ; dans une plus grande, un gestionnaire d'ingénierie ou un ingénieur de fiabilité dédié peut en être propriétaire.
Établissez une cadence régulière pour examiner les éléments d'action ouverts des ACP. Une réunion hebdomadaire de 30 minutes avec les propriétaires responsables maintient les choses en mouvement. Utilisez un tableau de bord simple montrant chaque action, propriétaire, date d'échéance et statut. Cela évite le mode de défaillance courant des ACP produisant de longues listes d'actions que personne ne termine.
Conclusion
L'analyse des causes profondes, lorsqu'elle est dirigée efficacement, devient un avantage concurrentiel. Elle transforme les pannes imprévisibles en apprentissage systématique. Elle remplace le blâme par la curiosité. Elle aligne les efforts d'ingénierie sur la résilience de l'entreprise. Le CTO qui maîtrise le leadership en ACP peut répondre avec confiance à la question du conseil d'administration : « Qu'avons-nous fait pour empêcher que cela ne se reproduise ? » avec des preuves, pas des promesses.
Pour mettre cela en pratique, commencez par une initiative actuelle. Choisissez un incident récent ou un quasi-accident qui a causé une douleur client ou une perte de revenus. Appliquez la liste de vérification de ce guide :
- Définissez la décision : qu'allez-vous changer ?
- Identifiez le propriétaire et les parties prenantes.
- Collectez des preuves et effectuez un 5 pourquoi rigoureux.
- Générez des options et choisissez en utilisant des critères explicites.
- Documentez un registre de décision avec des actions, des propriétaires et des dates.
- Mettez en œuvre et validez avec des métriques.
- Examinez selon le calendrier et mettez à jour l'analyse.
Comparez ensuite votre processus avec les cadres connexes — SMART Goals, AIDA Model, Abilene Paradox — et voyez où vous pouvez approfondir l'analyse. Un bon cadre de gestion ne produit pas seulement des rapports ; il rend les désaccords visibles tôt, montre pourquoi un choix a été fait et aide l'équipe à s'ajuster lorsque les preuves changent.
Revisitez votre pratique de l'ACP à chaque cycle de planification. À mesure que les contraintes évoluent, que de nouvelles preuves émergent et que les priorités changent, les décisions que vous avez prises le trimestre dernier peuvent ne plus tenir. Traitez l'ACP comme un moteur d'amélioration continue, pas comme un rituel ponctuel. Au fil du temps, vous construirez une culture où les incidents sont rares, les récupérations rapides et l'apprentissage permanent.