Simyl
simylflow
Accueil du cours
Module 5 : Amélioration continue
Leçon 3 sur 5
11 min

Analyse des causes profondes

Aller au-delà des symptômes pour trouver les causes systémiques.

1Pourquoi les causes profondes sont importantes

La plupart des résolutions de problèmes s'attaquent aux symptômes, pas aux causes.

Le déploiement a échoué? Annulez et redéployez. Un bogue en production? Appliquez un correctif d'urgence. La compilation est lente? Ajoutez plus de serveurs de compilation.

Ces correctifs s'attaquent à la douleur immédiate. Le problème disparaît... jusqu'à ce qu'il revienne. Parce que vous n'avez pas corrigé ce qui l'a causé.

L'analyse des causes profondes signifie demander « pourquoi? » jusqu'à ce que vous trouviez la cause systémique — la chose qui, si elle était corrigée, empêcherait le problème de se reproduire.

Le déploiement n'a pas échoué à cause d'un problème aléatoire. Il a échoué parce que la suite de tests est instable. La suite de tests est instable parce que les tests partagent un état. Les tests partagent un état parce que le framework de test n'a pas été bien compris lors de sa mise en place.

Corrigez le symptôme immédiat (réessayez le déploiement) et vous réessaierez demain. Corrigez la cause profonde (corrigez la compréhension du framework de test) et les déploiements cesseront d'échouer.

L'analyse des causes profondes prend plus de temps au départ. Mais elle permet d'économiser exponentiellement plus de temps en prévenant la récurrence.

Le danger des correctifs rapides

Chaque correctif rapide qui ne s'attaque pas aux causes profondes crée un modèle : le problème se reproduit, vous le corrigez à nouveau, il devient « normal ». Finalement, vous avez un système maintenu par des solutions de contournement, où les problèmes réels sont invisibles sous des couches de correctifs.

2Les cinq pourquoi

Les cinq pourquoi sont la technique d'analyse des causes profondes la plus simple : continuez à demander « pourquoi? » jusqu'à ce que vous atteigniez une cause profonde, généralement après environ cinq itérations.

Exemple :

Problème : La production est tombée pendant 2 heures.

  1. Pourquoi? Une mauvaise configuration a été déployée.
  2. Pourquoi? Le changement de configuration n'a pas été testé.
  3. Pourquoi? Nous n'avons pas de tests de changement de configuration.
  4. Pourquoi? La configuration est gérée séparément du code.
  5. Pourquoi? L'équipe d'infrastructure l'a configurée avant que l'équipe de développement n'adopte GitOps.

Cause profonde : Séparation historique de la configuration et du code dans le pipeline de déploiement.

Contre-mesure : Déplacer la configuration dans le même dépôt et le même pipeline CI/CD que le code de l'application.

Pièges des cinq pourquoi :

  • S'arrêter trop tôt : « L'erreur humaine » n'est jamais une cause profonde. Pourquoi l'erreur s'est-elle produite? Quel système l'a permise?
  • Linéaire : Les vrais problèmes ont souvent plusieurs causes. Les cinq pourquoi peuvent manquer des chaînes causales parallèles.
  • Basé sur l'opinion : Sans données, vous pourriez demander « pourquoi? » et obtenir de la spéculation au lieu de faits.
  • Recherche de coupables : Si les cinq pourquoi dégénèrent en « qui a fait une erreur? », ils sont mal utilisés.

Les cinq pourquoi fonctionnent mieux comme point de départ, complétés par des données et plusieurs perspectives.

3Diagrammes d'Ishikawa (arête de poisson)

Le diagramme d'Ishikawa, aussi appelé arête de poisson ou diagramme de cause à effet, aide à explorer simultanément plusieurs catégories de causes.

Le problème est la « tête » du poisson. Les principales catégories de causes sont les « arêtes ». Les sous-causes se ramifient à partir de chaque arête.

Catégories courantes (les 6 M) :

  • Main-d'œuvre : Personnes, compétences, formation
  • Méthode : Processus, procédures
  • Machine : Outils, équipement, systèmes
  • Matière : Intrants, données, dépendances
  • Mesure : Métriques, surveillance, rétroaction
  • Milieu : Facteurs externes, contexte

Pour les logiciels, vous pourriez adapter :

  • Personnes : Compétences, communication, structure d'équipe
  • Processus : Flux de travail, transferts, politiques
  • Technologie : Outils, infrastructure, architecture
  • Données : Intrants, état, dépendances
  • Mesure : Visibilité, surveillance, alertes
  • Environnement : Services externes, charge, contexte

Le diagramme aide les équipes à réfléchir aux causes de manière systématique plutôt que de s'ancrer sur la première idée. Il révèle que les problèmes ont généralement plusieurs causes contributives.

Combinez les techniques

Utilisez les cinq pourquoi pour approfondir chaque branche de l'arête de poisson. L'arête de poisson garantit que vous explorez largement; les cinq pourquoi garantissent que vous explorez en profondeur. Ensemble, ils sont puissants.

Cause profonde trouvée

Incident : L'échec du déploiement a causé une panne de 2 heures. Les cinq pourquoi ont mené à : configuration non testée → configuration gérée séparément → décision d'architecture historique. L'arête de poisson a révélé : aussi aucun guide de déploiement (Processus), aucun processus canari (Méthode). Les trois ont été traités.

Cause profonde manquée

Incident : L'échec du déploiement a causé une panne de 2 heures. Conclusion du post-mortem : « Le développeur aurait dû être plus prudent. » Action : « Être plus prudent la prochaine fois. » Le problème se reproduit deux semaines plus tard avec un développeur différent.

Points clés
  • Corriger les symptômes sans les causes profondes mène à des problèmes récurrents
  • Les cinq pourquoi approfondissent en demandant « pourquoi? » de façon répétée
  • L'erreur humaine n'est jamais une cause profonde — demandez quel système l'a permise
  • Les diagrammes d'arête de poisson aident à explorer plusieurs catégories de causes
  • Utilisez des données, pas de la spéculation, pour valider les chaînes causales
Pièges courants à éviter
  • S'arrêter à « l'erreur humaine » ou au « manque d'attention »
  • Utiliser les cinq pourquoi sans données pour valider les hypothèses
  • Trouver une cause et s'arrêter (les problèmes ont souvent plusieurs causes)
  • Transformer l'analyse des causes profondes en attribution de blâme