title: "用户故事地图" date: 2023-04-07T06:37:53+08:00 categories: [Agile] tags: [agile,user-story] aliases: [/posts/user-story-mapping/]
用户故事是软件开发和项目管理中的常用术语。主旨是以日常语言或商务用语撰写句子,是一段简单的功能表述。以客户或使用者的观点撰写下有价值的功能、引导、框架来与使用者进行互动,进而推动工作进程。可以被认为是一种规格文件,但更精确而言,它代表客户的需求与方向。
在敏捷开发需求分析阶段,要使用一些流程工具,如用户故事地图,来把那些抽象、模糊的用户需求,转化为具体的、分优先级的、模块化的用户故事。
一个用户地图看起来是这样的。
绘制用户故事地图应遵循一些基本原则:
在拆分用户故事时,应遵循逐层拆分的原则,每一层级只聚焦这一层级的任务颗粒度,不要过早陷入细节。
首先是设定宏观的活动,比如把用户需求分解为几个大的活动,如查看账户、存钱等。
接下来是梳理主干故事。针对每一个活动,拆分成一个个步骤,这些步骤就是主干故事。每一个主干故事:
第三步是针对每一个主干故事,通过头脑风暴的形式补充更多小的用户故事,用便签纸贴在下边。
最后按优先级,把重要的用户故事放在上面,不那么重要的放在下边。然后横向划分出不同的泳道,把故事按特定的目标成果划分为不同的阶段。
比如第一阶段完成基本的功能开发,那么横向的第一排所有用户故事就是第一个版本需要完成的工作。
这样就完成了用户故事的设计。我们重新梳理一下过程:
上面介绍了用户故事的绘制过程,但是其实找到真正的用户需求点才是最难的。为了从特定领域的客户或用户那里挖掘出有价值的需求,通常需要使用设计思维(Design Thinking)来帮助团队沟通、寻找焦点问题。
设计思维一共有五步。
一个探索团队由三名重要角色组成:
前期的需求探索阶段,应该由这支组成人数不超过 5 人的团队完成,要避免委员会设计(即团队多数成员参与到设计过程中,导致混乱和不一致)。
前期排列任务优先级时也应遵循这样的优先级:
业务目标 > 客户/用户目标 > 功能