方案讲了半小时,白板上画满了架构图,最后主持人问"大家还有问题吗",会议室安静,散会。两周后同一个问题在群里被重新提出,因为没有人真正做过决定。这不是表达不清,而是表达的目标错了:讲的人以为目标是"证明我想清楚了",听的人以为目标是"评估人靠不靠谱"。评审的真实产出只有一个——一个有决策权的人,在明确的选项之间做出选择,并留下理由。
论证结构见 S18-X19,评审机制见 S03-A90。这里只谈表达:怎样把选项摆到决策者面前,让他能在有限时间里做出可追溯的选择。
1. 开场要给的三个信息
| 信息 | 一句话形式 | 缺失后的后果 |
|---|---|---|
| 要决定什么 | "今天需要定的是:这一期是否接受一致性延迟换吞吐" | 讨论滑向细节,散会无结论 |
| 可选方案 | "A 保守、B 激进、C 不做,三个都在这一页" | 听的人自己脑补方案,反复回到起点 |
| 推荐哪个及理由 | "我推荐 B,理由是峰值成本可算,且可回滚" | 没人知道讲的人站哪,质疑失去靶心 |
三条必须在前 90 秒内说完。超时之后听众会自行归类为"进度汇报",接下来的时间都在评估工作量而不是做选择。
2. 决策请求单页的结构
给决策者的东西不是技术方案文档,是一页决策请求。它与完整方案的分工是:方案文档承载论证与细节,单页只承载"选择"。
1. 决定项:一句话,疑问句,可在会上回答
2. 截止时间:为什么现在要定(不定的后果)
3. 选项:A / B / C,每个一行,含代价
4. 推荐:选哪个 + 一条最强理由 + 一条最大风险
5. 影响面:成本、交付时间、可逆性
6. 待定项:谁定、何时定、不定的后果
| 段落 | 长度上限 | 必须回答 | 不该出现 |
|---|---|---|---|
| 决定项 | 一行 | 要选什么 | 背景铺垫 |
| 选项 | 每个一行 | 代价差异 | 实现细节 |
| 推荐 | 两行 | 为什么是它 | "都可以,看大家" |
| 影响面 | 四栏 | 钱、时间、风险、可逆 | 精确到小数点的估算 |
| 待定项 | 三条以内 | 谁、何时、后果 | 悬空的"后续再议" |
单页写不出来,通常说明还没想清楚,而不是格式问题。
3. "选项"要真的可选
| 特征 | 真选项 | 伪选项 | 被识破的后果 |
|---|---|---|---|
| 代价 | 各有明确损失 | 一个明显更差,用来当陪衬 | 后续所有方案都被加倍审视 |
| 可行性 | 都能落地 | 其中一个需要不存在的资源 | 推荐失去可信度 |
| 信息量 | 差异体现在代价结构 | 差异只体现在措辞 | 讨论退化为偏好之争 |
| 数量 | 2–3 个 | 4 个以上 | 决策者放弃比较,改为拍板 |
伪选项是最常见的自伤:技术上都成立,但代价天平明显倾斜。识破一次之后,下一次你列的三个选项会被当成"其实你只想说一个",评审就变成了审批。
4. 代价的表达方式
差:改造大约需要两周。
好:改造 10–15 人日;若跨两个团队协调,上限可能到 25 人日。
差:性能会有下降。
好:P99 从当前水平上浮 30%–50%,最坏情况是高峰期触发超时重试。
| 表达 | 可信度 | 决策者能用它做什么 |
|---|---|---|
| 点估计 | 低,一次偏差就失信 | 只能签字或质疑数字 |
| 区间 + 上限条件 | 高 | 能判断最坏情况是否可接受 |
| 只说"有风险" | 最低 | 无法决策,只能要求补充 |
给区间不是含糊,是把不确定性显性化。区间宽度本身也是信息:宽区间意味着还没做够调研,决策者可以据此要求先做 spike 而不是先签字。
5. 把技术选择翻译成业务后果
| 技术表述 | 业务表述 | 决策者真正在权衡的 |
|---|---|---|
| 引入最终一致性 | 用户下单后几秒内可能看到旧状态 | 投诉量与客服成本 |
| 拆服务 | 交付节奏变快,但联调与运维成本上升 | 上线速度 vs 人力占用 |
| 加缓存层 | 峰值成本下降,数据陈旧窗口变长 | 钱 vs 数据新鲜度 |
| 换存储引擎 | 迁移期双写,回滚需数据对账 | 一次性的工期 vs 长期运维 |
技术词在决策者脑里没有对应刻度,必须换成他能签字的东西:钱、人日、事故概率、能不能退回去。四栏里最容易被漏的是可逆性——它在很多决策里的权重高于成本,因为不可逆的选择会把后续所有选项都锁死。
6. 待定项的写法
待定:分片键选型
谁定:数据平台组(负责人)
何时定:下周三前,否则阻塞 DDL 评审
不定后果:迁移窗口顺延一个迭代
临时假设:按用户 ID 分片,若变更需重算容量
| 写法 | 是否可执行 | 问题 |
|---|---|---|
| "后续再议" | 否 | 无人负责,必然拖到出事 |
| "相关同学跟进" | 否 | 责任分散等于无人负责 |
| 谁 + 何时 + 后果 | 是 | 需要当场确认人名与日期 |
待定项不是承认没想清楚,而是把"什么时候必须想清楚"摆到台面上。一条都没有的评审,通常意味着风险被藏起来了。
7. 反对意见的处理
| 步骤 | 动作 | 目的 |
|---|---|---|
| 复述 | "你的意思是 A 方案在峰值下会拖垮库存服务,对吗" | 确认理解,避免对着错靶子辩解 |
| 分类 | 事实分歧 / 偏好分歧 / 目标分歧 | 决定用什么方式收敛 |
| 回应 | 事实给数据,偏好给取舍,目标回到决定项 | 各自用对应手段 |
事实分歧 → 找一个能在会上判定的小实验或现成数据
偏好分歧 → 承认两种偏好都合理,请决策者按权重选
目标分歧 → 停下来,先确认这次要优化的是成本还是交付时间
把偏好分歧当事实分歧打,会陷入"我觉得/我觉得"的循环;把事实分歧当偏好分歧放过,会把一个可验证的错误带进决策记录。
8. 评审没有结论时的收尾
结论:未定
原因:成本数据缺失(事实分歧未收敛)
下一步:数据平台组本周内出峰值成本测算
决定时间:本周五 15:00,异步确认,不再开会
不定的后果:本期需求顺延到下一个发布窗口
| 收尾方式 | 是否可追溯 | 后续成本 |
|---|---|---|
| "基本同意,细节再对" | 否 | 两周后重开一次会 |
| "原则通过" | 否 | 无人知道通过的是哪个版本 |
| 明确未定 + 下一步 + 时间 | 是 | 一次异步确认即可 |
"没有结论"本身是一个合法结论,前提是写清楚缺什么、谁补、什么时候补。含糊的"原则通过"比明确的否决更贵,因为它把成本推迟到实现阶段。
9. 异步评审与同步评审的选择
| 维度 | 异步(文档 + 评论) | 同步(会议) |
|---|---|---|
| 适用 | 方案清晰、分歧在细节 | 存在目标分歧或需要当场拍板 |
| 时间成本 | 总工时高,但可并行 | 人均时间集中,切换成本高 |
| 决策质量 | 评论可沉淀,便于回看 | 易被表达能力强的人主导 |
| 失败形态 | 无人评论,误以为通过 | 会开完仍无结论 |
判据:能不能在文档里把决定项写成一句疑问句。能,就异步;写完发现各方对"要决定什么"理解不同,说明需要同步会先把目标对齐。
10. 会议时长与议程控制
00–05 决定项与三个选项(讲的人)
05–20 逐项质疑(只答被问的,不主动展开)
20–30 决策者表态:选哪个 / 缺什么才选
30–35 待定项与责任人确认
35–40 记录决定与反对意见,当场复述一遍
| 失控形态 | 信号 | 处理 |
|---|---|---|
| 滑向实现细节 | 讨论某接口字段命名 | 记入待定项,回到决定项 |
| 单人主导 | 同一人发言超过三分之一 | 点名征询未发言者 |
| 重复提问 | 同一问题第二次出现 | 视为信息缺失,补数据而非重讲 |
| 超时 | 30 分钟仍未到表态 | 强制进入"缺什么才能决定" |
会议的价值在最后十分钟的表态,前面都是为它做准备。议程不控时,被牺牲的恰好是那十分钟。
11. 记录与归档
| 必记项 | 为什么 | 缺失后果 |
|---|---|---|
| 决定 | 后续所有实现的依据 | 同一问题反复重开 |
| 理由 | 条件变化时判断是否该推翻 | 只能凭记忆争论 |
| 反对意见 | 保留未采纳路径的合理性 | 出事后无法解释为何没选它 |
| 待定项与责任人 | 闭环 | 悬空项在实现期爆炸 |
| 版本与日期 | 区分"当时"与"现在" | 拿旧结论指导新决策 |
归档要与代码同仓或与需求单同链,放在个人笔记里等于没有归档。
12. 文档与代码的关系
设计文档过期比没有更糟:没有文档时人去读代码,有过期文档时人相信文字。可行做法是让文档只写不随代码变化的部分——决定、理由、约束、被否的选项;接口与结构交给代码与契约测试。凡是复制了实现细节的段落,都注定成为误导。
13. 排错
| 现象 | 常见原因 | 处理 |
|---|---|---|
| 讲完没人提问 | 开场没给决定项,听众在等结论 | 前 90 秒补齐三信息 |
| 反复回到"要不要做" | 目标分歧未收敛 | 先定目标,再谈方案 |
| 每次都要重开一次会 | 没有记录决定与理由 | 当场复述并归档 |
| 会上通过、会后不动 | 待定项无责任人 | 每条待定项落到人名与日期 |
| 决策者只要一个数字 | 代价只给了点估计 | 改给区间与上限条件 |
14. 边界
| 场景 | 为什么不必走评审 | 该做什么 |
|---|---|---|
| 单人决策场景 | 没有第二个决策者 | 写一页决策记录自留证据 |
| 紧急修复 | 时间成本高于决策质量收益 | 先止血,事后补记录 |
| 已有强制标准 | 选项已被规范锁定 | 只做合规性说明,不做取舍 |
| 纯探索性 spike | 结论本就是"行不行" | 用实验结果代替方案评审 |
| 影响面局限在单模块 | 决策权在负责人手里 | 一对一确认,不必开会 |
一句话判据:评审是为"有多个合理选项且代价不对称"准备的。没有选项,或者代价明显倾斜时,开会只是把决定拖长。
15. 自测
- 开场必须给出的三个信息是什么?超过多长时间听众会开始把它当汇报?
- 伪选项的典型特征有哪些?被识破一次的实际代价是什么?
- 为什么代价要给区间而不是点估计?区间宽度本身传递了什么信息?
- "可逆性"在什么情况下权重高于成本?
- 面对反对意见,"复述"这一步解决了什么问题?三类分歧各用什么手段收敛?
- "原则通过"为什么比明确否决更贵?