的,例如A部门有属于A部门的职务,B部门有属于B部门的职务,当这类需求出现时,那么开发完成的时间就必须提高到4了,从这一种变化就可以看出,当需求变更在某一个级别的分类业务内进行变化时,其所完成的单位时间是与权值成正比关系。但是如果需求变更导致该业务的分类级别被提升,那么修改所花费的时间将直接提高到对应业务分类的权值所对应的时间比。
假设工作量为G,权值为D那么G=D(D=1,4,8,16)。再结合前面关于知识点的分析结果,G = D_*( ( C - B )/P1 + ( B - B1 ) / P1 + B1 / P2 ) ( D = 1 , 4 , 8 , 16 )
公式的完全说明如下:
G = D_*( ( C - B )/P1 + ( B - B1 ) / P1 + B1 / P2 ) ( D = 1 , 4 , 8 , 16 )
G : 工作量
D : 业务复杂度( D = 1 , 4 , 8 , 16 )
C : 知识点总量
B : 入门知识点总量
B1 : 交给新手人员做的入门知识点总量
P1 : 高级开发人员数量
P2 : 新手开发人员数量
( C - B ) / P1 : 意思是只能由高级开发人员做的事情
( B - B1 ) / P1 : 意思是由高级开发人员做的只需要入门门槛知识就能做的事情
B1 / P2 : 意思是由新手人员做的需要入门门槛知识做的事情
从这个公式可以看出D值越小,C值越小,B值趋向于C值,B1值趋向于B值时,工作量是最小的。要想B值趋向于C值,就必须使用框架来进行开发;要想B1趋向于B值,就应该避免让仅需入门门槛知识就能应付的需求让高级开发人员来做;要想D值小,那么在做需求和需求变更时就要引导客户避免高权值的需求产生;要想C值小,让开发者只面对少量知识点,就是分层开发,每一层的知识点将足够的小。