在敏捷开发中,采用 SPIDR 框架中的 5 种方法可以很好地完成需求的垂直切片,将大的需求纵向拆分成小但有价值的、可独立交付的用户故事。
本期内容将继续揭秘敏捷开发中的需求拆分全流程。
需求拆分第二招:用户故事切分流程图
听上去似乎与「如何把大象🐘放进冰箱里」有异曲同工之妙,但它并不是什么「废话文学」。
《用户故事切分流程图》(下文简称《流程图》)介绍了 9 种常见的垂直切分模式,并详细地说明了每一种模式的具体思考路径和判断规则;此外,它还提供了许多需求拆分实战的细节建议:
- 待拆分的需求必须是有价值的且尽量符合 INVEST 原则(除了短小原则);
- 垂直拆分后的故事大小应该大致相等,最好是团队研发速率的 1/10 ~ 1/6 。
《用户故事切分流程图》by Richard Lawrence | 来源:https://www.humanizingwork.com
一、 理解待拆分需求的价值
在正式开始拆分需求之前,敏捷团队应该花一些时间梳理和确定工作目标,充分理解工作范围,比如涉及的利益相关者、需求验收标准等等。其中,明确需求价值是最为重要的。
将研发需求拆分到用户故事,本质上是对交付增量做出的进一步细分。如果待拆分的需求没有明确的价值引导,那么研发工作就极有可能进入错误的方向或者「死胡同」,导致前功尽弃。
举个简单的例子:重构企业官网的用户注册页面。
在该描述下,「重构注册页面」究竟是为了让网站管理者更好地管理注册信息,还是为了让访问者拥有更好的使用体验?如果是后者,那么需要优化的「使用体验」具体指什么,是更美观好用的用户界面,还是更简洁的注册流程?
用户故事的「WHO-WHAT-WHY」语言结构要求故事必须说明需求价值,即清晰传递用户能获得的好处。这个规范,同样适用于待拆分的大需求。甚至可以说,缺乏价值描述的需求是无效的,因为研发团队必须知悉工作目标和需求价值,才能更快速、正确地推进后续工作。
那么有效的需求应