Files
nexus/wiki/concepts/FiveWhys.md
2026-05-03 05:42:12 +08:00

3.0 KiB
Raw Blame History

title, type, tags, last_updated
title type tags last_updated
Five Whys concept
root-cause-analysis
incident-management
reliability
2026-05-01

Definition

5 问法Five Whys是一种迭代式根因分析技术通过连续追问"为什么"Why五层或更多穿透表面现象找到系统性根本原因。最初由丰田汽车的大野耐一在精益制造中提出现广泛应用于可靠性工程和事故管理。

Core Method

从观察到的**问题(症状)**开始,连续追问"为什么",直到找到:

  • 一个可采取行动的根本原因root cause
  • 或一个系统性缺口systemic gap

经典示例

问题:网站宕机了。

层级 问法 回答
1 为什么网站宕机了? 应用服务器无响应
2 为什么服务器无响应? 数据库连接池耗尽
3 为什么连接池耗尽? 一个慢查询锁住了所有连接
4 为什么慢查询没有被检测? 没有查询超时限制和监控
5 为什么没有超时限制? 配置变更流程中没有强制要求

根因:配置变更流程缺少数据库安全门(超时限制验证)

Application in Incident Post-Mortem

BlamelessPostMortem 中的 5 Why 使用:

  1. 保持中立:避免使用指责性语言
  2. 聚焦系统:问"系统/流程允许了什么"而非"谁做错了"
  3. 不止五层:有时需要 6-7 层才能到达系统性根因
  4. 验证:用 FaultTreeAnalysis 交叉验证 5 Why 结论

Relationship with Fault Tree Analysis

维度 Five Whys Fault Tree Analysis
方向 自下而上(症状→根因) 自上而下(顶事件→叶事件)
适用场景 已知单一事故 复杂、多因故障链
协作性 团队讨论式 结构化图形化
互补性 可结合使用FTA 识别多因5 Why 挖掘每个原因

Key Principles

Do应该做

  • 从具体可观察的事实开始
  • 每个回答都基于证据,而非假设
  • 继续追问直到找到系统层面的原因
  • 在团队环境中使用(多元视角更有效)

Don't不应该做

  • 不停在第一个"合理"答案就停止
  • 归咎于个人("因为某人操作失误"
  • 假设自动化可以解决所有问题
  • 不验证答案是否与数据一致

Anti-Patterns

错误 原因 修正
"因为人员疏忽" 永远指向根因,但无行动价值 追问:系统为什么允许疏忽发生?
"需要更好的监控" 泛泛而谈,缺乏可落地性 具体:哪种监控,触发什么行动?
"因为云厂商问题" 外部归因,无法控制 追问:为什么没有灾备方案?

Sources