CMMI软件能力成熟度模型评估
一、简介
CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型),是美国国防部的一个设想,1994年由美国国防部(United States Department of Defense)与卡内基-梅隆大学(Carnegie-Mellon University)下的软件工程研究中心(Software Engineering Institute,SEISM)以及美国国防工业协会(National Defense Industrial Association)共同开发和研制的,他们计划把现在所有现存实施的与即将被发展出来的各种能力成熟度模型,集成到一个框架中去,申请此认证的前提条件是该企业必须是软件企业。
CMMI自出道以来,它所达到的目标就没有变过,第一个是质量,第二个是时间表,第三就是要用最低的成本。不过特别强调的是,CMMI不是传统的、仅局限于软件开发的生命周期,它应该被运用于更广泛的一个范畴——工程设计的生命周期。TSP的建立,也是为了支持CMMI的这样一个系统。那么CMMI究竟是什么呢?它并不是一个过程,也不是告诉你怎么去做一件事情。如果用一句话来概括什么是CMMI,它就是各个进程的一个关键的元素,在很多领域里面一个集成的点。它是这样的一个基本架构,能够用来度量你的有效性和实用性;能够找出这样的一些机会,继续改进的机会,包括在商业目标、策略还有降低项目的风险等方面。
二、构成
CMMI是由一系列的目标所构成,CMMI有一个总目标,那就是组织的过程的持续改进,这也是CMMI的愿景。在这个总目标之下,CMMI又细分为多个子目标,子目标又分为特定目标(SG)和通用目标(GG)两种;每一个G(子目标)下设有不同的实践(P)对G(子目标)的实现进行支持;SG下的实践被称为特定实践(SP),GG下的实践则被称通用实践(GP)。
CMMI除有一整套目标体系外,还根据项目管理、质量管理的关键点,建立了过程域(PA),过程域分为四个类别:过程管理类、项目管理类、工程类、以及支持类等,每一个PA都有若干个不同地SG予以支持,而GG则是支持于所有的PA实现。
三、实施意义
实施CMMI其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。
四、CMMI的价值
1.能保证软件开发的质量与进度,能对"杂乱无章、无序管理"的项目开发过程进行规范。
2.有利于成本控制。因为质量有所保证,浪费在修改、解决客户的抱怨方面的成本会降低很多。绝大多数情况是缺少规范制度,只是求快。项目完成后,要花很多时间修修补补,费用很容易失控。
3.有助于提高软件开发者的职业素养。每一个具体参与其中的员工,无论是项目经理,还是工程师,甚至一些高层管理人的做事方法逐渐变得标准化、规范化。
4.能够解决人员流动所带来的问题。公司通过过程改进,建立了财富库以共享经验, 而不是单纯依靠某些人员。
5.有利于提升公司和员工绩效管理水平,以持续改进效益。通过度量和分析开发过程和产品,建立公司的效率指标。
五、实施目标
1、为提高组织过程和管理产品开发、发布和维护的能力提供保障。
2、帮助组织客观评价自身能力成熟度和过程域能力,为过程改进建立优先级以及执行过程改进。
3、初步目标是集成三个特殊的过程改进模型:软件CMM、系统工程能力评估标准以及集成化产品和过程开发模型,这项集成的目的是通过一种手段减少实现基于多学科模型的过程改进成本。
4、长期目标是为今后把其他学科(如获取过程和安全性)添加到CMMI中奠定基础。为了促进模型集成,CMMI产品开发组建立了一个自动的、可扩展的框架,其中可放入构件、培训资料构件以及评估资料。在已定义的规则控制下,更多的新学科能被加入到该框架中。
CMMI 概念及等级
一、管理模型
CMMI模型已经成为业界主要的过程管理模型,CMMI模型有两种表示方式,连续表示模型和分级表示模型。其中分级表示模型依次划分为五个等级(初始级、可重复级、已定义级、已管理级、优化级),标志着软件企业能力成熟度的五个层次。级别越高,表示软件组织的成熟能力也越高,CMMI5是目前世界软件界对能力成熟度要求最高、申请难度最大、级别最高的评估,通过CMMI5级评估标志着本公司的质量管理和过程改进已跻身于全球软件业的顶尖水平。
软件企业申请认证CMMI不同的级别标准要求,要审时度势自身情况。一方面了解公司现有质量体系、实施过程、实施效果的运行情况;另一方面要根据企业规模、公司实力、管理需求等综合要素,不可好大喜功,一味选择CMMI更高级别的认证。在申请的CMMI认证时,有的企业从CMMI2开始、有的企业从CMMI3开始、有的CMMI3通过后跳过CMMI4而直接申请CMMI5、有的就从CMMI2、CMMI3、CMMI4、CMMI5逐步申请认证。
二、五个级别
L1:初始级(initial):在初始级水平上,企业对项目的目标与要做的努力很清晰。项目的目标得以实现。因此,任务是完成了。 但是由于任务的完成带有很大的偶然性,企业无法保证在实施同类项目的时候仍然能够完成任务。企业在一级上的项目实施对实施人员有很大的依赖性。
L2:CMMI二级,管理级。在管理级水平上,企业在项目实施上能够遵守既定的计划与流程,有资源准备,权责到人,对相关的项目实施人员有相应的培训,对整个流程有监测与控制,并与上级单位对项目与流程进行审查。企业在二级水平上体现了对项目的一系列的管理程序。这一系列的管理手段排除了企业在一级时完成任务的随机性,保证了企业的所有项目实施都会得到成功。
L3:CMMI三级,定义级。在定义级水平上,企业不仅仅能够对项目的实施有一整套的管理措施,并保障项目的完成;而且,企业能够根据自身的特殊情况以及自己的标准流程,将这套管理体系与流程予以制度化。这样,企业不仅能够在同类的项目上得到成功的实施,在不同类的项目上一样能够得到成功的实施。科学的管理成为企业的一种文化,企业的组织财富。
L4:CMMI四级,量化管理级。在量化管理级水平上,企业的项目管理不仅仅形成了一种制度, 而且要实现数字化的管理。对管理流程要做到量化与数字化。通过量化技术来实现流程的稳定性,实现管理的精度,降低项目实施再质量上的波动。
L5:CMMI五级,优化级。在优化级水品上, 企业的项目管理达到了最高的境界。企业仅仅能够通过信息手段与数字数手段来实现对项目的管理, 而且能够充分利用信息资料,对企业在项目实施的过程中可能出现的次品予以预防。能够主动地改善流程,运用新技术,实现流程的优化。
由上述的五个台阶我们可以看出,每一个台阶都是上面一阶台阶的基石。要上高层台阶必须首先踏上较低一层台阶。企业在实施CMMI的时候,路要一步一步地走。一般地讲,应该先从三级入手。在管理上下功夫,争取最终实现CMMI的第五级。
每个等级都被分解为过程域,特殊耳标和特殊实践,通用目标、通用实践和共同特性:
每个等级都有几个过程区域组成,这几个过程域共同形成一种软件过程能力。每个过程域,都有一些特殊日标和通用目标,通过相应的特殊实践和通用实践来实现这些目标。当一个过程域的所有特殊实践和通用实践都按要求得到实施,就能实现该过程域的目标。
CMMI认证评估流程
阶段1:CMMI项目启动会
明确企业实施CMMI的商业目标,建立CMMI项目实施的沟通机制。
在对客户公司现有软件过程充分了解的基础上,识别客户现有软件过程与预计达到的CMMI成熟度级别的差距,为客户提交差异分析报告;并与客户共同针对其过程改进的目标来制定CMMI过程改进实施计划。
阶段2:CMMI基础培训和过程改进小组(EPG)组建
进行CMMI基础概念讲解,指导企业建立核心的过程改进小组。
专业咨询师按照制定的CMMI实施计划帮助企业组建EPG小组并协助其进行软件过程改进的准备工作。
阶段3:诊断
充分了解企业研发过程现状,识别企业现有软件过程与企业现阶段理应达到的的CMMI成熟度级别的差距,提交诊断报告,进行过程改进的策划。
专业培训师和(或)咨询师对企业相关人员进行CMM框架及软件过程改进等理论知识的培训,帮助客户掌握CMMI模型及过程改进的方法,并制定出符合企业实际情况及项目特征的过程改进方案。
阶段4:过程域培训和文件定义
结合企业过程现状进行CMMI过程域培训,通过举例、案例分析等方式,让企业的EPG掌握过程文件定义技巧,结合企业实际情况有针对性的定义组织的研发过程,并确定过程产出物(如:需求报告)。
专业咨询师对EPG小组在理论与实践上的详细指导,帮助EPG小组完成CMM过程文档(包括方针、过程、规程及模板)的定义以及推荐和(或)指导相关CASE工具的使用。使得定义出来的软件过程能够在客户公司得到实实在在的应用。
阶段5:项目试点
选择代表公司核心业务的项目或者典型项目进行试点,通过试点来完善过程文件,从而为企业全面推广过程文件打下基础。
当过程文档定义工作全部完成后,由主任评估师对该过程文档质量进行最后把关。审核通过后,由咨询师与EPG小组共同确定CMMI过程试行项目。
在试点项目实施过程中,通过现场和(或)场外对项目的实施情况进行跟踪并周期性地对过程进行审计,出具详细的外部审计报告,从而实现对企业的软件过程的持续改进。
阶段6:组织推广
全员参与全面导入与执行CMMI。
阶段7:预评估
验证组织推广的结果,识别企业尚存缺陷并制定再次改善方案,准备充分,以便企业能够更好进行正式SCAMPI评估。
通过预评估来判定企业是否准备充分可以进行正式的SCAMPI评估,同时对企业的能力成熟度进行初步了解,识别明显缺陷并推荐纠正措施,以便企业能够更好进行正式SCAMPI评估。
阶段8:SCAMPI正式评估
由SEI授权的主任评估师领导,采用SCAMPI ( Standard CMMI Appraisal Method for Process Improvement)评估方法,对企业的能力成熟度进行正式的评估,并由主任评估师根据正式评估过程中识别出来的客户企业软件过程中强项、弱项及待改 进项,为客户提出后续的软件过程改进相关建议,并生成正式的评估报告送往SEI备案。
颁发证书,通过SEI网站向全球发布企业信息。
如有计划办的企业,可协助解决企业人员问题,可咨询我们,v---x:133----四二捌五----2518