CMM与CMMI对比
来源:Worthy Tech
CMMI:
CMMI 全称是Capability Maturity Model Integration, 即软件能力成熟度模型集成模型,是由美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制的。CMMI是一套融合多学科的、可扩充的产品集合,其研制的初步动机是为了利用两个或多个单一学科的模型实现一个组织的集成化过程改进。CMMI可以解决现有不同CMM模型的重复性、复杂性,并减少由此引起的成本、缩短改进过程,它将软件CMM2.0版草案(SW-CWW)、EIA过渡标准731(系统工程CMM)及IPD-CMM集成为一体,同时还与 ISO15504相兼容。 CMMI是有效过程元素的集合,目前有如下模型:
CMMI是有效过程元素的集合,目前有如下模型:
CMMI-SE/SW/IPPD/SS,V1.1
CMMI-SE/SW/IPPD V1.1
CMMI-SE/SW V1.1
CMMI-SW V1.1
CMMI自推出以来,在世界各地得到了广泛的推广与接受。在日本、欧洲、台湾、印度等地都有很多企业在推广与应用CMMI模型。尤其在印度CMMI的应用甚至超过了美国。
CMMI阶段式的基本结构从CMM演变而来,但是CMMI的结构更加的形式化和精致,也更加的复杂,尤其为了保证连续式和阶段式的同一性,更加增加了结构的理解难度。
CMMI强调了对需求的管理,有两个过程域说明对需求的控制:需求管理REQM、需求开发RD。而在CMM中只有一个关键过程域需求管理RM以及软件产品工程SPE中的一个实践来说明对需求的管理和控制。
CMMI加强了对工程过程的重视,提供了更加细致的要求和指导,而CMM中却只有一个SPE关键过程来进行要求和指导CMMI强调了度量,并且从项目的早期就已经进行了度量,在阶段式中CMMI二级由一个过程域度量和分析;而在CMM中没有专门的要求和指导。
CMMI对比CMM更加强调了对风险的管理,在CMM中风险只“是项目策划”SPP中的一个活动,而在CMMI中风险管理作为一个单独的过程域。
CMM:
CMM作为较早推出的软件过程改进标准,目前已在世界范围被广泛地推广和应用。不可否认,CMM在建立有效的开发系统、控制软件产品开发过程式、降低软件企业内外部故障成本、提高企业的经济效益和社会效益等方面,取得了巨大成功。
但CMM也存在着一些不足,如CMM中的一个关键过程域“组间协调”IC在CMMI中地位下降,只是作为“集成化项目管理”IPM中的一个目标。
CMM中的关键过程域“同行评审”PR,在CMMI中得到了更高的抽象;对应CMMI的“验证”VER,说明了对产品进行相应的QC活动。(同行评审本身就是一种QC活动)。
CMMI的公共特性中,没有了测量(ME),这些度量内容被组织起来形成了一个支持过程“度量和分析”。具体理由如下:
度量和分析本身应用的复杂性和它执行的高成本在原来的CMM中每个KPA均有单独的测量要求,容易造成“过度测量”,也没有形成对组织级的、统一的度量体系的指导和要求,造成实施中的困难。例如在CMM中如果一个组织达到了CMM三级,由于各个KPA均要求了测量(ME),实际上已经建立了全组织过程的测量,这和CMM的等级划分思想是有着冲突的。
总结:
CMMI改进了这个方面,要求组织从组织级的统一要求出发建立度量体系。这样的想法也符合过程改进理论的思想;这样组织在实施过程中可以选择必要的过程进行测量,而不是全部过程的测量,从这个意义上,CMMI对比CMM降低了对度量的要求和实施难度,但是更加具有全局性和可实施性。
CMM是作为评估标准出现的,所以是“必要”的才能保证评估的标准。
CMMI是作为改进模型出现的,罗列了较多的最佳实践,利于过程的改进。