用户故事 (User Story)
版本:v1.0.0
创建:2026-03-09
作者:Elatia 🌀 (基于 Product-Manager-Skills 提炼)
许可:MIT
类型:Component Skill
📋 技能描述
面向场景: 需求准备进入开发、需要与研发团队对齐、敏捷迭代规划
目标用户: 产品经理、需求分析师、Scrum Master
核心价值: 将需求转化为可执行的开发任务,聚焦用户价值而非功能列表
🎯 核心能力
1. 标准用户故事格式
使用 Mike Cohn 的经典格式:
作为 [角色]
我想要 [完成什么任务]
以便于 [获得什么价值]
2. Gherkin 验收标准
编写可执行的验收标准:
Given [前提条件]
When [执行动作]
Then [预期结果]
3. 故事拆分与估算
- 拆分过大的故事(>13 点)
- 识别依赖关系
- 提供估算参考
🔧 使用方式
方式 1: 交互式引导
/user-story
引导问题:
1. 用户角色是谁?
- 主要角色:[谁使用这个功能]
- 角色特征:[关键属性]
2. 用户想完成什么任务?
- 任务描述:[动词 + 宾语]
- 任务频率:[每天/每周/偶尔]
3. 用户获得什么价值?
- 业务价值:[对用户的帮助]
- 情感价值:[带来的感受]
4. 验收标准是什么?
- 正常流程:[Happy Path]
- 异常流程:[Edge Cases]
- 边界情况:[Limits]
方式 2: 快速模式
/user-story quick \
--role "销售人员" \
--task "快速生成客户方案" \
--value "节省时间,提升成单率" \
--acceptance "30 分钟内完成方案,支持导出 PPT"
📝 输出模板
# User Story: [简短标题]
## 故事描述
作为 [角色]
我想要 [完成什么任务]
以便于 [获得什么价值]
## 验收标准 (Gherkin 格式)
### 场景 1: [正常流程]
Given [前提条件]
When [执行动作]
Then [预期结果]
### 场景 2: [异常流程]
Given [前提条件]
When [执行动作]
Then [预期结果]
### 场景 3: [边界情况]
Given [前提条件]
When [执行动作]
Then [预期结果]
## 技术备注
- [技术考虑点]
- [依赖关系]
- [性能要求]
## 设计资源
- [设计稿链接]
- [原型链接]
## 估算参考
- 故事点:[1/2/3/5/8/13/20]
- 复杂度:[低/中/高]
- 风险:[低/中/高]
📚 示例
示例:方案生成功能
# User Story: 快速生成客户方案
## 故事描述
作为 销售人员
我想要 一键生成客户解决方案 PPT
以便于 在 30 分钟内完成专业方案,节省时间提升成单率
## 验收标准
### 场景 1: 正常流程
Given 销售人员已填写客户需求信息
When 点击"生成方案"按钮
Then 30 秒内生成完整方案 PPT,包含封面/需求分析/解决方案/案例/报价
### 场景 2: 模板选择
Given 销售人员选择了行业模板
When 点击"生成方案"
Then 使用所选模板风格生成方案
### 场景 3: 内容不足
Given 客户需求信息填写不完整
When 点击"生成方案"
Then 提示需要补充的字段,并高亮显示
### 场景 4: 导出 PPT
Given 方案已生成
When 点击"导出 PPT"
Then 下载可编辑的.pptx 文件,格式与预览一致
## 技术备注
- 使用后端模板引擎生成 PPT
- 支持并发生成(多人同时使用)
- 响应式预览(适配不同屏幕)
## 设计资源
- 设计稿:[Figma 链接]
- 原型:[ProtoPie 链接]
## 估算参考
- 故事点:8
- 复杂度:中
- 风险:中(依赖 PPT 生成库)
🎯 质量标准
好的用户故事 (INVEST 原则)
- ✅ Independent(独立的)— 不依赖其他故事
- ✅ Negotiable(可协商的)— 细节可讨论
- ✅ Valuable(有价值的)— 对用户有价值
- ✅ Estimable(可估算的)— 团队能估算大小
- ✅ Small(小的)— 能在一个 Sprint 内完成
- ✅ Testable(可测试的)— 有明确验收标准
常见陷阱
- ❌ 功能列表("添加 XX 按钮")
- ❌ 技术任务("优化数据库查询")
- ❌ 验收标准模糊("性能好"→ 应具体为"响应<1 秒")
- ❌ 故事过大(>13 点,需要拆分)
- ❌ 忽略异常流程
🔗 与其他技能的关系
| 技能 | 关系 | 使用时机 |
|---|---|---|
| problem-statement | 前置 | 先明确问题,再写故事 |
| epic-hypothesis | 前置 | 大功能先定义史诗假设 |
| prd-development | 后置 | 多个故事整合为 PRD |
| user-story-splitting | 后置 | 故事过大时拆分 |
📈 成功指标
| 指标 | 目标值 | 测量方式 |
|---|---|---|
| 开发理解度 | ≥90% | 开发团队反馈 |
| 返工率 | <10% | 因需求不清导致的返工 |
| 验收通过率 | ≥95% | 一次通过测试的比例 |
🔖 版本历史
| 版本 | 日期 | 变更 |
|---|---|---|
| v1.0.0 | 2026-03-09 | 初始版本,基于 Product-Manager-Skills 提炼 |
📄 许可
MIT License
基于 Product-Manager-Skills by Dean Peters · CC BY-NC-SA 4.0
适配 OpenClaw 标准:Elatia 🌀