三步走 快速排列用户故事优先级

要排列用户故事优先级,要先需要搞清楚,用户故事是什么?

用户故事描述了对用户、系统、或者软件购买者有价值的功能。用户故事由以下三方面组成。

  • 一份书面的故事描述,用来做计划和作为提示;
  • 有关故事的对话,用于具体化故事细节;
  • 测试,用于表达和编档故事细节且可用于确定故事何时完成;
    3C原则:卡片(Card)、对话(Conversation)、确认(Confirmation)
其次,必须明确一个问题:希望在发布中包含哪些功能?

为了计划一个发布,客户必须排列故事的优先级,把故事划分为诸如高优先级、中等优先级和低优先级这三种类型。但是这会导致长时间低效率的讨论,比如会针对某个故事是高优先级还是中等优先级而争论不休(主要是高与中,中与低之间还是会存在模糊地带的)。这个时候,我们可以借用莫斯科(MoSCoW)原则来排列。

MoSCoW是以下短语的缩写

  • 必须有(Must have)
  • 应该有(Should have)
  • 可以有(Could have)
  • 这次不会有(Won't have this time)
    “必须有的功能”是指系统的基本功能。“应该有的功能”是指很重要但是短期内有替代解决方法的功能。如果项目没有时间约束,通常认为应该有的功能是强制性的。“可以有的功能”是指如果没时间就可以在发布中不予考虑的功能。列为“不会有的功能”是客户期望拥有但是同时承认需要在后期发布中实现的功能
排列故事优先级的技术要素有哪些?

如果是开发团队的话,可以用来排列故事优先级的要素有这些:

  • 故事不能如期完成的风险
  • 推迟实现一个故事时对其他故事的影响

如果是客户和用户对用户故事进行排序时,可以参考如下要素:

  • 故事对于广泛用户或客户的重要性。
  • 故事对于少部分重要用户或客户的重要性
  • 故事与其他故事的内聚性(例如“缩小”可能并不是高优先级的,但是可以当作高优先级的,因为它与高优先级故事“放大”对应)

总的来说,开发人员实现故事时会有一个顺序,当客户和开发人员对这个顺序有不同意见的时候,最后应该是客户说了算。
但是,客户如果缺乏哪些信息,比如客户不知道每个用户故事大约多久才能完成的话,就很难确定用户故事的优先级,所以开发团队应该帮助用户估算用户故事。此时,客户不会把用户故事的估算加起来,而是会利用这些估算,结合自己对每个故事价值的评估,来进行一个综合性的优先级排序,从而使得交付给公司的价值最大化。结果往往是,一个特别的故事对于公司来说可能有很大的价值,但需要一个月的时间来开发,一个不同的故事可能只有它一半的价值,但可能需要一天的时间就搞定了,这种情况还是非常普遍的。

快速排列用户故事优先级的方法就介绍到这里,你学会了么?

-参考材料
Mike Cohn 《用户故事与敏捷方法》


图片发自App

你可能感兴趣的:(三步走 快速排列用户故事优先级)