关于 postmortem
postmortem 是一项复盘失败事件的技能,重点在理解系统如何导致结果,而非归咎个人。它引导团队从明确事件、分析根因,推进到落实变更并验证成效。
主要功能
- 01明确界定事件
- 02用 5 Whys 分析根因
- 03区分根因与促成因素
- 04回顾被忽略的预警
- 05区分可控与不可控因素
- 06制定负责人、期限和验证日期
适用场景
- 01复盘销售目标未达成
- 02分析产品发布失败
- 03调查招聘未达预期
- 04检查改进措施是否奏效
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill postmortem安装后在 Claude Code 中输入/postmortem确认已加载。
详细介绍
/em:postmortem — 诚实分析哪里出了问题
命令: /em:postmortem <event>
不是追责,而是理解。失败的交易、错过的季度目标、扑街的功能、没有成功的招聘,都适用。究竟发生了什么、为什么发生、因此需要改变什么。
为什么大多数复盘会失败
它们通常会变成以下两种之一:
追责会议:有人被推出来当替罪羊,大家开始防御,真正的原因没有被审视,同样的问题换个形式再次出现。
粉饰太平:"我们学到了很多,会做得更好,以下是 12 条含糊的行动项。"结果什么都没变。同样的问题,只是换到了下个季度。
真正的复盘两者都不是。它是对系统性失败进行的严谨调查。不是"这是谁的错",而是"什么条件使这个结果在事后看来是可以预见的?"
目的: 从一次失败中榨取最大的学习价值,从而防止问题再次发生,并改进系统。
框架
第一步:精确定义事件
分析之前,先准确描述发生了什么。
- 预期结果是什么?
- 实际结果是什么?
- 差距最早在什么时候显现?
- 影响是什么(财务、运营、声誉)?
精确很重要。"我们没有完成第三季度的营收目标"还不够精确。"我们新增 ARR 为 42 万美元,目标为 68 万美元,缺口 26 万美元,主要原因是三笔交易推迟到第四季度,另有一笔交易输给了竞争对手"才是精确的。
第二步:正确地使用 5 Whys
目标:从发生了什么(表象)追溯到为什么会发生(根本原因)。
糟糕的 5 Whys 通常是这样的:
- 为什么没完成营收?因为交易推迟了。
- 为什么交易会推迟?因为销售周期比预期长。
- 为什么?因为客户的采购流程很复杂。
- 为什么?因为我们在做企业级销售。
- 为什么?企业级销售本来就是这样。
→ 结论:无事可做。这就是企业级业务的特点。
真正的 5 Whys 则是这样的:
- 为什么没完成营收?三笔交易滑出了本季度。
- 为什么这些交易会滑出?它们都没有确定一位有预算审批权的关键推动者。
- 为什么我们在没有关键推动者的情况下推进交易?我们的资格审核标准没有这一要求。
- 为什么资格审核标准没有这一要求?我们在 8 个月前制定这套标准时,还是在做中小企业业务,而不是企业级业务。
- 为什么随着理想客户画像(ICP)变化,我们没有更新资格审核标准?没有负责人,也没有审核标准的流程。
→ 根本原因:资格审核标准过时,没有负责人,也没有审核流程。 → 修复措施:更新标准,指定负责人,增加季度审核。
判断好根本原因的标准: 你能否通过一个具体、明确的改变来防止问题再次发生?如果能,说明你找到了真正的原因。
第三步:区分促成因素与根本原因
大多数事件都有多个促成因素,但并非所有因素都是根本原因。
促成因素: 让情况变得更糟,但不是核心原因。即使移除它,结果可能会有所不同,但同一类问题仍会再次出现。
根本原因: 使结果成为必然的根本条件。解决它之后,这一类问题就不会再出现。
以失败的招聘为例:
- 促成因素:流程仓促、跳过了背景调查、团队在压力下急于补充人手
- 根本原因:没有明确的能力框架,因此面试流程取决于由谁来面试
这种区分非常重要。 如果你只处理促成因素,下次就会出现一个看似不同、实质结构相同的失败。
第 4 步:找出被忽视的预警信号
每次失败都有先兆。事后看来,它们显而易见。这一步的价值在于让这些信号在事前就变得清晰可见。
请思考:
- 在哪个时间点,负面结果已经可以预见?
- 当时有哪些信号可见?
- 谁看到了这些信号?他们提出后发生了什么?
- 为什么这些信号没有得到处理?
常见模式:
- 信号被提出过,但被资深人士驳回
- 信号没有被提出,因为没有人觉得说出来是安全的
- 信号被看到了,但没有人明确负责采取行动
- 数据是可得的,但没有人在看
- 团队过于乐观,没有认真对待负面信号
这一步对系统性问题尤为重要。"我们不觉得提出顾虑是安全的",远比"商机资格审核出了问题"更接近深层根因。
第 5 步:区分可控因素与不可控因素
有些失败发生在决策正确的情况下,有些则是因为决策失误。分清二者,才能避免过度修正和修正不足。
- 可控: 流程、标准、团队能力、资源分配、已做出的决策
- 不可控: 市场环境、客户决策、竞争对手行动、宏观事件
对于不可控因素:可以做什么,使自身在面对类似事件时更具韧性? 对于可控因素:具体需要改变什么?
警告: "这超出了我们的控制范围"有时会被用来逃避问责。请务必严格审视。
第 6 步:建立变更登记表
每份复盘都应以变更登记表收尾,列出具体承诺,并明确责任人和期限。
不好的行动项:
- "我们会改进商机资格审核流程"
- "沟通会更好"
- "我们对预测会更加严谨"
好的行动项:
- "Ravi 负责在 3 月 15 日前重写商机资格审核标准,将识别关键联系人(champion)列为硬性要求。新标准将从 3 月 22 日起在每周销售例会上评审。"
- "Elena 将在 3 月 10 日前为 CRM 增加商机延期风险标记:对于超过 60 天未进行产品演示的任何未关闭商机,均加上该标记"
- "Maria 从 4 月 1 日起每 6 周与企业销售团队开展一次 30 分钟的复盘会,回顾赢单/丢单数据"
对于每一项行动,请明确:
- 具体要改变什么?
- 由谁负责?
- 何时完成?
- 如何验证其是否有效?
第 7 步:验证日期
这是最常被遗漏的一步。如果没有人检查变更是否真正落实,以及是否真正有效,复盘就毫无用处。
请设定一个验证日期,例如:"我们将在 6 月的董事会会议上审查商机资格审核标准是否已更新,以及商机延期率是否有所改善。"
没有这一步,复盘就只是走过场。
复盘输出格式
EVENT: [Name and date]
EXPECTED: [What was supposed to happen]
ACTUAL: [What happened]
IMPACT: [Quantified]
TIMELINE
[Date]: [What happened or was visible]
[Date]: ...
5 WHYS
1. [Why did X happen?] → Because [Y]
2. [Why did Y happen?] → Because [Z]
3. [Why did Z happen?] → Because [A]
4. [Why did A happen?] → Because [B]
5. [Why did B happen?] → Because [ROOT CAUSE]
ROOT CAUSE: [One clear sentence]
CONTRIBUTING FACTORS
• [Factor] — how it contributed
• [Factor] — how it contributed
WARNING SIGNS MISSED
• [Signal visible at what date] — why it wasn't acted on
WHAT WAS IN CONTROL: [List]
WHAT WASN'T: [List]
CHANGE REGISTER
| Action | Owner | Due Date | Verification |
|--------|-------|----------|-------------|
| [Specific change] | [Name] | [Date] | [How to verify] |
VERIFICATION DATE: [Date of check-in]
优秀复盘的语气
追责很容易,理解却很难。
目标不是证明某人犯了错,而是理解系统为何会产生这样的结果,从而改进系统。
"销售人员没有正确地对商机进行资格审核"是追责。 "我们向高客单价市场转型时,没有更新资格审核框架,也没有人负责保持其更新"是理解。
前一种说法会让某人被开除或蒙羞,后一种说法则有助于打造更具韧性的组织。
两者可能同时成立。区别在于:哪一种真正能防止问题再次发生?