同一个坑踩了三次,每次事后都说"下次注意"。第三次踩的时候你已经很熟悉这个坑了——熟悉到踩进去的瞬间就知道自己又要说"下次注意"。这句话失效不是因为态度不端正,是因为它没有可执行内容:没说清什么条件下要做什么,也没说清不适用时该怎么办。
判据做的事只有一件:把"我"换成条件。条件是可被反驳的,所以能被检验;"注意"不可反驳,所以既不能检验,也不能复用。
1. "下次注意"为什么不算结论
| 结论形态 | 可执行内容 | 下次能否被触发 | 缺什么 |
|---|---|---|---|
| 下次注意 | 无 | 不会 | 触发条件与动作都没有 |
| 以后早点介入 | 有方向、无阈值 | 很难 | "多早算早"没人说得清 |
| 需求变更要走评审 | 有动作、缺条件 | 偶尔 | 多小的变更也要走吗 |
| 涉及对外接口的变更先冻结排期 | 触发 + 动作 | 会 | 还差一句"什么情况不适用" |
四种形态的差别,本质是可反驳性。说"下次注意"时,没人能证明它错;说"涉及对外接口的变更先冻结排期"时,别人可以直接举反例:一次纯文案调整算不算?能举出反例,就说明它约束了行为;不能举反例的结论,对行为没有任何约束。
─── 把口头结论改写成能落地的一句
- 这次就是太急着上线了,下次注意
+ 若变更触及已联调的接口,先冻结新排期再评估;纯文案变更直接改
- 以后要早点跟对方确认
+ 若对方给的范围只有一句话且无验收口径,先要书面范围再估期
// 判据要能被别人拿去执行,而不是只能被你理解
2. 个人复盘和团队复盘不是一件事
| 维度 | 个人复盘 | 团队复盘 |
|---|---|---|
| 说真话的空间 | 可以说"是我判断错了" | 要顾关系与责任,常停在流程层 |
| 产出物 | 判据、检查项,私用 | 改进项、责任人、时间点 |
| 时间成本 | 30 分钟量级 | 一两小时,外加会前准备 |
| 失效方式 | 不复盘,只在脑子里过一遍 | 变成追责会,改进项没人跟 |
| 记录归属 | 自己的检索入口 | 团队知识库 |
个人复盘最大的优势是不需要免责话术。团队复盘里所有的表达技巧、责任边界、面子照顾,在个人复盘里都是噪音——你不需要说服任何人,只需要找出自己能控制的那一段。
反过来也别搞混:个人复盘里的"我错了"不能直接搬进团队复盘,团队改进项也不能直接当个人判据——前者给流程,后者给判断。
3. 四个挡箭牌
失败之后最先浮现的四个理由,几乎都是真的,但它们都有一个共同点:指向外部。指向外部等于宣布"下次还会这样"。
| 挡箭牌 | 真实成分 | 掩盖了什么 | 该追问自己的一句 |
|---|---|---|---|
| 信息不足 | 常常是真的 | 我为什么没更早去要信息 | 什么时候发现信息不足的 |
| 时间太紧 | 常常是真的 | 压缩时我第一个砍掉的是什么 | 砍的是检查还是范围 |
| 别人没配合 | 有时是真的 | 我依赖了没有承诺的人 | 对方答应过,还是我以为他答应了 |
| 需求变了 | 有时是真的 | 变更之后我重估了哪一项 | 变了以后我有没有重估 |
真实不代表可用。判断某条理由能不能用,只看一件事:从这条理由出发,能不能导出一个由我控制的下一次动作。"时间太紧"导出不了动作,但"时间紧时我习惯砍检查项"能导出动作——下次压缩时先砍范围,不砍检查。
这也是复盘里最容易自欺的环节:把"真实"当成"可用"。理由越真实,越容易停止推演。
4. 拆决策点,而不是描述结果
结果只有一个(上线炸了、项目延期了),决策点有多个。只写结果,复盘就只能得出情绪结论;拆出决策点,才有可检验的判断。
每个决策点问三件事:
- 当时知道什么——写下当时真实掌握的信息,不是事后补充的版本;
- 还能怎么选——至少两个选项,否则它不是决策,只是执行;
- 什么信号本可提前出现——信号必须是当时可观测的,否则不算信号。
| 决策点 | 当时知道什么 | 还能怎么选 | 什么信号本可提前出现 |
|---|---|---|---|
| 是否接这个需求 | 只有一句描述,未提接口影响 | 先要书面范围再评估 | 对方说"先做起来,细节后面定" |
| 排期怎么定 | 只估了自己那部分 | 把联调时间显式列进排期 | 上次同类项目的联调都超期 |
| 变更时是否重估 | 以为只是字段调整 | 触发一次范围重评 | 变更单里出现了新接口名 |
| 出事时先做什么 | 先自己查,怕打扰别人 | 先通知下游 | 下游已经在问"是不是你们" |
第三列是复盘的真正产出。"什么信号本可提前出现"这一栏,把一次具体的失败变成了将来可识别的模式——而且它必须是当时就能看见的东西,事后才有的信号(比如"其实当时进度已经慢了")不算,因为当时你并不知道。
─── 决策点记录:每个点三行,多写会变成日记
点:变更当天是否重新评估范围
知:变更描述只写"调整字段" // 当时的真实信息,不是事后补的
选:① 直接改 ② 先冻结排期再评估 // 至少两个,否则不是决策点
信:变更单里出现新的接口名 // 必须当时可见,否则不算信号
// 三行齐了才是决策点;缺"信"一行,下次还是接不住
5. 判据的格式与落地
判据压成一句就是:触发条件 + 默认动作 + 失效条件。三个字段各管一件事——触发条件决定它什么时候被想起来,默认动作用来抵消犹豫,失效条件防止它被机械套用。
─── 判据:三个字段缺一个就退化
id: P-007
trigger: 需求在开发中变更,且触及对外接口或已联调的字段
action: 先冻结新排期评估影响面,不先动手改
invalid: 纯文案变更、未联调的内部字段改名,直接改
// 缺 trigger 想不起来;缺 action 变成"要谨慎";缺 invalid 会跨场景误用
| 判据 | 能不能用 | 问题在哪 |
|---|---|---|
| 要更谨慎 | 不能 | 无触发条件、无动作 |
| 需求变更要评审 | 半能用 | 无阈值,等于全都评审,最后全都不评审 |
| 涉及对外接口的变更先冻结排期 | 能用 | 可执行,但边界模糊 |
| 若变更触及已联调接口则先冻结排期;纯文案变更不适用 | 能用 | 边界清楚,可被举反例检验 |
判据的数量要少。它是给你在紧张状态下用的,紧张状态下人只能记住几条。整到十几条,等于没有:你不会查,也不记得有。合并同类、只留复发频率高的,宁可少而准。
写下来之后要放在会被看见的地方,判断标准是"什么时候会用到":
─── 放置位置:按使用时机放,不按分类放
改需求之前 → 需求模板里的一个必填项(例:是否触及对外接口)
写排期时 → 自己的排期模板注释里
出事当时 → 值班排查清单的第一条
// 存在私人笔记里又没有检索入口,等于没写
同一类失败反复出现,说明判据没落地,而不是复盘不够多。这种情况继续复盘只是重复生产同样的结论,该做的是改机制:把判据塞进模板、清单、评审项,让它不依赖记忆。
还有一处容易写歪:判据要写成对自己的约束,别写成对他人的要求。"对方要配合度高点"这类的判据你无法执行,只会变成抱怨。判据的主语必须是"我",或者一个我能触发的动作——不是"他们该早点通知",而是"若两天没有进度更新,我主动问一次范围有没有变"。
6. 排错、度量与边界
| 现象 | 更可能的原因 | 处理 |
|---|---|---|
| 同一个坑踩第三次 | 判据没落地,只停在脑子里 | 写下来,并放到触发点上 |
| 复盘完感觉不错,行为没变 | 只记录了结果,没拆决策点 | 重做一次,只拆决策点 |
| 每条都复盘,越复盘越累 | 投入与代价不匹配 | 只复盘"代价大且会复发"的失败 |
| 复盘写成情绪日记 | 缺"当时知道什么"这一栏 | 只写可观测的信息与选择 |
| 判据写了却从不查 | 放在看不见的地方 | 挪到模板、清单、评审项里 |
| 度量 | 怎么量 | 说明 |
|---|---|---|
| 判据条目数 | 手上有多少条真能执行的 | 超过十几条说明没做合并 |
| 复用次数 | 这些判据被用过几次 | 零复用说明触发条件写得不对 |
| 同类失败复发率 | 同一类失败间隔多久再出现 | 这是唯一硬指标 |
| 复盘到行动的转化率 | 复盘中产生的动作实际落地比例 | 低于一半说明停在描述 |
| 场景 | 复盘强度该怎么调 | 理由 |
|---|---|---|
| 一次性偶发失误 | 只记一句,不做完整复盘 | 无复发结构,复盘收益接近零 |
| 外部不可控占主导 | 只找自己能控制的那一小段 | 归因到不可控处没有动作产出 |
| 代价极小(几分钟、无影响) | 不复盘 | 复盘的固定成本高于损失 |
| 同类失败已连续复盘两次 | 停止复盘,改机制 | 结论已经重复,缺的是落地位置 |
| 情绪还没过去 | 先写事实,隔一天再判断 | 情绪状态下会把反例写成结论 |
─── 什么都别复盘的三种情况,一句话判断
1) 同类失败已复盘两次以上 → 改机制,别再复盘
2) 代价小于复盘成本 → 跳过,直接在模板里加一行
3) 当事人只有情绪没有事实 → 先睡一觉,明天再写
// 完整复盘是重投入,不是默认动作
7. 自测
- "下次注意"缺的是触发条件还是动作,还是两者都缺?
- 为什么"信息不足"这种真实理由,仍然导出不了下一次的动作?
- 一个决策点,第三栏"信号本可提前出现"为什么要限定为当时可观测?
- 判据的
invalid字段如果删掉,会出现什么误用? - 同一类失败第二次复盘之后,为什么该改机制而不是继续复盘?
- 什么情况下,完整复盘是过度投入?