CMMI认证--CMMI,CMM,ISO9000

上一篇 / 下一篇  2008-03-11 18:10:50 / 个人分类:CMMI

最近公司在做CMMI认证,目前处于市场调研阶段.

其实一直以来对CMMI,ISO9000的认知仅限于名称,对于其中的细节并不是很明确;但一直以来对ISO9000和CMMI都没有什么特别好的印象,因为就目前中国的软件企业而言这些认证仅仅是噱头而已;为了过ISO9000和CMMI认证,大家日夜加班仅仅是为了补充上认证中所要求的几项文档,而不管这套流程是否适用于本企业.

但是不管如何,在众多云集的中国软件企业和软件外包企业中,要想得到他人的认可,认证是必不可少的敲门砖.

本章就讨论一下CMMI,CMM,ISO9000认证之间的区别和联系.

1.先介绍一下起源和定义

(1)CMM:

CMM是由美国软件工程学会(software engineering institue,简称SEI)制定的一套专门针对软件产品的质量管理和质量保证标准.

CMM全称为(Capability Maturity Model),中文名称为能力成熟度模型.

CMM最早始于1987年,为了满足美国联邦政府评估软件供应商能力的要求,美国卡内基-梅隆大学的软件工程研究学院SEI牵头,发布了一份能力成熟框架(Capability Maturity Framework)以及一个成熟度问卷(Maturity Qestionnaire).四年后(即1991年),SEI将成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM,即CMM1.0)

自1991年SW-CMM1.0版本使用两年后,SEI与1993年又推出了CMM1.1版.

近几年来,CMM又推出了2.0版本,同时进入了ISO体系,称为ISO/IEC15504或SPICE.

CMM划分为五级:级别越高表明该企业在提供合格软件产品方面的能力越强.

五级的关键过程域(KPA),共计18个过程域如下:

  • 初级(initial):描述了不成熟,或者说是未定义的过程的组织
  • 可重复级(Repeatable): 需求管理,项目策划,项目监督和控制,供方协定管理,测量和分析,过程和产品质量保证,配置管理
  • 已定义级(defined):需求开发,技术解决,产品集成,验证,确认,组织级过程焦点,组织级过程定义,组织培训,集成项目管理,风险管理以及决策分析和决定.
  • 管理级(managed):定量过程管理,软件质量管理
  • 优化级(optimizing):组织革新和部署,原因分析和决定.
  • 一个组织只要开始从事软件开始,即自动处于第1级,要通过其它等级,就需要达到统一的标准,即上述相对应等级中的各个区域过程.

CMM的评估方法是:CBA-IPI方法(即CMM-Based Assessment for Internal Process Improvement).CBA-IPI方法是一种诊断工具,它借助识别其现行过程的优劣使一个组织能了解其软件开发能力,把这些优缺点与CMM对照起来,安排软件改时计划的优先顺序,并把注意力集中关注到最有利的软件改进上,以及给出其现行过程的成熟度等级和业务目标;此方法是受过培训的专业组对组织的软件过程能力作出评估,该组全体人员作为一个团队一起对评估范围内的CMM关键过程域进行评估和评分.此评估结果是依据所采集的数据作出的,这些数据来自问卷回答\文档审核\陈述以及与中层经理\项目负责人和软件专业人员的深层访谈.

(2)CMMI

自CMM1.0版本后,SEI又开发了其他成熟度模型,包括:软件工程(SW-CMM),系统工程(SE-CMM system engineering CMM),软件采购(SA-CMM,software acquistion CMM),人力资源管理(P-CMM,people CMM)和集成产品开发(IPT-CMM integrated product team CMM)等.虽然各个模型针对的专业领域不同,但是彼此之间有一定的重叠;另外,这些模型在表现形工上又有不统一之处:系统工程模型是连续式的,而其它模型采用了分级式.

为了整合不同模型的最佳实践,建议统一模型,覆盖不同领域,供企业进行整个组织的全面过程改进,并于2001年正式发布了能力成熟度集成模型(CMMI)1.1版本,这次发布标志着CMMI的正式使用.SEI也正式宣布,将不再维护CMM的CBA-IPI评估方法.

这里需要注意的是,SEI并没有废除CMM模型,而是以CMMI的SCAMPI评估方法取代CMM的CBA-IPI评估方法.

CMMI的评估方法是:SCAMPI方法(即Standard CMMI Appraisal Method for Process Improvement),SCAPMPI评估方法是一种诊断工具,支持和推动组织对过程改进进行承诺.通过确认组织和一个或多个CMMI模型相关的现有过程的强/弱项,SCAMPI能够帮助组织对它自身的过程能力或组织成熟度有一个全面的了解.

CMMI的源模型:软件CMM 2.0;电子行业协会临时标准(EIA/IS)731;集成产品开发能力成熟模型(IPD-CMMI)V0.98

CMMI定义了五级成熟度级别,共计25个过程域:

  • 级别1(初始级):代表了不可预测结果为我自的成熟度.过程包括了一些特别的方法,符号,工作和反应管理,成功主要取决于团队的技能.
  • 级别2(已管理级):代表了以可重复项目执行为特征的过程成熟度.组织使用基本纪律进行需求管理,项目计划,项目监督和控制,供应商协议管理,产品和过程质量保证,配置管理,以及度量和分析.本级别主要的过程焦点在于项目级的活动和实践.
    •   强调级别2的关键过程域的前后一致的、项目级的纪律,以建立组织级的活动和实践。附加的组织级过程域包括:
      • 需求开发:多利益相关者的需求发展。
      • 技术方案:展开的设计和质量工程。
      • 产品集成:持续集成、接口控制、变更控制。
      • 验证:保证产品正确建立的评估技术。
      • 确认:保证建立正确的产品的评估技术。
      • 风险管理:检测、优先级,相关问题和意外的解决方案。
      • 组织级培训:建立机制,培养更多熟练人员。
      • 组织级过程焦点:为项目过程定义建立组织级框架。
      • 决策分析和方案:系统的可选的评估。
      • 组织级过程定义:把过程看做组织的持久的发展的资产。
      • 集成项目管理:在项目内统一各个组和利益相关者。
  • 级别3(严格定义级)代表了以组织内改进项目执行为特征的过程成熟度.
  • 级别4(定量管理级)代表了以改进组织性能为特征的过程成熟度.3级项目的历史结果可用来交替使用,在业务表现的竞争尺度(成本,时间,质量)方面的结果是可预测的.级别4附加的过程域包括:
    • 组织级过程执行:为过程执行设定规范和基准.
    • 定量的项目管理:以统计质量控制方法为基础实施项目.
  • 级别5(优化级)代表了可快速进行重新配置的组织性能和定量的,持续的过程改进为牲的过程成熟度.级别5的附加过程域包括:
    • 因果分析和解决方案:主动避免错误和强化最佳实践
    • 组织级改革和实施:建议一个能够有机适应和改进的学习组织.

(3)软件企业ISO9000质量管理体系认证

软件企业贯彻实施ISO9000质量管理体系认证,应当选择质量保证模型标准ISO9001,ISO900-3作为软件企业实施ISO9001质量保证模型标准的实施指南,通过对软件产品从市场调查,需求分析,软件设计,编码,测试等开发工作,直到作为商品软件销售,以及安装及维护整个过程进行控制,保障软件产品的质量.

 

2.CMM,CMMI,ISO9000之间的联系和区别

(1)CMM和CMMI的联系及区别:

  • 联系:
    • CMMI即CMM集成,是系统工程和软件工程的集成成熟度模型,CMMI更适合于信息系统集成企业。CMMI是在CMM基础上发展起来的,它继承并发扬了CMM的优良特性,借鉴了其他模型的优点,融入了新的理论和实际研究成果。它不仅能够应用在软件工程领域,而且可以用于系统工程及其他工程领域。
  • 区别:
    • 从等级划分上看,1,3,5级的名称没有变化,均是初始级,已定义和优化;但是2级和4级分别定义为已管理级和定量管理级,这个变化更突出了CMMI定性管理和定量管理的特点.
    • CMMI共有分属于4个类别的25个过程哉,覆盖了4个不同的领域;相对应的CMM共有18个过程域.
    • CMM基本活动的度量方法和瀑布过程的有次序的,基本活动的管理规范有非常密切的联系,更适合瀑布型的开发过程;而CMMI相对CMM更一步支持迭代开发过程和经济动机推动组织采用基于结果的方法:开发业务安全,构想和原型方案,细化后纳入基线结构,可用发布,最后确定为现场版本的发布.
    • CMMI比CMM进一步强化了对需求的重视.在CMM中,关于需求只有需求管理这一个KPA,也就是说强调对有质量的需求进行管理,而如何获取需求则没有提出明确的要求;在CMMI中,3级有一个独立的KPA叫做需求开发,提出了对如何获取优秀的需求的要求和方法.
    • CMMI对工程活动进行了一定的强化.在CMM中只有3级中的软件产品工程和同行评审两个KPA是与工程过程密切相关的;而在CMMI中,则将需求开发,验证,确认,技术解决方案产品集成这些工程过程活动都作为单独的KPA进行了要.
    • CMMI3级中单独强调了风险管理,而在CMM中把风险的管理分散在项目计划,项目跟踪与监控中进行要求.
    • 从评估方法上看,随着CMM过渡到CMMI,其CAF(CMM,Assessment Frame-work)框架变成评估需求(ARC:appraisal requirements for CMMI);IPI-CBA 的评估方法 被 SCAMPI方法替代.

(2)ISO与CMMI的联系及区别:

  • 联系:两者都共同着眼于质量和过程管理
    • 目前2000版的ISO更多的和CMMI有直接对应的关系,甚至是大量的CMMI4和CMMI5级的要求.
  • 区别:
    • CMMI是专门针对软件产品开发和服务,而ISO9000涉及的范围则相当宽.
    • CMMI强调软件开发过程的成熟度,即过程的不断改进和提高.而ISO9000则强调可接收的质量体系的最低标准.

 


TAG: CMMI

 

评分:0

我来说两句

Open Toolbar