用户故事地图的示例通常由三层组成:顶部按时间顺序排列用户活动,中部按优先级纵向排列用户故事,底部用发布线切分版本。本文给出一个完整的电商下单场景示例,逐项解释骨干划分、故事排序和发布线切分的依据,并说明迁移到其他业务时的调整规律。示例中的故事与发布线也可以放到 ONES 中承载,便于团队对照和持续维护。
要点总览(TL;DR)
- 一张可参考的用户故事地图示例应同时呈现三层:顶部横向的用户活动骨干、中部按优先级纵向排列的用户故事、底部贯穿地图的发布线。
- 电商下单示例按“浏览商品—加入购物车—填写订单—支付—收货与售后”展开,首个版本切在支付成功之后,构成最小购买闭环。
- 纵向排序依据用户价值、依赖关系和风险;发布线依据能否形成可用闭环,增强项与售后能力放到后续版本。
- 换业务时从目标用户的实际旅程重新提取骨干,通常控制在四到七个阶段,故事按“用户动作加可观察结果”拆分。
- 示例为演示情景,适合参照结构与判断依据,不替代需求细节澄清,也不代表真实项目结论。
示例要展示什么:一张可参考的用户故事地图应包含哪些部分
一张可参考的用户故事地图,价值在于让团队看到“填完之后长什么样”,而不只是知道有几个格子。判断示例是否合格,可以看它是否同时呈现了横向的用户旅程、纵向的优先级,以及一条明确的发布切分线。三者缺一,示例就只能算需求清单或版本计划,无法说明故事地图的组织方式。
具体来说,示例应覆盖以下组成要素:
| 组成要素 | 在示例中的位置 | 要回答的问题 |
|---|---|---|
| 骨干:用户活动 | 地图顶部横向排列 | 用户为了完成目标,依次经过哪几个大阶段 |
| 骨干:任务 | 活动下方一行 | 每个活动内部包含哪些具体动作 |
| 用户故事 | 任务下方纵向排列 | 每个任务可以拆成哪些可交付的需求条目 |
| 优先级顺序 | 故事列的上下位置 | 哪些故事先做,哪些可以往后放 |
| 发布线 | 横向贯穿地图的切分线 | 首个版本交付到哪里,后续版本补什么 |
示例还需要体现两套逻辑。排序逻辑回答“同一列内谁在上、谁在下”,通常依据用户价值、依赖关系和风险;切分逻辑回答“发布线画在哪里”,通常依据能否形成一条可用的完整闭环。只展示排列结果而不交代这两套逻辑,读者照抄时容易在换场景后失去判断依据。
本文示例为演示情景,用于说明填写方式,不对应真实客户项目,也不代表任何实测效果。示例中的业务设定、故事数量和版本划分均为讲解需要而构造,团队在实际使用时需要按自己的用户旅程重新填写。
完整示例:一个电商下单场景的用户故事地图
示例背景设定为:一个面向普通消费者的电商应用,团队准备规划首个可上线版本。用户的核心目标是“找到想要的商品并顺利完成一次购买”。以下地图按横向五个活动展开,每个活动下列出任务与用户故事,并用发布线区分首个版本与后续版本。
| 活动(骨干) | 浏览商品 | 加入购物车 | 填写订单 | 支付 | 收货与售后 |
|---|---|---|---|---|---|
| 任务 | 搜索与筛选;查看商品详情 | 加入购物车;调整数量 | 填写收货信息;确认订单金额 | 选择支付方式;完成付款 | 查看物流;申请退换 |
| 故事(高优先级) | 按关键词搜索商品;查看商品价格与库存 | 将商品加入购物车;修改购物车商品数量 | 填写收货地址;查看订单应付金额 | 选择一种支付方式;支付成功后的结果页 | 查看订单物流状态 |
| 故事(中优先级) | 按价格与品类筛选;查看商品图片与规格 | 删除购物车商品;购物车金额小计 | 保存常用地址;使用优惠券 | 支付失败后的重试提示 | 申请退货并填写原因 |
| 故事(低优先级) | 查看相似商品推荐;收藏商品 | 购物车商品失效提示 | 开具发票信息 | 查看支付记录 | 换货申请;售后进度查询 |
| 发布线 | 首个版本:完成“搜索商品—加入购物车—填写地址—支付成功”的最小购买闭环 | 后续版本:物流查询、退换货与售后进度 | |||
这张地图的读法是:横向从左到右是用户完成一次购买的时间顺序,纵向从上到下是同一任务内故事的优先级。发布线以上的高优先级故事构成首个版本,中优先级故事安排在紧接的迭代,低优先级故事进入后续版本池。收货与售后整体位于首个版本之后,因为购买闭环在支付成功后已经成立,售后能力可以在有真实订单后再补齐。
示例中的故事采用“用户动作加可观察结果”的写法,例如“修改购物车商品数量”“支付成功后的结果页”,便于在评审时判断是否完成。团队首次绘制时,可以先把这张表当作对照物,再替换成自己业务的旅程和故事。
逐项解释:骨干、故事与发布线为什么这样排
骨干的粒度以“用户能感知的阶段”为准。示例把旅程划分为浏览商品、加入购物车、填写订单、支付、收货与售后五个活动,每个活动对应一次用户目标的变化。活动划分过细会把“点击按钮”这类界面动作抬到骨干层,划分过粗则会让一个活动下堆积过多故事,难以排序。任务层承担活动内部的细分动作,例如“搜索与筛选”和“查看商品详情”同属浏览商品,但用户意图不同,分开后故事更容易归位。
任务与故事的区别在于可交付性。任务是用户动作的分类标签,故事是可以进入开发、能够判断完成与否的需求条目。“查看商品详情”是任务,“查看商品价格与库存”是故事,后者有明确的展示内容和验收条件。团队在绘制时如果发现某个格子里写的是任务而不是故事,通常说明还需要继续拆分。
纵向优先级主要看三点。第一是用户价值:没有它,用户能否完成核心目标。搜索、加购、填地址、支付构成购买闭环,缺少任何一环流程都会中断,因此排在高优先级。第二是依赖关系:支付结果页依赖支付动作,物流查询依赖订单生成,被依赖的故事先排。第三是风险:支付失败重试涉及异常路径,放在中优先级,是为了在闭环跑通后尽快验证异常处理,而不是等到最后才处理。
发布线的位置依据最小可用闭环。示例把线画在支付成功之后,因为此时用户已经完成一次完整购买,产品具备上线验证的条件。优惠券、发票、商品推荐等故事虽然对转化有帮助,但缺少它们不影响购买完成,因此放在后续版本。售后相关故事整体后置,原因是它们依赖真实订单和物流数据,过早开发缺少验证场景。
被放在后面的故事也有明确原因,而不是简单按“重要程度”排序。收藏商品、相似推荐属于提升发现效率的增强项;购物车商品失效提示依赖库存状态变化,需要先有稳定的库存数据;售后进度查询依赖售后流程本身先跑通。把这些依赖关系写清楚,团队在后续排期时就能判断前置条件是否满足。
可迁移规律:换一个业务场景怎么套用这套结构
换业务时,骨干需要从目标用户的实际旅程重新提取,而不是套用电商的五个阶段。通用做法是先确定一类用户和一个核心目标,再按时间顺序写出用户从开始到完成目标所经历的关键阶段,每个阶段用动词短语命名。例如预约类业务可能经历“查找服务—选择时间—提交预约—到店履约—评价反馈”,企业采购可能经历“提出申请—比价审批—下单—收货验收—对账”。阶段数量以能覆盖完整旅程为准,通常控制在四到七个。
故事拆分可以沿用示例中的规则:每个故事对应一个用户可感知的动作或结果,能够独立判断完成与否;同一任务下的故事按用户价值、依赖关系和风险排序;跨活动的依赖在故事描述中标注清楚。团队可以把示例表格的列替换为自己的活动,行替换为优先级分层,逐格填写。
发布线切分沿用“最小可用闭环”的判断:找到用户完成核心目标所必需的最少故事集合,把线画在它们之后;增强体验、异常处理、运营支撑类故事放到后续版本。如果业务存在合规或安全前置要求,例如实名认证、支付资质,这些故事需要进入首个版本,即使它们不直接提升用户体验。
首次绘制建议以协作工作坊的方式进行:先由熟悉用户的角色写出旅程骨干,再分组补充故事,最后集体确认发布线。绘制过程中常见的调整包括合并过细的活动、把混在故事层的任务下沉、拆分粒度过大的故事,以及把被误放在首个版本的增强项移到线后。绘制完成后,地图需要有人维护,故事进入需求池、发布线对应版本规划,否则地图很快会与实际情况脱节。
在协作工具中承载时,可以把骨干和故事整理为结构化文档,把故事条目关联到项目需求,把发布线对应到版本或里程碑。ONES Wiki 支持使用模板库创建文档,页面组可关联项目,使需求与文档互相对应;文档还可以嵌入任务进度和报表,方便团队在评审时对照地图查看进展。ONES Assistant 可将 PRD 拆解为需求和任务并按模块分配负责人,适合在故事较多时辅助整理条目,拆分结果仍需团队评审确认。
适用边界:示例能参考到什么程度
本文示例是演示情景,业务设定和故事内容为讲解而构造,不代表真实项目的结论,也不构成对任何行业实践效果的承诺。团队可以参照它的结构、排序思路和发布线画法,但不能直接把电商故事复制到自己的需求池。
用户故事地图擅长表达需求全貌、用户旅程和优先级关系,适合在版本规划前统一团队对“做什么、先做什么”的认识。它不替代需求细节澄清:每个故事在进入开发前,仍需要通过验收条件、原型说明或需求评审把细节确认清楚。地图上的一个故事条目只是需求的位置标记,不是完整的需求文档。
系统架构设计、技术方案选型和界面视觉绘制不在本文范围内。地图回答的是用户视角的需求组织问题,技术实现方式需要另行讨论。当业务差异较大时,例如用户角色多、旅程分支复杂,或存在线上线下混合流程,骨干需要重新划分,必要时按角色分别绘制多张地图,再合并查看整体优先级。
示例中的优先级和发布线也不是唯一答案。不同团队的用户价值判断、依赖条件和上线约束不同,同一业务可能画出不同的切分位置。使用示例时,重点参考它如何把判断依据写清楚,再结合自己的约束条件做出选择。
常见问题
团队第一次画故事地图,应该先写骨干还是先写故事?
建议先写骨干。骨干确定的是用户完成目标所经历的关键阶段,它决定了故事往哪里放。如果先写故事,容易出现故事零散、无法归位的情况,最后还要回头重排旅程。
实际操作中,可以先由熟悉用户的角色写出四到七个活动,再在每个活动下补任务,最后分组填写故事。骨干写完后先集体确认一遍,再进入故事补充环节,返工成本会低很多。
故事地图画完之后,怎么和版本规划衔接?
发布线就是衔接点。把线以上的故事集合对应到首个版本的范围,线以下按优先级分批进入后续迭代。关键是让每条故事都能对应到需求池中的条目,发布线对应到具体的版本或里程碑,这样地图和实际排期才不会各说各话。
在协作工具中承载时,可以把骨干和故事整理为结构化文档,把故事条目关联到项目需求,把发布线对应到版本。ONES Wiki 的页面组可关联项目,使需求与文档互相对应,文档还可以嵌入任务进度和报表,方便评审时对照地图查看进展。
业务旅程分支很多,一张地图放不下怎么办?
常见做法是按用户角色分别绘制多张地图,再合并查看整体优先级。例如同一产品面向普通消费者和企业采购,两类用户的旅程差异很大,强行画在一张图上会让骨干失去时间顺序的意义。
分角色绘制时,保持活动命名和故事写法的一致性,合并时重点比对哪些故事被多个角色共用、哪些是角色专属。共用故事通常优先级更高,专属故事按各自角色的价值判断排序。
示例里的故事写得很短,实际项目中需要写到什么程度?
地图上的故事条目是位置标记,写到“用户动作加可观察结果”即可,例如“修改购物车商品数量”“支付成功后的结果页”。这个粒度足够支撑排序和发布线判断,也方便在评审时快速扫读。
细节澄清放在故事进入开发之前,通过验收条件、原型说明或需求评审完成。如果把完整需求文档直接写进地图格子,地图会失去全貌视角,排序也会变得困难。
故事数量很多时,有没有辅助整理的办法?
可以借助工具先做初步整理,再由团队评审确认。ONES Assistant 可将 PRD 拆解为需求和任务,并按模块分配负责人,适合在故事较多时辅助整理条目;拆分结果仍需团队逐条核对,确认粒度和归属是否符合地图结构。
无论是否使用工具,发布线的切分和优先级判断都应由团队集体讨论决定,这部分依赖对用户和业务的理解,不适合完全交给自动拆分。
