关于 user-story-mapping
帮助产品、设计和工程团队梳理用户旅程的故事地图技能。它按时间顺序组织活动、步骤与任务,再按优先级划分发布范围,用于形成共同理解而非替代待办列表。
主要功能
- 01按用户旅程排列活动与步骤
- 02将步骤细化为具体任务
- 03按优先级划分发布范围
- 04识别流程缺口与体验机会
- 05支持团队共同梳理地图
适用场景
- 01为新产品或大型功能启动规划
- 02对齐团队对用户工作流的理解
- 03确定 MVP 与后续发布内容
- 04发现用户旅程中的遗漏
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ deanpeters/ product-manager-skills --skill user-story-mapping安装后在 Claude Code 中输入/user-story-mapping确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
template.mdexamples/sample-industrial.mdsample.md详细介绍
目的
通过创建层级地图,将高层级活动拆解为步骤和任务,并按从左到右的叙事流程组织起来,从而可视化用户旅程。利用它在产品、设计和工程团队之间建立共识,根据用户工作流确定功能优先级,并发现用户体验中的缺口或机会。
这不是待办事项列表,而是一份战略性产物,展示用户如何达成目标,并据此指导我们构建什么。
输入
最适合提供: 要绘制地图的产品或用户工作流。 也很有帮助: 主要用户、你所理解的端到端叙事、可放入地图的现有待办事项,以及发布目标。
随调用一同提供的任何内容——技能名称之后的文本、粘贴的上下文,或附加的 ARGUMENTS: 行——都视为已回答的问题。请使用这些信息,并跳过其中已涵盖的问题;不要重复询问。
空手而来?也没问题。 此技能会询问你要绘制谁的旅程,以及他们想完成什么,然后构建主干 → 任务 → 切片。
调用示例: 为我们的费用报销流程绘制故事地图,从收据采集到报销,并为试点项目划分 MVP 切片。
核心概念
Jeff Patton 故事地图框架
故事地图由 Jeff Patton 创立,它以二维结构组织工作:
横轴(从左到右): 随时间展开的用户旅程
- 主干: 用户执行的高层级活动
- 步骤: 各项活动中的具体操作
- 任务: 完成每个步骤所需的详细工作
纵轴(从上到下): 优先级和发布版本
- 顶部各行: 必需任务(MVP / 第 1 次发布)
- 底部各行: 有则更好的任务(未来发布版本)
故事地图结构
Segment → Persona → Narrative (User's goal)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Activity 1] → [Activity 2] → [Activity 3] → [Activity 4] → [Activity 5]
↓ ↓ ↓ ↓ ↓
[Step 1.1] [Step 2.1] [Step 3.1] [Step 4.1] [Step 5.1]
[Step 1.2] [Step 2.2] [Step 3.2] [Step 4.2] [Step 5.2]
[Step 1.3] [Step 2.3] [Step 3.3] [Step 4.3] [Step 5.3]
↓ ↓ ↓ ↓ ↓
[Task 1.1.1] [Task 2.1.1] [Task 3.1.1] [Task 4.1.1] [Task 5.1.1]
[Task 1.1.2] [Task 2.1.2] [Task 3.1.2] [Task 4.1.2] [Task 5.1.2]
[Task 1.1.3] [Task 2.1.3] [Task 3.1.3] [Task 4.1.3] [Task 5.1.3]
... ... ... ... ...
这样做的好处
- 以用户为中心: 围绕用户目标而非工程模块组织工作
- 建立共识: 产品、设计和工程团队都能看到同一段旅程
- 明确优先级: 顶部任务 = MVP,底部任务 = 未来迭代
- 识别缺口: 缺失的步骤或任务一目了然
- 规划发布: 绘制水平“发布线”以界定范围
反模式(这不是什么)
- 不是甘特图: 这不是项目管理工具,而是用户旅程可视化
- 不是功能列表: 活动不是功能,而是用户行为
- 不是静态的: 随着对用户了解的加深,故事地图也会不断演进
适用场景
- 启动新产品或重大功能
- 让相关方对用户工作流达成共识
- 根据用户需求确定待办事项的优先级
- 区分 MVP 和未来发布版本
- 帮助新团队成员了解产品愿景
不适用场景
- 微不足道的功能(对于已经理解的内容,无需绘制地图)
- 用户工作流不断变化的情况(地图有助于稳定工作流)
- 替代用户故事(地图为用户故事提供依据,而非取而代之)
应用
步骤 1:定义背景
完整的填写结构请使用 template.md。
细分群体
你要为谁构建产品?
### Segment:
- [Specify the target segment, e.g., "Small business owners using DIY accounting software"]
质量检查:
- 具体明确: 不要写“用户”,而要写“企业 IT 管理员”或“自由职业设计师”
用户画像
请提供该细分群体中用户画像的详细信息(参考 skills/proto-persona/SKILL.md)。
### Persona:
- [Describe the persona: demographics, behaviors, pains, goals]
示例:
- “Sarah,35 岁的自由职业平面设计师,同时管理 5~10 个客户项目;她在发票和收款跟踪方面遇到困难,希望减少行政事务上的时间,把更多时间用于设计”
步骤 2:定义叙事
用户想要完成什么?请将其表述为一条 Jobs-to-be-Done 陈述(参考 skills/jobs-to-be-done/SKILL.md)。
### Narrative:
- [Concise narrative of the persona's objective, e.g., "Complete a client project from kickoff to final payment"]
质量检查:
- 关注结果: 不要写“使用产品”,而要写“按时交付客户项目并收到款项”
- 一句话: 如果需要超过一句话,范围可能太宽泛
步骤 3:识别活动(主干)
列出该角色为完成叙事而参与的 3-5 个高层级活动。这些活动构成地图的主干。
### Activities:
1. [Activity 1, e.g., "Negotiate project scope and pricing"]
2. [Activity 2, e.g., "Execute design work"]
3. [Activity 3, e.g., "Deliver final assets to client"]
4. [Activity 4, e.g., "Send invoice and receive payment"]
5. [Activity 5, optional]
质量检查:
- **按顺序进行:**活动按顺序发生(从左到右)
- **用户行为:**描述用户做什么,而不是产品提供什么
- **3-5 个活动:**太少会过于简化,太多则会让人不知所措
步骤 4:将活动拆分为步骤
针对每项活动,列出 3-5 个步骤,详细说明如何开展该活动。
### Steps:
**For Activity 1: [Activity Name]**
- Step 1: [Detail step 1, e.g., "Review client brief"]
- Step 2: [Detail step 2, e.g., "Draft project proposal"]
- Step 3: [Detail step 3, e.g., "Negotiate timeline and budget"]
- Step 4: [Optional step 4]
- Step 5: [Optional step 5]
**For Activity 2: [Activity Name]**
- Step 1: [Detail step 1]
- Step 2: [Detail step 2]
...
质量检查:
- **可执行:**每个步骤都是用户会执行的操作
- **可观察:**可以观察到某人执行该步骤
- **顺序合理:**步骤遵循自然顺序
步骤 5:将步骤拆分为任务
针对每个步骤,列出必须完成的 5-7 项任务。
### Tasks:
**For Activity 1, Step 1: [Step Name]**
- Task 1: [Detail task 1, e.g., "Read client brief document"]
- Task 2: [Detail task 2, e.g., "Identify key deliverables"]
- Task 3: [Detail task 3, e.g., "Note budget constraints"]
- Task 4: [Detail task 4, e.g., "Clarify timeline expectations"]
- Task 5: [Detail task 5, e.g., "List open questions for client"]
- Task 6: [Optional task 6]
- Task 7: [Optional task 7]
**For Activity 1, Step 2: [Step Name]**
- Task 1: [Detail task 1]
...
质量检查:
- **细化:**任务是具体的小型操作
- **面向用户或幕后操作:**两者都要包含(例如“发送邮件”和“收到确认”)
- **可确定优先级:**你将按垂直方向确定任务的优先级(顶部 = 必备,底部 = 可有可无)
步骤 6:按垂直方向确定优先级
按优先级从上到下排列任务:
- **顶部各行:**MVP / 第 1 次发布(必备)
- **中间各行:**第 2 次发布(重要但非关键)
- **底部各行:**未来 / 可有可无
画出水平的“发布分界线”以划分范围。
步骤 7:识别缺口和机会
检查地图并思考:
- 是否缺少步骤或任务?
- 是否有我们尚未解决的痛点?
- 是否有让用户惊喜的机会?
- 所有活动的衔接是否合乎逻辑?
示例
请参阅 examples/sample.md 中完整的故事地图示例。
常见误区
误区 1:活动是功能,而非用户行为
表现:“活动 1:使用仪表盘。活动 2:生成报告。”
**后果:**你描绘的是产品,而不是用户旅程。
**解决方法:**改为描述用户行为:“活动 1:监控项目进度。活动 2:向利益相关者总结工作。”
误区 2:活动太多
**表现:**主干上有 10 项以上活动
**后果:**地图会变得过于复杂,失去重点。
**解决方法:**合并活动。如果你有 10 项活动,很可能是把活动和步骤混为一谈了。目标是列出 3-5 项高层级活动。
误区 3:任务过于笼统
表现:“任务 1:做那件事”
**后果:**笼统的任务无法确定优先级,也无法估算。
**解决方法:**描述具体:“任务 1:在‘账单寄送至’字段中输入客户邮箱地址。”
误区 4:忽略垂直优先级排序
**表现:**所有任务都处于同一层级——未区分 MVP 和未来版本
**后果:**无法明确先构建什么。
**解决方法:**明确确定优先级。画出发布分界线。果断取舍,明确哪些内容属于 MVP。
误区 5:孤立地绘制地图
**表现:**PM 独自创建地图,然后向团队展示
**后果:**团队缺乏共同的归属感和理解。
**解决方法:**协作绘制地图。与产品、设计和工程团队一起举办故事地图工作坊。
参考资料
相关技能
skills/proto-persona/SKILL.md— 为故事地图定义角色skills/jobs-to-be-done/SKILL.md— 为叙事和活动提供依据skills/user-story/SKILL.md— 地图中的任务将转化为用户故事skills/problem-statement/SKILL.md— 问题陈述为叙事提供框架
外部框架
- Jeff Patton,User Story Mapping(2014)——故事地图技术的起源
- Teresa Torres,Continuous Discovery Habits(2021)——机会解决方案树(可与故事地图互为补充)
Dean 的作品
- 用户故事地图提示词(改编自 Jeff Patton 的方法)
来源
- 改编自
https://github.com/deanpeters/product-manager-prompts仓库中的prompts/user-story-mapping.md。
技能类型: 组件
建议文件名: user-story-mapping.md
建议路径: /skills/components/
依赖项: 引用 skills/proto-persona/SKILL.md、skills/jobs-to-be-done/SKILL.md、skills/user-story/SKILL.md、skills/problem-statement/SKILL.md