⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议
Skip to content

5.5.1 像用户一样描述需求——用户故事格式

一句话破题

用户故事的标准格式:作为 [角色],我希望 [做什么],以便 [获得什么价值]

用户故事的三要素

作为 [Who] - 谁会使用这个功能
我希望 [What] - 想要做什么
以便 [Why] - 为什么想要这样做

好的用户故事 vs 差的用户故事

差的描述好的用户故事
"做登录功能"作为用户,我希望用邮箱密码登录,以便访问我的个人数据
"文章列表"作为读者,我希望浏览文章列表,以便发现感兴趣的内容
"添加搜索"作为读者,我希望搜索文章,以便快速找到特定主题

为什么要写"以便"

"以便"部分是最容易被忽略,却最重要的:

❌ 作为用户,我希望能登录

✅ 作为用户,我希望能登录,以便:
   - 保存我的阅读记录
   - 发表评论
   - 收藏文章

知道了"为什么",才能更好地设计"怎么做"。

不同角色的用户故事

一个产品可能有多种用户角色:

markdown
## 博客系统用户故事

### 作为访客
- 我希望浏览文章列表,以便发现感兴趣的内容
- 我希望阅读文章详情,以便学习新知识
- 我希望搜索文章,以便快速定位内容

### 作为注册用户
- 我希望登录账号,以便使用个人功能
- 我希望评论文章,以便与作者互动
- 我希望收藏文章,以便日后重读

### 作为博主
- 我希望撰写文章,以便分享我的知识
- 我希望管理文章,以便维护内容质量
- 我希望查看统计,以便了解读者偏好

用户故事的验收标准

每个用户故事都应该有验收标准:

markdown
## 用户故事:文章发布

作为博主,我希望发布文章,以便分享我的技术经验

### 验收标准
- [ ] 可以输入标题(1-100 字符)
- [ ] 可以输入正文(支持 Markdown)
- [ ] 可以选择分类(至少选一个)
- [ ] 可以添加标签(最多 5 个)
- [ ] 发布成功后跳转到文章详情页
- [ ] 发布成功后在列表页可见

### 边界情况
- 标题为空:显示错误提示
- 正文为空:显示错误提示
- 网络失败:保存为草稿

INVEST 原则

好的用户故事应该符合 INVEST 原则:

原则含义示例
Independent独立,不依赖其他故事登录和注册可以分开做
Negotiable可协商,细节可讨论密码规则可以再定
Valuable有价值,对用户有意义不做"为了技术而技术"的功能
Estimable可估算,能评估工作量大故事要拆小
Small小,几天内能完成太大就拆分
Testable可测试,有验收标准知道什么算"完成"

用户故事拆分

太大的故事需要拆分:

❌ 作为用户,我希望完整的认证系统

✅ 拆分为:
1. 作为用户,我希望注册账号
2. 作为用户,我希望登录账号
3. 作为用户,我希望重置密码
4. 作为用户,我希望修改个人信息

让 AI 帮你写用户故事

你:我要做一个博客系统,帮我写用户故事

AI:## 博客系统用户故事

### 内容管理
1. 作为博主,我希望创建文章,以便分享我的知识
2. 作为博主,我希望编辑文章,以便修正错误
3. 作为博主,我希望删除文章,以便移除过时内容
4. 作为博主,我希望保存草稿,以便稍后继续编辑

### 内容消费
1. 作为读者,我希望浏览文章列表,以便发现内容
2. 作为读者,我希望阅读文章详情,以便学习知识
3. 作为读者,我希望搜索文章,以便快速定位
...

实用建议

  1. 每个功能都写用户故事:养成习惯
  2. 不要跳过"以便":这是理解需求的关键
  3. 用 AI 生成初稿:然后你来修改完善
  4. 保持简短:一个故事描述一个功能点