敏捷工具:用户故事地图梳理需求全景

时间:2024-03-25 19:44:28

文长:2770字

时长:8分钟

针对人群:用户体验设计师,业务分析师,产品经理,研发工程师

  1     概念   

什么是用户故事:

  • 迭代开发的一种工具

  • 代表了可开发的一个工作单元

  • 帮助我们跟踪一个功能的生命周期

什么是用户故事地图:

  • 一个有风向的图表

  • 横轴为时间线,放置延时间线的用户故事

  • 纵轴为优先级,自上而下

  • 覆盖所有用户故事,表达需求全景

为什么使用用户故事?

从设计赋能角度来讲,用户故事地图可以帮助设计师:

  • 从产品计划层面,提升产品用户体验,避免沉入细节之中;

  • 找到一种落地产品思维的方法,即平衡用户价值、产品价值、开发成本三者的关系;

  • 关注项目和产品,设计出落地、有效的产品方案,避免理想化;

从项目管理角度,用户故事地图可以解决以下问题:

从团队协作角度,用户故事可以降低沟通与达成共识的成本,将关注力更多集中在产品上。

  • 只见树木不见森林,重要内容埋没在细节中,难以排列优先级;

  • 无法看到版本贡献功能的完整价值流;

  • 无法方便的使用迭代方法跟踪、优化内容,确定版本计划和目标;

用户故事简述:

作为一个(角色):  谁要使用这个功能。

为想要(功能):  需要完成什么样的功能。

以便于(价值):  为什么需要这个功能,带来什么样的价值(用户价值和组织价值)。

  2     准则   

用户故事地图要素:

构建用户故事地图需要:时间线,用户活动,用户任务,用户故事,故事地图结构:用于实现目标的用户功能  >  活动  >  任务  >  史诗  >  故事

  • 将用户要素从左向右拖动到地图的顶行。地图顶行中的每个功能都是呼叫用户活动。

  • 创建完成活动所需的许多步骤,称为用户任务。

  • 这些用户任务中的每一个都可以分解为多个史诗。

  • 在史诗下,可以定义用户故事列表,其大小适合放入sprint。

敏捷工具:用户故事地图梳理需求全景

用户故事的3C原则

3C原则是由Ron Jeffries提出的。它包括三个部分:

Card卡片,用来简要描述软件特性或改进点。
  • 描述的内容简洁、词汇含义统一,项目成员不会对同一内容有差异性理解;

  • 这些卡片用于后续的沟通、对需求内容的组织和排列优先级;


Conversation 交谈 ,与Product Owner(或客户)交谈来明确细节。
  • 卡片的内容是由团队在沟通中获得,而非由同一个人输出或更新的,不然它与传统的需求分析方法无异;

  • 项目成员需要一起就卡片内容进行讨论。在复杂逻辑中,梳理出清晰的需求脉络,并在这一过程中,达到共识和理解的统一。


Confirmation 确认,每个故事应具有验收标准(验收条件),能够确认被正确完成。
  • 以始为终,先行确认以怎样的结果,来判断开发任务的完成;

  • 它保证每个故事都是独立的、完整的逻辑,可以单独交付;

  • 它为驱动测试驱动开发、行为驱动开发和持续集成提供可能。

用户故事原则:

  • I 独立的(Idependent):独立且完整,不依赖于其他任何用户故事;

  • N 可谈判的(Negotiable):引导团队跟干系人之间对话和谈判的介质。在任何时候,用户故事都可以被改写甚至丢弃。一个用户故事不会像石头一样固定不变,直到它将要在接下来的Sprint里被实现;

  • V 有价值的(Valuable):需要将价值给干系人,不论是最终用户还是采购者;

  • E 可估算的(Estimable):团队需要能够粗略地估算出完成用户故事所需工作量规模;

  • S 小规模的(Small):以一个大的“占位符”开始其生命周期。随着时间的推移,当人们对用户故事所表达的愿望的复杂度更加了解时,这个较大的“占位符”就将被拆分成小的用户故事。当最重要的那些用户故事将进入Sprint被实现并交付时,它们需要变得足够小,这样才能在一个Sprint里被完成。

  • T 可测试的(Testable):一个用户故事必须提供必要的信息,清楚地界定了故事的验收标准,这样才能在它完成时判断是否验收。

敏捷工具:用户故事地图梳理需求全景

  3     创建用户故事地图   

用户故事地图是一个用于需求收集的4级层次结构。故事地图从不同来源(即积压)收集的用户特征集合开始,这些用户特征将通过执行某些任务作为活动来实现。这些任务可以转换为史诗后转换为软件开发的用户故事。

敏捷工具:用户故事地图梳理需求全景

产品定义

一般是在故事编写工作坊准备阶段,首先由PD主导产出,主要有几点内容:

  • 产品的目标用户。

  • 解决了哪些问题。

  • 用户目标。

  • 产品目标。

梳理骨干故事

写出不同颗粒度的故事,需要设计师把控故事的大小,这段故事可以再往下梳理一层颗粒度更小一点的故事。这样骨干故事就有两层,一级故事和二级故事,故事的发生从左至右是一个叙事流。

拆分故事

在刚刚梳理的每一个二级故事下面做停留,去拆分二级故事获取更多细节内容。项目组会围绕这个故事写出很多细节来。按照以下几个维度对细节进行归类,分别是:故事细节、想法、痛点、机会、情绪。其中情绪可以通过固定的问题获得,也可以通过用户想法、用户的痛点结合主观判断。

沟通确认

这里我们的故事已经变得很丰满,甚至变得臃肿,所以沟通确认变得极为重要。我们在这步需要花费相对多的时间,大家对内容进行对标、充足讨论,把公认的留下来,无用的踢出掉。同时可以区分要做的故事细节的优先级。

敏捷工具:用户故事地图梳理需求全景

  4     建立用户故事卡   

目的:

卡与迭代的关系

  • 卡是迭代开发的一个工具

  • 卡代表了一个可以的工作单位

  • 帮助我们跟踪一个功能的生命周期

管理卡片:

  • 估计工时

  • 分配工作

  • 追踪进度

如何使用?

  • 书写故事卡;

  • 将卡放在墙内(物理墙/数字墙)

  • 领卡需要与QA/BA澄清需求(一人不能有两张正在做的卡)

  • 故事卡完成后需要做Desck Check(block里的卡片要尽快消灭)

敏捷工具:用户故事地图梳理需求全景

  5     产品迭代   

IPM:Iteration Plan Meeting,迭代计划会议主要是跟客户保持沟通与信息更新的会议。

  • 下一个迭代的Story。

  • 对下一个迭代的期望。

  • 团队的人员可用性。

  • 风险的评估总结。

敏捷宣言里面有一条:客户协作优于合同谈判。在Scrum团队中有一个角色叫做产品负责人,Ta的核心职责是确保业务需求的清晰和透明,保证开发团队对业务有足够的了解,并将这些待完成的业务需求(Story)按照优先级排列出来,按照任务卡的方式来驱动团队的开发。

IPM的主要产出是下一个迭代中完成的Story,这些Story即为下一个Story要完成的目标,通过敏捷看板工具来管理它们

Sprint:列表:业务流,Sprint1,Sprint2,Sprint3-N,已交付的故事。业务流就是史诗故事,每个史诗故事一个泳道。Sprint1,Sprint2,Sprint3-N里面是不同史诗故事拆分出来的用故事,并且根据优先级放到了不同的 Sprint 里面,横向的泳道代表的是史诗故事和史诗故事拆分的子故事的对应关系。

burn down chart:燃尽图,一个sprint 内,人/时是一个比较固定的值。在这个时间框架充分安排开发任务,每天进行时间结算,绘制时间燃尽图。项目成员通过燃尽图获知时间进展,若项目燃尽所用时间与预期时间契合,则需求时间预估和安排合理,若不契合则需要在下一个 sprint 进行调整。

Retro:(回顾)即retrospective的简写,团队针对目前状态总结,目的为保持好的方面及加强,做的欠佳的方面一起讨论改进措施,并尽力落实。在实践中摸索出适合团队的最佳实践,引导团队和个人不断自我完善,追求卓越。

  • 确认构建安全的环境;

  • 建立几项总结指标(well,less well,suggestion,action)前三项列出看法,第四项针对前三总结;

  • 一个点写在一张便利贴,分栏贴上墙;

  • 将同一类的问题归纳起来,总结出相应的解决措施;

  • Iteration 栏中的sticker指派并落实。

敏捷工具:用户故事地图梳理需求全景

往期精彩回顾

敏捷工具:用户故事地图梳理需求全景

点击在看】+转发【朋友圈】对我最大的支持