第2章 评审类型与节奏差异
设计评审、代码评审、方案评审、验收评审在目标、参与角色、时间窗口和检查深度上存在显著差异。评审组织者需要根据类型调整节奏粒度、时间预算和干预策略,否则容易陷入“深度过细导致阻塞”或“速度过快流于形式”两种极端。本章逐一对比四种评审的节奏特征,并给出可操作的节奏控制框架。
适用场景
- 设计评审:架构设计、详细设计、接口设计阶段,评估设计方案的正确性、扩展性和合规性,通常发生在项目早期或中期里程碑。
- 代码评审:代码提交前后(Pull Request / Commit),检查代码质量、规范符合度、逻辑正确性和安全缺陷,贯穿开发周期。
- 方案评审:技术选型、实施方案、升级/迁移方案、重大变更决策前,集中跨角色评议,通常由架构师或技术负责人发起。
- 验收评审:交付物(如原型、测试报告、部署包)提交后,确认是否满足需求定义和质量接收标准,通常位于迭代末尾或发布前。
前置条件
| 评审类型 | 材料就绪 | 角色确认 | 环境/工具就绪 |
|---|---|---|---|
| 设计评审 | 设计文档、架构图、依赖清单 | 架构师、相关开发、QA代表 | 会议室/在线白板、设计工具预览 |
| 代码评审 | Diff 代码、关联 Issue、测试结果 | 作者、至少1名审核者 | 代码评审平台(如GitHub/GitLab) |
| 方案评审 | 方案说明书、对比分析、风险评估 | 技术负责人、PM、相关干系人 | 会议预约、决策记录模板 |
| 验收评审 | 交付物清单、测试报告、验收用例通过记录 | 甲方/产品、测试、开发、QA | 验收环境、Checklist 模板 |
操作步骤
四类评审的节奏控制操作步骤统一遵循“预热 → 审查 → 讨论 → 结论”四阶段,但每阶段的时间分配和深度不同。下面分别说明差异点:
- 设计评审节奏
- 预热(5分钟):概述设计上下文,明确评审 scope。
- 审查(20–30分钟):按模块逐一讲解,重点关注决策树、依赖关系和风险点。
- 讨论(10–15分钟):集中解决争议,控制每个议题不超过5分钟,超出则记录待办。
- 结论(5分钟):明确通过、有条件通过或驳回,并指定后续修改负责人。
- 代码评审节奏
- 预热(无):直接通过平台查看 Diff,作者可附加简短说明。
- 审查(15–20分钟/每次评审):逐文件扫描,重点放在逻辑变更、边界条件、安全风险。
- 讨论(异步):通过评论行内对话,避免长时间同步会议。若争议超过3条评论,转为即时会议。
- 结论:以 LGTM(Looks Good to Me)、需修改、驳回 三种状态快速决策。
- 方案评审节奏
- 预热(10分钟):播放大局观、对比表、成本收益估算。
- 审查(30–40分钟):深读方案细节,每个候选方案至少20分钟纯内容评估。
- 讨论(15–20分钟):决策驱动,用投票或加权评分表收敛。
- 结论(5分钟):形成决议,记录反对理由和保留意见。
- 验收评审节奏
- 预热(5分钟):确认验收范围、通过标准。
- 审查(20–30分钟):执行验收用例或对照 Checklist 逐项核实。
- 讨论(10–15分钟):对未通过项分析根因,确定修复优先级。
- 结论(5分钟):签发验收报告,记录遗留项。
输入输出物
| 评审类型 | 输入 | 输出 |
|---|---|---|
| 设计评审 | 设计文档、架构决策记录(ADR)、依赖清单 | 评审纪要、设计决策、待修改项列表 |
| 代码评审 | Diff 代码、关联 Issue/Story、测试报告 | 代码变更审核状态(LGTM/需修改)、评论 |
| 方案评审 | 方案说明书、对比分析表、风险矩阵 | 评审决议、备选方案评级、行动项 |
| 验收评审 | 交付物、验收用例、测试通过记录 | 验收报告、遗留项列表、发布决定 |
责任边界
| 角色 | 设计评审 | 代码评审 | 方案评审 | 验收评审 |
|---|---|---|---|---|
| 作者/负责人 | 讲解设计,回答疑问 | 提交代码,回复评论 | 陈述方案,提供支撑数据 | 展示交付物,演示功能 |
| 评审者/审核者 | 评估设计合理性,识别风险 | 检查代码质量,指引改进 | 评估方案优劣,提出质疑 | 对照标准逐项检查 |
| 决策者 | 技术负责人或架构师 | 审核者(通常不设单独决策者) | 技术委员会或架构委员会 | 产品/甲方代表 |
| 记录者 | (可选)指定记录员 | 平台自动记录评论 | 指定记录员 | QA 或独立记录员 |
记录材料
- 设计评审:评审纪要(含决策、待办、风险)、设计文档修订版、ADR 更新。
- 代码评审:平台评论记录、代码变更历史、关联 CI 结果。
- 方案评审:会议录音(可选)、决策矩阵、投票记录、行动项跟踪。
- 验收评审:验收报告(通过/未通过)、遗留项列表、测试环境快照。
异常处理
常见异常场景与节奏应对:
- 设计评审:讨论超时 → 立即暂停,将争议点标记为“待线下攻关”,设置 DDL 和负责人,不阻塞评审流程。
- 代码评审:评论过多导致等待 → 启用“同步讨论”模式:作者与审核者开 10 分钟 IM 会议快速解决关键分歧。
- 方案评审:僵持不下 → 使用加权评分表或快速原型验证,限时 24 小时给出调整方案再评审。
- 验收评审:批量缺陷 → 按严重等级分类,P0/P1 缺陷必须修复后重新验收,P2/P3 可列入遗留项。
验收标准
- 设计评审:未超过预定时间 ±15%;决议明确(通过/有条件/驳回);待办项分配清晰。
- 代码评审:每次评审平均耗时 ≤ 25 分钟;讨论未升级为长期纠缠;审核状态在 12 小时内完成。
- 方案评审:评审会结束时产出 1 份决策记录;每个争议点均有落地方案或回滚计划。
- 验收评审:验收报告在会议后 2 小时内发出;遗留项不超过总检查项的 10%。
💡 节奏控制口诀:设计评审慢而全,代码评审快而频,方案评审要收敛,验收评审重清单。混合使用同步会议和异步评论,避免所有评审都按同一节奏模板执行。