通过假设地图进行产品待办列表排序

假设驱动开发(HDD)

Posted by Bruce Wong on December 10, 2022

本周在和PO商量如何设定Product Backlog优先级的时候,想到了之前曾经在Evelyn老师的A-CSPO课上学到的,基于假设驱动开发(HDD)的优先级排序方式。实践了一下发现是一个挺不错的可视化方法,我们就叫他假设地图吧。今天和大家分享一下这个方法。同时还有附带一个我们PO的小创新。在我介绍了假设地图之后,PO加入了她的理解。个人感觉简单实用。希望对小伙伴有帮助。

假设驱动开发的定义

假设驱动开发(Hypothesis Driven Development),顾名思义,就是假设这个需求是合理的,我们应该来实现它。对产品需求,或者说每一个Product Backlog来说,我们可以分为三类假设:需求假设(Desirability),业务可行性假设(Viability),技术可行性假设(Feasibility)。将需求归类这三个视角中的一类,来思考看他的重要程度,从而达到对Product Backlog排序的目的。(Note:这里说明一下业务可行性和需求假设的区别,两者看似有点相似。不过业务可行性假设侧重的是盈利模式。)
书归正传,如何来对分类后的假设进行排列呢?可以从两个角度来思考:

  • 假设对产品的影响有多大?
  • 我们对假设了解情况如何?

排序坐标

从上面这两个问题的思考,我们可以看到如果这个假设成立,同时我们无法实现这个需求。那么对产品交付的价值来说,风险就很高。而如果我们对这个假设是否真实存在?商业模式是否可行?技术实现是否能够达到?都是莫能两可的,那么这种不确定性就增加了。所以我们可以通过构建一个二维的坐标图——风险和不确定性来将每一个假设位置可视化出来。

下图就是一个例子。用三个假设类型,给每一个Backlog分类,之后按照假设类型进行思考,给它的风险和不确定性打分。可以是PO自己来弄,也可以是PO和Team一起。建议是后者,这样PO和Team在讨论的过程中,还有机会澄清需求。
hypothesistype 有了打分后的列表,将Backlog的序号放入坐标中,进行可视化呈现。如下图:
hypothesis_ordinator
可以看到,按照上面的箭头顺序,从高风险到低风险来排序,从不确定性到确定性来思考,是一个相对合理的选择。有小伙伴会问,为什么当风险一样的时候,要从不确定性到确定这个方向来排列优先级。那是因为同样为高风险的假设,不确定性越高证明你对风险的了解越不明确,越需要提前花精力弄清楚,有可能这个假设就是个伪命题,越早变得确定了越容易降低浪费。有可能发现假设不成立,提前从Backlog中清掉了呢。

排序象限

在看到上面的假设地图之后,我们的PO来了灵感,套上了一个四象限图,来更快速地圈定工作内容。如下图: hypothesis_quadrant 是不是一目了然,这个切块能够帮PO快速决策用。 (Note:象限横纵轴线可以根据需要左右和上下移动。PO可以根据实际需要来放大和缩小某些区域。)

感受

  1. 从三个假设分类对于Product Backlog进行思考,能够切换不同的视角来看待价值。
  2. 三个分类都是从产品的交付价值出发。更关注OutCome,而不是OutPut。
  3. 四个象限可以快速划分Backlog,帮助PO做决策。
  4. 可视化工具有时会激发创新,带来新的思考和结果。

践行敏捷实践,让工作变得更美好。欢迎关注我的公众号,交流落地经验。