美文网首页
一次基于业务规则的用户故事拆分

一次基于业务规则的用户故事拆分

作者: Bruce_Talk | 来源:发表于2021-07-31 15:59 被阅读0次

今天分享一个用户故事拆分的案例。引起我的注意的是团队认为这个用户故事无法继续拆分,而他们在一次Sprint中只能完成这一个User Story,所以我尝试理解了实际的需求,并自己尝试拆分了一下。欢迎小伙伴们一起讨论。
背景: 一个共创孵化场地的设施管理系统
用户故事描述: 作为一个培训讲师,我希望能够订阅到合适的培训场地。(搜索场地的User Story是另外一个,这里主要说的是订阅这个场景)
客户需求描述:

  1. 看到场地的布局图,位置,楼层,容量,内部设施等信息。
  2. 订阅时长是要明确否包含午餐时间,并设定午餐时间段。
  3. 选择订阅的起始时间的时候,只允许比当前时间提前半小时,否则超时不允许订阅。
  4. 如果场地在选择时间段内被占用,允许按照占用时间段和选择时间段自动切分后订阅。同时显示占用人和占用目的描述等信息,以方便内部协商。
  5. 订阅时间段支持点击时间和滑动方式选择。

上面是在和客户沟通后得到的上下文。可以理解客户需求部分是这个用户故事的业务规则。这让我想起了Mike Cohn的5种简单用户故事拆分法“SPIDR”中一个方法R(Rules)(感兴趣的小伙伴可以阅读我之前的一片文章<五种简单高效的拆分用户故事的方法>。我们可以尝试将每一个规则(Rules)拆分成一个用户故事来进行迭代开发。例如:

  1. 作为一个讲师,我希望能够在订阅页面,看到场地布局,位置,楼层,容量和内部设施等信息。这样我就可以为我的课程订阅合适的培训场地和使用时间段。
  2. 作为讲师,希望在订阅场地的时候可以选择订阅时间区间的时候,选择是否包含午餐时间,这样可以更合理标记和计算的场地占用时间。
  3. 作为讲师,希望在订阅场地的时候,选择的开始时间已经超过30分钟的时候能够给予提示,告诉我无法使用。这样就能避免讲师错误的订阅场地时间。
  4. 作为讲师,在订阅场地的时候如果所选时间段有其他人已经占用,希望能够给予提示,这样就可以明白该场地被占用的时间、目的、以及人员,方便调整和协商等后续操作。
  5. 作为讲师,在订阅场地选择一个较长时间段时,如果中间有被占用的时间段,希望系统能够将可用时间段自动分割,这样我就可以最大限度地利用场地时间。

可以看到每一个客户的需求可以在这里考虑为一个业务规则,而每一个规则可以作为一个独立的用户故事进行开发。当然,你可能会说这是一个操作页面内的逻辑,这样分割用户故事最后还是会导致UI界面的反复修改。是的,有些时候确实很难做到完美的完全独立,但是本例中主要描述的是后台业务规则的拆分,所以主要的后台工作量可以从这种拆分中获益。当有一些突发情况导致用户故事无法全部做完的时候,我们有机会在合理的情况下去掉某些业务规则,同时能够最大限度地保证用户最在意的业务规则被优先交付。
上面的业务描述最后一个是“订阅时间段支持点击时间和滑动方式选择”。这部分不属于业务规则,但依然可以拆分,在“SPIDR”中I(Interfaces)中讲到,GUI的方法可以分成普通和改进版本,所以这个需求可以生成两个用户故事:

  1. 作为讲师,在选择订阅场地的时间段的时候,我希望能够支持选择时间段,这样就可以方便的订阅场地和时长。
  2. 作为讲师,在选择场地的时间段的时候,我希望能够通过滑动块的方式选择,这样更炫酷。

Bruce有话说

当一次迭代只能做一个User Story的时候,请大家要引起注意,这会有一定的潜在风险。因为一个迭代只做一个Story,团队很可能做成小瀑布的模式,将团队的人员按照功能和技术能力横向切分。最后组合起来后集中测试。而这种一下子铺开的开发模式很有可能无法保证团队容错能力。例如一旦有突发情况,导致某一个环节出现延误,对最后的交付会产生直接的影响。所以我更倾向于进一步拆分,当然仍然是按照可交付的业务价值来拆分。因为只有这样,我们才可以和客户还有PO敲定用户故事的优先级,并对一些未知事件留有缓冲区,例如:延迟交付一些相对低优先级的Story。今天介绍的拆分实践只是一些个人的想法,希望可以带给小伙伴们一些启发和思考。

相关文章

  • 一次基于业务规则的用户故事拆分

    今天分享一个用户故事拆分的案例。引起我的注意的是团队认为这个用户故事无法继续拆分,而他们在一次Sprint中只能完...

  • 3.服务如何拆分

    服务拆分的几种方法 纵向拆分(基于业务逻辑拆分)是从业务维度进行拆分。标准是按照业务的关联程度来决定,关联比较密切...

  • 计算机应用实践之--重写Java对象HashCode

    我们系统有一个场景,根据我们业务自己定义的商家拆分规则,将用户提交的发票申请拆分成多个发票(运费、订单实收),重写...

  • 微服务的拆分规范和原则

    微服务的拆分规范和原则 拆分方案 压力模型拆分 业务模型拆分--主链路拆分--领域模型拆分--用户群体拆分--前后...

  • 拆分用户故事的流程

    Richard Lawrence 介绍了拆分用户故事的流程,包含三个部分:判断故事是否需要拆分、应用多种模式拆分故...

  • Mysql-分库分表

    分库分表 1、按业务拆分成不同的库 2、区分实时热点数据,如用户相关与运营相关数据拆分 垂直拆分:垂直分库、垂直分...

  • 3.4 用户故事拆分

    按工作流程步骤切分 是否可以先完成工作流程的头尾部分,再添加中间步骤去完善该故事呢? 按操作切分 是否可以把不同操...

  • 一次用户故事拆分分享

    正文 最近连续翻译了几篇用户故事拆分方法的文章。总想找个机会尝试一下,本周在参加一个团队的计划会的时候被一个用户故...

  • DDD-场景驱动设计

    1. 执行步骤 识别场景固化套路 复杂不清晰的业务使用事件风暴 简单确定的使用用例图捕捉用户故事 任务拆分固化套路...

  • 用户行为数据驱动--(四)基于用户行为促进业务增长的分析方式

    四、基于用户行为促进业务增长的分析方式 从上文所述,基于用户行为的业务增长的分析体系建设,下文将围绕代发工资营销为...

网友评论

      本文标题:一次基于业务规则的用户故事拆分

      本文链接:https://www.haomeiwen.com/subject/ojckvltx.html