--- title: "Five Whys" type: concept tags: [root-cause-analysis, incident-management, reliability] last_updated: 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 | 错误 | 原因 | 修正 | |------|------|------| | "因为人员疏忽" | 永远指向根因,但无行动价值 | 追问:系统为什么允许疏忽发生? | | "需要更好的监控" | 泛泛而谈,缺乏可落地性 | 具体:哪种监控,触发什么行动? | | "因为云厂商问题" | 外部归因,无法控制 | 追问:为什么没有灾备方案? | ## Related Concepts - [[BlamelessPostMortem]] — 5 Why 是无责复盘的核心根因分析工具 - [[FaultTreeAnalysis]] — 可与 5 Why 互补使用的结构化分析 - [[DORA-Metrics]] — 量化事故影响,为复盘提供数据支撑 ## Sources - [[engineering-incident-response-commander]]