首页/开发/系统分析与架构设计速查/INVEST 用户故事质量检查
需求分析与建模61 条

INVEST 用户故事质量检查

INVEST 是评估用户故事质量的六条准则:Independent 独立、Negotiable 可协商、Valuable 有价值、Estimable 可估算、Small 小、Testable 可测试。

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 硬拆故事,破坏业务完整性,会得到一堆单独看都不可交付的碎片。

易错点

  • 为满足 Independent 硬拆故事,破坏业务完整性,每个碎片都无法独立交付
  • 故事不可估算时直接拍一个数字,掩盖了未知风险与缺失的领域知识
  • 把 INVEST 当评分表逐项打分,却不对违反项做拆分或补信息
  • Negotiable 被理解为细节不用写,结果实现方案随意发挥
  • 只检查 Small 不检查 Valuable,得到一批小而无关价值的任务

数据来源与参考

  • Bill Wake《INVEST in Good Stories, and SMART Tasks》(XP123)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌