最近公司在做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的联系及区别:
(2)ISO与CMMI的联系及区别: