Learning
VOL. XI · NO. 20 · Bonus Models · 01 JAN 1970

事前验尸与预检:在发生之前"看到"失败

额外模型 · 01 JAN 1970 · 11 min read · 2,742 words
· · ·

两个最简单但最被低估的风险管理工具。事前验尸让你在项目开始前"想象失败"来预防失败。预检清单(Checklist)让你在关键节点避免"低级的疏忽"。

**预计时间:**20 分钟读完 + 25 分钟做练习 = 45 分钟。

本课核心论点
事前验尸(Pre-Mortem)和预检清单(Checklist)是两种互补的"预防性思维"工具。事前验尸:在项目开始前,假设项目已经失败了——然后问"是什么导致了失败?"——这比在项目出问题后再做"事后验尸"(Post-Mortem)要有效得多。预检清单:一个简单的检查清单——不是教你怎么做——而是确保你不会忘记那些"你明知道要做但一忙就会忘"的关键步骤。

一、事前验尸(Pre-Mortem)

1.1 为什么事前验尸有效

认知心理学发现:人们在做计划时倾向于过度乐观——“计划谬误”(Planning Fallacy)。事前验尸打破了这种乐观:你被迫去想象失败——这激活了大脑的”防御性思维”,而不是”计划性思维”。

对比两种讨论方式:

  • 普通讨论:“这个项目有哪些风险?“——人们会说出 2-3 个明显的风险
  • 事前验尸:“假设 18 个月后项目惨败——它是怎么失败的?“——人们会说出更多的、更具体的失败场景

1.2 事前验尸的流程

  1. 设定场景:假设项目已经失败了,时间快进到未来的某个点
  2. 个人写作:每个参与者独立写下”导致失败的 3-5 个原因”——不要讨论,防止”集体思维”
  3. 集体分享:每个人读出自己写的失败原因——贴在白板上分类
  4. 分析根因:对每个失败原因——问”这个在目前的计划中被充分考虑了吗?”
  5. 行动计划:对前 3 个最可能的失败原因——制定明确的预防措施

1.3 事前验尸的应用场景

  • 项目启动时
  • 重大变更决策前
  • 季度/年度计划制定时
  • 新产品/新功能立项时

二、预检清单(Checklist)

2.1 清单的力量

Atul Gawande 在他的《清单宣言》(The Checklist Manifesto)中展示了清单在医疗和航空领域的惊人效果:

  • ICU 使用清单后——患者的中心静脉导管感染率从 11% 降到 0%
  • 手术室使用清单后——手术并发症降低 36%
  • 飞行员使用检查单——航空事故率降到了极低的水平

2.2 清单在软件项目中的应用

场景清单示例
上线前检查数据库备份完成?配置已更新?监控已配置?回滚方案已准备?
代码审查安全漏洞检查?错误处理完整?日志覆盖关键路径?敏感信息没有硬编码?
需求评审验收标准定义清晰?非功能性需求(性能、安全)覆盖?异常流程有定义?
Sprint 规划任务分解到 <2 天?依赖关系已识别?测试计划已提及?

2.3 好清单的特征

  • :5-9 个关键项——太长就没人在意了
  • 聚焦在”容易忘的事”上——不是把所有步骤都写进去(那是 SOP)
  • 可执行——每项是一个动作(“确认 X 已完成”),不是抽象概念(“确保质量”)
  • 在不同角色之间读出来——比如上线时运维读清单,开发逐一确认——不是只有一个人默默 check
芒格怎么说
芒格自己就是"检查清单"的坚定拥护者——他有一个"投资决策检查清单",在他做任何重大投资之前都会逐项过一遍。清单上包括:"我理解这门生意吗?""有足够的护城河吗?""管理层诚实吗?""我能承受最坏情况吗?"——他称之为"no-brainer checklist"(不需要动脑的清单),因为真正的价值不在于"思考这些问题",而在于"确保你不会忘了问这些问题"。

三、两个工具的协同

维度事前验尸预检清单
时机项目开始前,做一次性的”未来扫描”关键节点重复使用,每次执行
目标识别”我们没想到的失败模式”确保”我们已经知道要做的事”不被遗漏
方法开放式的”想象失败”——产生新的洞察结构化的”检查”——确保执行到位
输出失败原因清单 + 预防措施完成/未完成的检查项
最佳用法用事前验尸发现”我们忘了做什么”→ 把结果加入预检清单用预检清单确保”我们不会犯低级错误”

四、实战案例

4.1 案例 1:事前验尸防住了一场上线灾难

一个金融系统要做一次重大的版本升级。在上线前一周,团队做了事前验尸:“假设上线失败了——最可能的原因是什么?”

  • 写出来的原因包括:数据迁移脚本没跑对、回滚方案没测试过、某些 API 兼容性没覆盖到
  • 团队针对每个原因做了预防措施:
  • 数据迁移脚本先在 staging 环境全量跑一次
  • 回滚方案做了完整的演练
  • 兼容性测试用例扩展到所有已知 API 消费方
  • 上线当天虽然有小的波折——但没有真正出事

4.2 案例 2:上线检查清单

某 OTP 团队的上线流程:

  1. 清单第一项:数据库变更脚本是否已经过 DBA 审查?
  2. 清单第二项:是否在 staging 环境做过完整的冒烟测试?
  3. 清单第三项:回滚方案是否已准备并验证?
  4. 清单第四项:监控告警规则是否已经更新?
  5. 清单第五项:上线通知是否已发给相关团队?

这张清单上线后——“上线后才发现忘了做某事”的事故减少了 80%。

4.3 案例 3:需求评审的”事前验尸”

一个功能需求评审会——不先用常规方式过需求——而是先做 15 分钟的”事前验尸”:

  • “假设这个功能上线后失败了——最可能的原因?”
  • 团队发现:用户的实际操作步骤和产品设计假设的不一致
  • 于是决定在进入开发前先做一个交互原型验证——这节省了后面至少 2 周的返工

五、测验(10 题)

1

事前验尸的核心方法是什么?

2

事前验尸为什么比"列出风险"更有效?

3

芒格的投资检查清单的主要作用是?

4

Atul Gawande 的研究显示,手术室使用清单后:

5

一个好的清单应该是?

6

事前验尸的个人写作阶段为什么不能讨论?

7

"上线前发现忘了通知相关团队"——这最容易被——

8

事前验尸最适合在什么阶段做?

9

清单和 SOP(标准操作流程)的区别是?

10

事前验尸和预检清单的协同关系是?

场景题

R1

R1. 场景:一个新系统的上线计划已经制定好了。你想引入事前验尸——应该怎么做?

R2

R2. 场景:你的团队每周都因为"忘记做某步"导致上线出问题——每次都是不同的步骤。你怎么办?

六、答题提示

展开提示

  • Q1-3 事前验尸 = 想象失败 + 提前预防;清单 = 防止忘记关键步骤。
  • Q4-5 清单的有效性有充分的医学和航空证据。
  • Q6-7 事前验尸的个人独立写作防止集体思维。
  • Q8-10 两者互补:事前验尸发现新漏洞,清单确保已知步骤不被遗漏。
  • R1-R2 两个工具简单、免费、但极少人坚持用——这是最大的遗憾。

七、本课行动清单

  1. 在你当前或下一个项目启动时,组织一次 30 分钟的事前验尸会议。
  2. 创建一个你的团队/项目的”上线检查清单”——从写 5 个最容易忘的步骤开始。
  3. 把”事前验尸”和”检查清单”作为团队的常规实践——不要只在”出大事”时才用。
  4. 芒格的做法:为自己创建一个”决策检查清单”——不管大小决策,过一遍清单再决定。

八、参考来源

  • ③ 严肃著作:Atul Gawande,《The Checklist Manifesto: How to Get Things Right》——关于清单的最著名著作
  • ③ 严肃著作:Gary Klein,“Performing a Project Premortem”(Harvard Business Review, 2007)——事前验尸方法的系统介绍
  • ③ 严肃著作:Daniel Kahneman,《Thinking, Fast and Slow》——关于”计划谬误”和”事前验尸”的认知心理学基础
  • ④ 实用读物:Charlie Munger,“The Psychology of Human Misjudgment”——芒格的 25 个认知偏误检查清单

**下一步:**看 Lesson 0021 · 综合案例:OTC 衍生品交易(进入 Part 5)。