用户故事的INVEST原则 | IDCF
共 2851字,需浏览 6分钟
·
2021-08-25 14:05
来源:敏捷传习录 作者:陈连生
用户故事INVEST原则,本质上是用来形容“好的用户故事”,而不是“用户故事”,这点请一定要谨记,因此不用怀疑,如果不满足INVEST也可以是用户故事。下面简单介绍各个部分。有一些很好懂我就快速掠过,有一些比较有争议我也会努力讲出我自己的理解。
I——Independent,独立的
这点算是INVEST中最难懂,且最有可能出错的部分。同时也是PO或者研发觉得最困难的一个部分。
所谓独立性,说的是各个用户故事之间不存在依赖性。原先我们对独立性的理解是,在实现功能先后上不能有依赖性,即A的实现不依赖于B,这样子我们就可以更好地根据价值来进行优先级排序。
但是实际工作中,我们遇到过这种需求。看起来是独立的,但实际上依赖性很重。
假设我们有一个Epic,要求我们支持信用卡支付。信用卡包括Visa、MasterCard和银联。
我们根据习惯将这个Epic拆分为支持Visa、MasterCard和银联。
此时三个用户故事是否有依赖?
从功能角度来看没有,但估算用户故事大小的时候,就有非常明显的影响。支付底层逻辑是三个用户故事共同依赖的,无论你优先完成哪个需求,你都需要完成底层逻辑。因此就会出现,第一个完成的用户故事(假设为A),一定会比另外两个故事增加了一些底层逻辑实现的功能。但如果你说先实现用户故事B,那么这部分底层逻辑功能就需要加到B上面去。
这种情况下,拆分出来的用户故事是有依赖性的。
因此,我们对依赖性的定义就要包含两方面:
功能实现之间没有依赖性,即任意顺序实现用户故事都可以,不用刻意考虑技术底层; 功能之间不要出现共同依赖的底层逻辑,这会让底层逻辑必然在某个拆分的用户故事中实现,这对用户故事的尺寸估算带来一定的麻烦,这也是一定意义上的依赖性。
优先支持一种支付方式; 再支持另外两种支付方式。
N——Negotiable,可协商的
作为商家,我需要可以登陆我的后台。
V——Valuable,有价值的
E——Estimable,可估算的
S——Small/Size Appropriate,小的/大小适当的
小的用户故事可以放入短迭代中完成; 小的用户故事更容易被研发所理解,帮助更好的开发; 小的用户故事更容易被估算。
T——Testable,可测试的
客观性。所谓客观性,从某个测试结果可以得到唯一的结论,即测试通过或者不通过,不存在不同人、不同时间用测试结果可以得到不同的结论; 可重复性。即这种测试不是一次性的,是可以重复验证与测试的。
好的用户故事