INVEST 是什么
INVEST 是评估用户故事质量的六条准则:Independent 独立、Negotiable 可协商、Valuable 有价值、Estimable 可估算、Small 粒度小、Testable 可测试。它是一份检查清单而不是评分表,六条不必强求全部满分,但明显违反时应拆分故事或补充信息。实际使用中最常见的两类问题是不可估算与不可测试,二者都会让迭代计划失去意义。
六条准则
| 准则 | 含义 | 反例 |
|---|---|---|
| Independent | 尽量少依赖其他故事 | 必须等另一个故事完成后才能开工 |
| Negotiable | 细节可在对话中调整 | 把实现方案写死在故事里 |
| Valuable | 对角色产生可感知价值 | 纯技术任务伪装成故事 |
| Estimable | 团队能给出估算 | 领域知识缺失,无法判断工作量 |
| Small | 一个迭代内可完成 | 跨越多周的大颗粒需求 |
| Testable | 有可验证的验收条件 | “体验更好”无法判定 |
基本信息
| 提出者 | Bill Wake 在《INVEST in Good Stories, and SMART Tasks》中提出 |
|---|---|
| 使用时机 | 迭代计划会前自查、计划会上共同确认 |
| 配套产出 | 验收标准与拆分后的子故事清单 |
| 常见违反 | 不可估算与不可测试,直接导致计划失真 |
| 与拆分关系 | 违反 Small 或 Independent 时通常说明需要按价值路径拆分 |
典型使用场景
- 迭代计划前:逐条自查故事是否具备开工条件
- 需求澄清会后:确认原本不可估算的故事是否已补充领域知识
- 拆分大需求:按独立可交付的价值路径切成小故事
- 跨团队协作:确认故事依赖关系与交付顺序
- 验收前复核:确认每条故事都有可验证的验收条件
- 新手培训:用这六条建立团队内统一的故事质量共识
INVEST 用于发现问题而不是打分排名:一条故事违反 Small 时,追问“怎么拆成两个仍能独立交付的故事”,比标记它不合格更有价值。
为满足 Independent 硬拆故事,破坏业务完整性,会得到一堆单独看都不可交付的碎片。