3.0 KiB
3.0 KiB
title, type, tags, last_updated
| title | type | tags | last_updated | |||
|---|---|---|---|---|---|---|
| Five Whys | concept |
|
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 使用:
- 保持中立:避免使用指责性语言
- 聚焦系统:问"系统/流程允许了什么"而非"谁做错了"
- 不止五层:有时需要 6-7 层才能到达系统性根因
- 验证:用 FaultTreeAnalysis 交叉验证 5 Why 结论
Relationship with Fault Tree Analysis
| 维度 | Five Whys | Fault Tree Analysis |
|---|---|---|
| 方向 | 自下而上(症状→根因) | 自上而下(顶事件→叶事件) |
| 适用场景 | 已知单一事故 | 复杂、多因故障链 |
| 协作性 | 团队讨论式 | 结构化图形化 |
| 互补性 | 可结合使用:FTA 识别多因,5 Why 挖掘每个原因 |
Key Principles
Do(应该做)
- 从具体可观察的事实开始
- 每个回答都基于证据,而非假设
- 继续追问直到找到系统层面的原因
- 在团队环境中使用(多元视角更有效)
Don't(不应该做)
- 不停在第一个"合理"答案就停止
- 归咎于个人("因为某人操作失误")
- 假设自动化可以解决所有问题
- 不验证答案是否与数据一致
Anti-Patterns
| 错误 | 原因 | 修正 |
|---|---|---|
| "因为人员疏忽" | 永远指向根因,但无行动价值 | 追问:系统为什么允许疏忽发生? |
| "需要更好的监控" | 泛泛而谈,缺乏可落地性 | 具体:哪种监控,触发什么行动? |
| "因为云厂商问题" | 外部归因,无法控制 | 追问:为什么没有灾备方案? |
Related Concepts
- BlamelessPostMortem — 5 Why 是无责复盘的核心根因分析工具
- FaultTreeAnalysis — 可与 5 Why 互补使用的结构化分析
- DORA-Metrics — 量化事故影响,为复盘提供数据支撑