CMMI评估过程

发表时间:2/8/2012  浏览次数:6826  


评估

预备工作
  评估实践证明:在进行CMMI评估之前,制定一个正确的评估计划并将其文档化,确保有一个富有经验的、受过培训且具有适当资格的小组能被用来评估,为执行评估过程做准备,是十分必要的。
  我们所说的文档化CMMI评估计划的结果,包括:要求,协定,估价,风险,剪裁方法,以及与评估相关的实际考虑(例如:日程安排,后勤,组织的背景信息)。此外,还应当获取并记录发起方对于CMMI评估计划的正式批准。在制定评估计划之前,应对CMMI评估输入中反映出来的协议文档化,该协议将有助于CMMI评估目标和关键评估计划参数的共同理解。在对驱动计划过程的关键参数达成共同理解的基础上,CMMI评估发起方和SCAMPI主任评估师应就评估计划达成一致;发起者和评估小组领导应就已计划的评估中技术和非技术细节达成一致。这个计划在执行其他的计划和准备阶段活动中需要进一步细化。
  而通过CMMI评估小组的准备工作,将产生一支富有经验的、受过培训的且定位准确的小组准备执行CMMI评估任务。该小组的成员都应当获得了完成他们各自的任务所必备的知识,或者他们之前所拥有的知识被证实足以完成相关任务。评估小组领导者已经给每一个人提供了为完成他们各自的任务所需的对技能进行实践的机会,或者证实这些技能在过去已经得到了示范。小组成员相互了解,同时开始计划他们如何协调一致的工作。还应该做到:准备好的小组是为评估目标而服务的,小组的成员已提供培训且培训结果被记录,在必要的时候,对他们所做的因知识或技能不足的补救工作已经完成。我们认为,无论CMMI评估小组领导者是从头培训一支全新的评估小组,还是通过从富有经验的小组成员中选择来组建一个小组,确保他们与CMMI评估小组领导者能组成一个成功的集体是其责任。此外,在对CMMI评估进行的预备工作的过程中,我们还应当对模型剪裁的原则有所了解:
  1.在某些应用中,计划模板和例行的程序能够根据评估的需要进行调整,这和当地的过程所有权一样,有助于交流;
  2.一个结构化的计划工艺组有利于只有有限的评估经验的组织,这样一个工艺就像缓和策略样,对于发现风险是一个很有价值的机会;
  3.案例研究材料提供了各种各样的选择来扩充小组培训内容以增强那些更需要培训的重点;
  4.富有经验的评估小组领导者在没有案例分析的情况下,同样可以管理和模拟评估行为;
  5.在小组所有已获得培训成员的集合中,对小组的建立工作进行管理以确保其团队凝聚力是十分重要的,因此,很多的小组建立练习是可以利用的,小组的规模、技能、组成部分都是本方法的裁剪内容;
  6.所采用工具可以包括评估计划模板,样例,和计划模板中嵌入式的程序上的帮助,此外,为了估计评估约束的影响,估算工作表和方法也是很有用处的。
  总之,CMMI评估是一个十分复杂的过程,更由于其具有的不确定性,在评估的实践中,一定要做到有备无患。真理来自于实践,我们相信,随着越来越多的软件组织着手CMMI评估,越来越多的成功经验将为我们所利用和借鉴。
评估方法
  自1991年起,CMM出现了很多模型,覆盖了各种各样的专业领域。其中着名的模型有系统工程·软件工程·软件采购·集成产品和流程开发等。然而当企业想要在组织内不同专业领域的流程改进,这些针对不同专业领域的模型在架构·内容和方法上的不同限制了组织成功实施改进的能力。此外,将这样模型在组织内部集成也提高了培训·认证和改进的费用。一套包括多个专业领域的模型加上整合的培训和认证支持将解决这些问题。
  CMMI(Capability maturity model integration)是为了合并三个模型到一个框架中
  Capability Maturity Model for Software (SW-CMM) v2.0 draft C,
  Electronic Industries Alliance Interim Standard (EIA/IS) 731
  Integrated Product Development Capability Maturity Model (IPD-CMM) v0.98
  正如其他CMM模型,CMMI提供了流程改进的指导,而不是流程或流程的描述。组织使用的实际流程取决于很多因素,包括应用领域·组织框架和规模。CMMI将许多经过验证的方法加入架构中,来帮组组织评价成熟度·某个软件流程的能力度,并且建立改进的优先顺序和实施改进。
  从CMMI框架可以产生不同的CMMI模型,因此必须首先确定那种模型最适合企业流程改进的需要。
  阶段式描述 or 连续式描述
  系统工程 or 软件工程 or 两者皆有
  使用连续式描述可以根据企业需要选择流程改进顺序,降低企业风险,这给通过ISO做流程改进提供了一个方便的比较。使用能力度(Capability)来衡量。
  阶段式描述提供了已经过验证的流程改进顺序,方便从CMM移植过来。使用成熟度(Maturity)来衡量流程改进。
  系统工程包括整个系统的开发,可能包括软件也可能不包括。
  软件工程用于软件系统的开发,主要集中在使用系统的·科学的·量化的方法来开发·运行·维护软件。
cmm是项目管理
  由美国卡内基梅隆大学的软件工程研究所(SEI)创立的CMM(Capability Maturity Model 软件能力成熟度模型)认证评估,在过去的十几年中,对全球的软件产业产生了非常深远的影响。CMM共有五个等级,分别标志着软件企业能力成熟度的五个层次。从低到高,软件开发生产计划精度逐级升高,单位工程生产周期逐级缩短,单位工程成本逐级降低。据SEI统计,通过评估的软件公司对项目的估计与控制能力约提升40%到50%;生产率提高10%到20%,软件产品出错率下降超过1/3。
  对一个软件企业来说,达到CMM2就基本上进入了规模开发,基本具备了一个现代化软件企业的基本架构和方法,具备了承接外包项目的能力。CMM3评估则需要对大软件集成的把握,包括整体架构的整合。一般来说,通过CMM认证的级别越高,其越容易获得用户的信任,在国内、国际市场上的竞争力也就越强。因此,是否能够通过CMM认证也成为国际上衡量软件企业工程开发能力的一个重要标志。
  CMM是目前世界公认的软件产品进入国际市场的通行证,它不仅仅是对产品质量的认证,更是一种软件过程改善的途径。参与CMM评估的博科负责人表示,通过CMM的评估认证不是目标,它只是推动软件企业在产品的研发、生产、服务和管理上不断成熟和进步的手段,是一种持续提升和完善企业自身能力的过程。如果一家公司最终通过CMMI的评估认证,标志着该公司在质量管理的能力已经上升到一个新的高度。