第1章 用户故事结构拆解:As a / Who / So that,角色与目标分离,行为描述识别
本章是用户故事转业务流程步骤的起点。只有将用户故事的三要素(角色、目标、行为)准确拆解,才能为后续流程步骤识别提供干净的结构化输入。
适用场景
- 团队首次将用户故事纳入业务流程建模时。
- 用户故事描述模糊、角色与目标混淆,需要统一拆解标准。
- 从用户故事中提取流程步骤之前,需先规范化输入格式。
- 跨角色(BA、PO、开发)对齐用户故事的理解。
前置条件
- 已获得格式正确的用户故事卡片(至少包含As a / I want / So that 或类似结构)。
- 团队成员掌握用户故事三要素基本概念。
- 拆解工具或模板就绪(如白板、表格、协作文档)。
操作步骤
- 定位As a(角色):从用户故事文本中圈定“As a / 作为”后面的名词短语,忽略修饰词,只保留主体角色。
- 定位Who(角色别名):如果用户故事中另用“Who”或同义短语指定同一角色,合并记录为同一角色实例。
- 定位So that(目标):提取“So that / 以便 / 为了”后面的动词短语或结果描述,这是用户期望达成的业务价值。
- 分离角色与目标:将角色信息单独写入角色清单,目标信息写入目标清单,两者在后续步骤间保持独立。
- 识别行为描述:从“I want / 我能够”或故事正文中提取动词+宾语结构(如“提交订单”、“查看报告”),形成行为描述列表。
- 交叉校验:确认每个行为都能关联到至少一个角色和一个目标,避免孤立行为。
输入输出物
| 类型 | 名称 | 说明 |
|---|---|---|
| 输入 | 用户故事卡片集 | 包含原始文本,格式可为Confluence/Jira卡片或纸质便签 |
| 输出 | 角色清单 | 去重后的角色列表,每个角色附带出现次数 |
| 输出 | 目标清单 | 用户期望达成的业务价值描述,按优先级排序 |
| 输出 | 行为描述表 | 行为ID、动词、宾语、关联角色、关联目标 |
责任边界
- 业务分析师(BA):主导拆解操作,确保三要素分离正确。
- 产品负责人(PO):提供原始用户故事,解释模糊表述。
- 开发团队:参与校验,确认行为描述在技术上可执行。
- 角色清单与目标清单的审核由BA和PO共同完成,行为描述由BA独立输出。
记录材料
推荐使用表格模板记录拆解结果,示例如下:
| 用户故事ID | As a (角色) | Who (别名) | So that (目标) | 行为描述 |
|------------|------------|-----------|----------------|---------|
| US-001 | 客服主管 | 质检员 | 快速筛选异常工单 | 按标签过滤工单 |
| US-002 | 物流司机 | 配送员 | 减少空驶里程 | 规划最优路线 |
异常处理
- 角色缺失:若用户故事未明确“As a”,默认使用系统级角色“系统用户”,并在备注中标注待补充。
- 目标与行为混淆:常见错误是目标写成具体操作。需通过提问“用户完成该行为后获得什么价值?”重新分离。
- 多个角色在同一故事中:拆解为多条记录,每条记录只保留一个角色,目标可共享。
- 行为描述过长:将一个长行为拆分为原子行为步骤,每步骤只含一个动宾结构。
验收标准
- 每个用户故事拆解后至少包含一条角色记录、一条目标记录、一条行为描述。
- 角色清单中无重复角色(同义词需合并)。
- 行为描述不包含“以便/为了”等目标引导词。
- 所有输出物(角色清单、目标清单、行为描述表)均填写完整,无空白项。
- 交叉校验通过:每个行为至少关联一个角色和一个目标。
避坑提醒:不要将“As a”后的定语(如“已登录的客服主管”)直接作为角色名,应只保留“客服主管”。定语内容可在后续步骤中作为约束条件附加。
最佳实践:当用户故事中同时出现多个“As a”时,建议逐条拆解并编号,避免角色混淆。拆解完成后,可快速生成
角色-行为-目标矩阵,为下一步流程步骤识别做准备。