什么是CMMI?
      CMMI的全称是Capability Maturity Model Integrated,即软件能力成熟度模型集成,是由美国国防部与Camegie Mellon University的SEI和美国国防工业协会共同开发和研制的新一代成熟度模型。SEI在2000年8月颁布了CMMI-SEI SW 1.0版本,2001年12月颁布了CMMI1.1版本,这次发布标志着CMMI的正式启用。CMMI产品包括:SW-CMM(软件能力成熟度模型)、SE-CMM(系统工程能力成熟度模型)、SA-CMM(软件获取能力成熟度模型)、IPD-CMM(集成产品开发能力成熟度模型)、P-CMM(人力资源成熟度模型)、IPPD-CMM(集成产品和过程开发能力成熟度模型)。这些模型各自面向不同的领域,具有不同的用途。由于是在同一个模型的基础上发展起来的,所以它们在过程域等方面有一定的重叠。

 

CMMI和ISO9000有什么区别和联系?
      IS09000与CMMI均可作为软件企业的过程改善框架。CMMI仅仅适用于软件行业,而IS09000的适应更广泛,但绝不是说IS09000不适合软件企业。实际上ISO9001和CMMI遵循共同的管理思想,它已经彻底解决了94版的制造业痕迹较重、标准按要素描述、难于在软件行业实施的问题。从软件企业实施IS09000失败的原因来看,主要是未考虑软件行业特点和企业特点,盲目照搬其它行业和企业的模式,领导的重视程度和推行力度不够。这些问题不解决,实施CMM同样会失败。
      就内容来讲,IS09001不覆盖CMMI,也不完全覆盖IS09000。一般而言,通过ISO9001认证的企业可达到CMMI 2级或略高的程度,通过CMMI 3级的企业只要稍做补充,就可较容易地通过ISO9001认证。粗略地说,ISO9001近似于CMMI 2.5级。
      IS09001与CMMI均可作为软件企业的过程改进框架,其不同之处是,一个是“泛用”,一个是“专用”。ISO9001标准面向合同环境,站在用户立场,要求对质量要素进行控制,规定了质量体系的最低标准。而CMMI标准则强调软件开发过程的成熟度,即内部过程的不断改进和提高。在形式上,ISO9001审核只有“通过”和“不通过”两个结论,而CMMI评定则是一个动态过程,软件组织在通过低级别评估后,可根据高级别的要求确定改进方略。
 

软件如何用CMMI改进过程?
      软件过程改进是一种含有大量管理成分的工作技术它主要包括以下三个关键步骤:a)对比目前的状态和期望达到的状态,找出存在的差距;b)确定要改变哪一些差距,要改变到什么程度;c)制定相应的具体的实施计划,其中的“具体”是指:1)要有明确的可以检验的目标;2)要定出检验成功与否的标准;3)要有具体的实施办法;4)指定具体执行计划的人,并明确具体的职责与任务;5)要明确执行计划的主要领导或协调者,以负责解决在计划执行中出现的问题;6)要列出“实施计划”用的新技术与新工具以及如何获得这些新技术与新工具。