在CMMI的评估方法SCAMPI V1.3中,对于参评项目的个数给出一个公式进行计算确定:
实际子组个数*该子组内的项目个数
每个子组的参评项目个数=—————————————————
项目总数
参评项目个数的计算公式中有3个变量:
X::项目总数
Y:实际子组个数
Zi:某子组内的项目个数
对于上述的公式还有2条补充规则:
(1) 每个子组至少选择一个项目参与评估;
(2) 公式的计算结果是服从四舍五入的规则;
在此公式中,何谓子组?
子组就是项目的分类。
如何对项目分类呢?
对于项目的分类方法,SCAMPI给出了一个要求,要求从至少5个维度上对项目进行分类:
地址位置,客户类型,规模,组织结构,任务类型。
其他的分类维度可以让评估组成员根据企业的实际情况自己选择定义。
对于子组有理论的子组和实际的子组的区别,所谓实际的子组是指在实际中存在的项目类型。比如:
某企业的研发团队所处的地址位置分为成都与绵阳2个地方(2类);
客户的类型分为数字家庭类软件、有线电视网络运行商2种(2类);
项目的规模都是10个人、1年左右的项目,没有明显的区别(1类);
在整个公司内的开发部门划分为3个所:数字所、基础所、成都所,其中数字所与基础所在绵阳,成都所在成都(3类);
整个公司是以软件开发为主,硬件为辅,硬件开发不在评估范围内(1类)。
则对于此公司,理论上的子组个数为2*2*1*3*1=12个。
而实际上,有些项目类型是不存在的,在实际中存在的项目类型有:
成都-家庭-成都所-软件研发
绵阳-家庭-数字所-软件研发
绵阳-家庭-基础所-软件研发
绵阳-运营商-数字所-软件研发
绵阳-运营商-基础所-软件研发
即实际上项目可以划分为5个子组。
对于每个子组中包含的项目个数,在评估方法中没有给出具体的计算规则,主任评估师一般在实际中是计算正在进行的项目及在评估前6个月内结束的项目。
对于上述的计算公式,我们来做个数字游戏加强对此公式的理解,看如下的4个场景:
场景1:
每个子组2012年项目的个数分别为:
SG1 成都-家庭-成都所-软件研发 3
SG2 绵阳-家庭-数字所-软件研发 1
SG3 绵阳-家庭-基础所-软件研发 3
SG4 绵阳-运营商-数字所-软件研发2
SG5 绵阳-运营商-基础所-软件研发1
项目总数为: 10个
根据公式:
实际子组个数*该子组内的项目个数
每个子组的参评项目个数=—————————————————
项目总数
SG1的参评项目个数=5*3/10=1.5=2个
SG2的参评项目个数=5*1/10=0.5=1个
SG3的参评项目个数=5*3/10=1.5=2个
SG4的参评项目个数=5*2/10=1=1个
SG5的参评项目个数=5*1/10=0.5=1个
这样累计下来参评的项目总数为:7个。
在这7个项目中,不同分组内的项目对证据要求的完备程度不同。
场景2:
比如对于场景1,假设SG1中的项目个数不是3个,而是300个,则各个子组的参评项目个数有什么变化呢?
SG1=5*300/307=5个
SG2=5*1/307=1个
SG3=5*3/307=1个
SG4=5*2/307=1个
SG5=5*1/307=1个
则在该公司内总共有307个项目,累计有9个项目参与正式评估。
场景3:
比如对于场景2,假设SG2,SG3,SG4,SG5合并为一个场景,则SG1有300个项目,合并后的SG2我们记为SG2’有7个项目,则各个子组的参评项目个数有什么变化呢?
SG1=2*300/307=2个
SG2’=2*7/307=1个
则在该公司内总共有307个项目,累计有3个项目参与正式评估。
场景4:
比如对于场景1,假设SG2,SG3,SG4,SG5合并为一个场景,则SG1有3个项目,合并后的SG2我们记为SG2’有7个项目,则各个子组的参评项目个数有什么变化呢?
SG1=2*3/10=1个
SG2=2*7/10=14/10=1个
这样累计下来参评的项目总数为:2个。
通过上述4个场景的计算,你是否对这个公式有比较深刻的理解了呢?是否理解了每个变量的作用了呢?