name: user-story-writer description: 根据需求生成并验证用户故事,包含INVEST验证和验收标准 allowed-tools:
- Read
- Write
- Glob
- Grep
- Bash metadata: specialization: 业务分析 domain: 业务 id: SK-006 category: 敏捷需求
用户故事撰写器
概述
用户故事撰写器技能提供专门功能,用于从业务需求创建、验证和管理用户故事。该技能能够将传统需求转换为结构化的敏捷用户故事,并根据INVEST标准进行验证,同时生成全面的验收标准。
功能
业务需求文档到用户故事转换
- 将业务需求文档中的需求转换为用户故事
- 从需求上下文中提取用户角色
- 识别每个故事的价值主张
- 保持与源需求的追溯性
INVEST标准验证
- 根据INVEST标准验证用户故事
- 为每个标准评分:独立性、可协商性、有价值性、可估算性、小巧性、可测试性
- 为不符合标准的故事生成改进建议
- 创建验证报告
验收标准生成
- 使用Given-When-Then格式(Gherkin)生成验收标准
- 确保标准可测试且具体
- 覆盖正常路径和边界情况
- 将标准与用户故事目标关联
史诗故事拆分
- 将史诗故事拆分为更小、可交付的故事
- 保持故事的连贯性和价值
- 创建故事层级结构(史诗 > 特性 > 故事)
- 在拆分过程中保留验收标准
故事点估算
- 使用历史数据模式估算故事点
- 应用相对规模估算技术
- 考虑复杂性、不确定性和工作量
- 生成估算置信水平
故事映射
- 为发布计划创建用户故事地图
- 按用户活动和任务组织
- 定义发布切片(MVP、v1、v2)
- 可视化故事依赖关系
任务故事转换
- 在用户故事和任务故事之间转换
- 应用待完成工作框架
- 关注情境、动机和结果
- 支持两种格式互换
使用方法
将需求转换为用户故事
将这些需求转换为用户故事:
[业务需求文档需求列表]
为每个故事包含角色识别和验收标准。
验证用户故事
根据INVEST标准验证这些用户故事:
[用户故事列表]
提供评分和改进建议。
拆分史诗故事
将这个史诗拆分为更小的用户故事:
[史诗描述]
保持价值交付并为每个故事生成验收标准。
创建故事地图
为这个产品创建故事地图:
[产品描述和用户活动]
按用户旅程组织并定义发布切片。
流程集成
该技能与以下业务分析流程集成:
- user-story-development.js - 核心用户故事创建
- requirements-elicitation-workshop.js - 在需求获取过程中识别故事
- brd-creation.js - 需求到故事转换
依赖项
- 故事模板和格式
- INVEST评分算法
- 估算模型和历史数据
- 故事映射可视化
用户故事框架参考
标准用户故事格式
作为[用户类型],
我想要[某个目标],
以便[某个原因/收益]。
任务故事格式
当[情境],
我想要[动机],
以便我可以[预期结果]。
INVEST标准
| 标准 | 描述 | 验证问题 |
|---|---|---|
| 独立性 | 可以按任何顺序开发 | 这个故事是否依赖其他故事? |
| 可协商性 | 细节可以细化 | 是否有讨论空间? |
| 有价值性 | 提供用户/业务价值 | 这提供了什么价值? |
| 可估算性 | 可以估算规模 | 我们能估算工作量吗? |
| 小巧性 | 适合在一个冲刺中完成 | 能在一个冲刺中完成吗? |
| 可测试性 | 有明确的验收标准 | 我们如何知道它已完成? |
Given-When-Then格式
给定[前置条件/上下文]
当[操作/触发]
那么[预期结果]
并且[额外结果]
故事拆分模式
- 工作流步骤:按流程步骤拆分
- 业务规则:每个规则一个故事
- 正常/异常路径:单独处理错误
- 输入选项:不同的输入方法
- 数据变体:不同的数据类型
- 界面:不同的UI实现
- 操作:分别处理CRUD操作
- 性能:单独的性能优化
故事点规模(斐波那契数列)
| 点数 | 描述 |
|---|---|
| 1 | 简单,易于理解 |
| 2 | 小,复杂度低 |
| 3 | 中等,存在一些未知因素 |
| 5 | 中等偏大,复杂度显著 |
| 8 | 大,存在显著未知因素 |
| 13 | 非常大,应考虑拆分 |
| 21+ | 史诗级,必须拆分 |