在敏捷开发宣言中,最后一句为“响应变化 高于 遵循计划”,从敏捷本质上来说,IT部门对于业务部门所提需求的响应度会是IT部门的一个重要指标。
那应该如何度量业务需求响应度呢?
从单一的业务需求响应度来说可以度量从需求提出到需求上线的时间,一个团队在一段时间的需求的响应度可能如下图所示:
敏捷开发模式下会尽量追求需求的平准化,这使得团队在一段时间内完成的需求会有一个众数的波峰值,也有一个长尾来表示超出平准化需求的特殊需求。
若是取均值或者中位数可以看到对于业务需求响应度来说还是有很大一部分的数据没有被覆盖,所以实际实施时,可以试算一下P80以后的百分位值,看哪一个更能符合团队的需求平准度。P80以后的值都可以用以衡量服务级别,P85,P90,P95都可用以做一个平衡点。一般选用P85是从正态分布来说,从下图所示(50%+34.1%-1标准方差,约为85%):
若我们以P85作为一个基准点,则可取 统计周期内,需求时效的P85值来作为需求时效的目标值。
如何快速计算一组数据的P85值
1)Excel中有PERCENTILE函数专门用来计算百分位值
假设你的数据在A列的A1到A10
在B1输入=PERCENTILE(A1:A10,0.1) 得到的是第10[百分位数
在B2输入=PERCENTILE(A1:A10,0.9) 得到的是第90百分位数
2)Python中也可以用numpy中的percentile函数来计算
import numpy as np
a=np.array(([15,20,15,25,30]))
np.median(a)#中位数
s = np.percentile(a,85)#85%分位数
print(s)
3)PENCENTILE函数的人工计算方法
第1步:以递增顺序排列[原始数据(即从小到大排列)。
第2步:计算指数i=np%=j+g,n为原始数据的个数,j为整数部分,g为小数部分。
第3步:
1)当g=0时:P百分位数=X(j); 第J个数
2)当g≠0时:P百分位数=gX(j+1)+(1-g)X(j)
以此,我们可以顺利的算出 需求时效的P85值。