Skip to content
返回架构决策

用户故事格式

"作为 X,我想要 Y,以便 Z" 格式及何时用它 vs. job-stories。

为什么

用户故事格式迫使作者依次说出用户、需求和价值。"以便"子句是防止功能工厂行为的关键:如果你说不清价值,这功能大概不值得造。格式也让估时更易,因为每个故事是一单位用户可见行为,而非一单位工程工作。不写"以便"子句的团队常造出能用却不解决任何可测问题的功能。

何时使用

把 PRD 拆成可构建单元时。每条 5 分钟。当"用户"是系统或价值是情感时改用 job-stories。

如何做

1. 开头:"作为 [具体用户角色]"
   - 不要"作为用户"——说出角色(管理员、访客、计费所有者)
2. 需求:"我想要 [可观察能力]"
   - 必须是用户能看或能做的事,非实现细节
3. 价值:"以便 [可测结果]"
   - 填不出说明故事没准备好——回 PRD
4. 加验收标准子列表(Given/When/Then 或要点)
5. 只有有了验收标准才估时——无标准 = 无估时

示例

✓ 作为计费所有者,我想要下载所有发票的 CSV
  以便我和会计软件对账。
  验收:
  - 50 张发票时 CSV 下载 < 3 秒
  - CSV 列匹配 QuickBooks 导入 schema

✗ 作为用户,我想要一个仪表盘。
  (无角色、无价值、无验收标准——不是故事)

常见问题

  • ⚠每条都写"作为用户"——角色重要,因为管理员的需求和访客的需求是不同功能。
  • ⚠把实现写进需求子句("我想要 Redis 缓存")——故事应描述用户得到什么,而非你怎么造。

最佳实践

  • ✓先写"以便"子句再倒推——从价值开始能防止"找问题的方案"式故事。
  • ✓故事小到一个迭代能完成;跨 3 个迭代的是 epic,需拆解。

相关资源