【DevCloud · 敏捷智库】如何拆分用户故事

提起用户故事拆分,我们听得最多的就是INVEST原则(关于INVEST原则可以参考文章“用户故事即是需求说明”——你一定没有写好用户故事),但许多人面临的问题是拿到一个较大的用户故事时,该若何拆分才气使得它知足Small的原则呢?接下来,就和人人一起讨论一下若何拆分用户故事。  
首先,拆分可以参考以下流程:评估待拆分用户故事-按方式拆分-评估拆分效果。(文末有彩蛋,不要错过)

评估待拆分用户故事

拆分前,我们需要知道手中的用户故事是否需要拆分,就是现在是否已经相符了Small的原则。我们推荐一个用户故事在1-2天内能完成,最多不跨越3天,则相符Small原则。有些地方给出的说法是1/5-1/10团队速率,这个算法和你每个迭代天数以及团队成员数有关系,以是我小我私家照样喜欢简朴的说,1-2个事情日能完成算Small。在这种情况下若是你的用户故事已经相符了INVEST其他原则的话,那就没必要拆成多个用户故事了,由于再拆就增加了治理成本(这里不包罗拆成多个task,task可以再多拆分的)。  
好,当你已经凭据上面评估了用户故事,发现依旧需要拆分的话,那么可以按下面方式举行拆分。

按方式拆分

现在业界对照好的方式是Richard Lawrence的方式,原文请参考https://agileforall.com/patterns-for-splitting-user-stories/,下图为已官方翻译的中文版本。
【DevCloud · 敏捷智库】如何拆分用户故事 图片来自Lawrence官方
原文里有作者的切分方式,这里我只凭据我的明白选择更熟悉的例子,同时合并了其中一些方式。

方式一:按流程拆分

作为有爱心的有财力的中国人,我可以从外洋入口口罩捐给武汉。  
这个用户故事涉及的历程就许多了,需要找到外洋可靠的口罩供应商,然后付款,运回海内,再送到武汉捐给指定医院等等。我们可以先剖析整个用户故事成一个一个延续的流程,若是每个小流程作为一个用户故事,能对用户有价值,那我们就先这么拆开。效果好比下面

  • 作为有爱心的有财力的中国人,我可以寻找个外洋的同伙协助寻找可靠的口罩泉源。
  • 作为有爱心的有财力的中国人,我可以在这个泉源付款购置指定数目的口罩。
  • 作为有爱心的有财力的中国人,我可以将口罩从外国运回海内。
  • 作为有爱心的有财力的中国人,我可以将口罩从海内某地送到武汉捐给医院。

方式二:按操作种类划分

作为有爱心的中国人,我可以在口罩购置平台上操作以完成购置。  
若是是一个营业更简朴的系统的话,对应的就是增删改查动作。这里的操作会庞大些,把每个操作拆分成一个用户故事即可。

  • 作为有爱心的中国人,我可以在口罩购置平台上购置。
  • 作为有爱心的中国人,我可以在口罩购置平台上退货。
  • 作为有爱心的中国人,我可以在口罩购置平台上查询。
  • 作为有爱心的中国人,我可以在口罩购置平台上卖货。

方式三:拆出主要的事情

作为有爱心的中国人,我可以购置N95/KN95/医用外科三种口罩举行捐赠。  
整个购置捐赠流程就很庞大了,还要买差别种类的口罩,显著这三种口罩可以拆成三个故事,同时思量一点,就是无差其余完成购置一个口罩举行捐赠的故事后,剩下的两种需要的事情量就会很少了,同时这里若是没有区分三种口罩的优先级的话,我们可以先拆出一个作为主要事情,再看剩下的两个是合到一起照样继续拆分。  
好比拆成如下

  • 作为有爱心的中国人,我可以购置其中一种(N95/KN95/医用外科)口罩举行捐赠。(3个故事点)
  • 作为有爱心的中国人,我可以购置另外一种(N95/KN95/医用外科)口罩举行捐赠。(1个故事点)
  • 作为有爱心的中国人,我可以购置最后一种(N95/KN95/医用外科)口罩举行捐赠。(1个故事点)

若是后两个都对照小,合道一起也没问题的话,也可以拆成如下

  • 作为有爱心的中国人,我可以购置其中一种(N95/KN95/医用外科)口罩举行捐赠。(3个故事点)
  • 作为有爱心的中国人,我可以购置另外两种(N95/KN95/医用外科)口罩举行捐赠。(2个故事点)

方式四:营业规则分类

作为有爱心的中国人,我可以购置三十万个口罩捐赠给武汉。  
这里购置的口罩可以选择多种类型,价钱不一样,效果不一样,这就是我们要区分的差其余营业规则,拆分后可能如下

  • 作为有爱心的中国人,我可以购置三十万个最贵的口罩捐赠给武汉。
  • 作为有爱心的中国人,

    C# 数据操作系列 – 11 NHibernate 配置和结构介绍

    我可以购置三十万个口罩捐赠给武汉,不区分口罩种类。

  • 作为有爱心的中国人,我可以购置三十万个口罩捐赠给武汉,只要N95和KN95级其余。

方式五:简朴到庞大

作为有爱心的中国人,我可以购置口罩捐赠给武汉。  
简朴一句话,涉及的营业可以是购置何种口罩,若何捐赠,给什么机构等,显著不能作为一个故事举行交付,需要拆分。然则营业太庞大,一开始无法全都想清晰,可以先做最基本的,然后再凭据方式四的营业规则分类举行扩展。

  • (简朴)作为有爱心的中国人,我可以购置口罩捐赠给武汉。
  • (庞大)在XXX日期购置。
  • (庞大)通过差其余运输通道送到武汉。
  • (庞大)捐赠给XXX差其余医院。

方式六:推迟性能实现

作为有爱心的中国人,我可以明天购置口罩捐赠给武汉。  
明天这个性能太高了,实现起来可能对照难题,我们先实现购置和捐赠,不思量哪天能完成,再思量明天这个性能要求。

  • 作为有爱心的中国人,我可以购置口罩捐赠给武汉。
  • 作为有爱心的中国人,我可以明天购置口罩并完成捐赠给武汉。

方式七:探针

作为有爱心的中国人,我可以明天购置口罩捐赠给武汉。  
这个可能对我来说太庞大了,完全不知道该买什么类型的口罩,买30万个也许多少钱,渠道买对照靠谱,怎么捐赠,给哪个机构,若是现在就强行做设计的话,可能最后发现,我手上的钱是不够的,或者周期太长,到最后才发现的话,会损失许多。以是一样平常都是先去探探路。

  • 观察市场上口罩类型、价钱、渠道。
  • 观察捐赠方式,靠谱的接受机构。
  • 实行捐赠(需要等前面的事情完毕后重新评估)

评估拆分效果

拆分完毕后,再用INVEST原则举行评估,若是相符,那就没问题了。然则有的时刻会不相符其中某些原则,好比自力性,然则现实营业就只能这样。好比上面提到的方式三的拆分,这个是一定有关系的,不可能先做第二个用户故事后做第一个。这时只能选择不相符自力性原则。

彩蛋

看了上面这么多拆分方式,是否迷糊了?是否每次拆分都要对照上面的方式一个一个的试?实在不需要的,凭据履历,拆分用户故事最主要的是,先捋清晰整个营业(划重点,这个最主要,之前许多例子你感受切分的不如作者好,都是由于对举例的营业不熟悉),然后根据最主要的原则-纵着切即可。如下图所示。
【DevCloud · 敏捷智库】如何拆分用户故事 图片来自网络
纵着切的意思是,每个切分出来的需求是个单独对用户有价值的,就像上图中切出来的一块蛋糕,是自力的个体,包罗这一块蛋糕的所有条理以及上面的小人。对比的横着切的意思是所有的需求放一起将前台、后台、数据库操作这样切分出来,效果就是先用几个迭代将所有的需求前台事情做完了,再开发后台的,这样无法尽早交付有价值的需求,好比先将蛋糕上上所有的小人都切下来了。  
若是营业对照庞大,那么就以MVP的头脑,先交付一个简朴的端到端的营业,再逐步扩展庞大水平。若是过于庞大,就实验探针方式。  
若是捋清晰了需求,实验纵着切,发现很难下手,这时刻再来看上面提到的Lawrence的七个方式,追求辅助。  
点击关注,第一时间领会华为云新鲜手艺~
【DevCloud · 敏捷智库】如何拆分用户故事  

原创文章,作者:7h28新闻网,如若转载,请注明出处:https://www.7h28.com/archives/10352.html