mcpField
P
postmortem

postmortem

github.com/alirezarezvani生产力29.0k1.5k 次安装今天更新
代码仓库

关于 postmortem

postmortem 是一项复盘失败事件的技能,重点在理解系统如何导致结果,而非归咎个人。它引导团队从明确事件、分析根因,推进到落实变更并验证成效。

主要功能

  1. 01明确界定事件
  2. 02用 5 Whys 分析根因
  3. 03区分根因与促成因素
  4. 04回顾被忽略的预警
  5. 05区分可控与不可控因素
  6. 06制定负责人、期限和验证日期

适用场景

  1. 01复盘销售目标未达成
  2. 02分析产品发布失败
  3. 03调查招聘未达预期
  4. 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]

优秀复盘的语气

追责很容易,理解却很难。

目标不是证明某人犯了错,而是理解系统为何会产生这样的结果,从而改进系统。

"销售人员没有正确地对商机进行资格审核"是追责。 "我们向高客单价市场转型时,没有更新资格审核框架,也没有人负责保持其更新"是理解。

前一种说法会让某人被开除或蒙羞,后一种说法则有助于打造更具韧性的组织。

两者可能同时成立。区别在于:哪一种真正能防止问题再次发生?

评论

支持 Markdown