软件能力成熟度模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一讲:软件能力成熟度模型
沈阳东软软件股份有限公司软件工程过程组
编者按:CMM(Capability Maturity Model,能力成熟度模型)是由美国卡内基-梅隆大学软件工程研究所推出的评估软件能力与成熟度的一套标准。该标准基于众多软件专家的实践经验,侧重于软件开发过程的管理及工程能力的提高与评估,是国际上流行的软件生产过程标准和软件企业成熟度等级认证标准。
目前,CMM认证已经成为世界公认的软件产品进入国际市场的通行证。国务院发布的鼓励软件产业发展的18号文件中也特别指出了对企业进行CMM认证的支持。今年3月,联想通过了CMM 2认证,6月,东软股份通过了CMM 3级评估,这些标志着CMM认证在我国已经取得初步进展。
为推动我国软件产业的发展,促进软件企业向正规化和国际化迈进,进一步引入和推广CMM认证,本报与沈阳东软软件股份有限公司合作,共同开办“CMM认证”系列讲座。从本期开始,本报将大约分7期在“技术讲座”栏目中针对我国软件企业的特点,结合CMM认证在东软股份的应用实战,阐述CMM认证的实施方法和策略。
早在20世纪60年代中期,人们就发现软件的生产出现了“问题”,主要表现在生产过程不规范,缺乏管理。后来,人们在软件工程方法学中引入了工程的概念、原理、技术和方法,这种思想在一定程度上
解决了软件生产过程中遇到的问题。但是直至80年代还是没有提出一套管理软件开发的通用原则,软件管理不善的问题依旧在大范围内存在。
为了保证软件产品的质量,80年代中期,美国联邦政府提出对软件承包商的软件开发能力进行评估的要求。在Mitre公司的帮助下,1987年9月,美国卡内基-梅隆大学软件工程研究所(CMU/SEI)发布了软件过程成熟度框架,并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度提问单。4年之后,SEI将软件过程成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM)。1991年8月,SEI发布了最早的SW-CMM v1.0。经过两年的试用,1993年SEI正式发布了SW-CMM v1.1,这是目前使用最为广泛的版本。软件能力成熟度模型基于众多软件专家的实践经验,是组织进行软件过程改善和软件过程评估的一个有效的指导框架。
CMM的管理思想背景
SW-CMM不仅是一个模型,一个工具,它更代表了一种管理哲学在软件工业中的应用。SW-CMM的管理思想来源于已有60多年历史的产品质量管理。1930年,Walter Sheward 率先提出了一整套基于统计学原理的质量控制方法,这些方法后来经过W. Ewards Deming 和Joseph Juran的发展和实践得到了广泛的应用。Philip Crosby在《质量是免费的》一书中率先提出将质量管理形成成熟度框架的概念,“质量管理成熟度坐标图表” 描述了进行质管实践的5个阶段,表达了质
量管理的全部运作。
Deming、Juran以及Crosby等人的做法后来被称为全面质量管理(TQM)理论。在IBM公司,Watts Humphrey和Ron Radice将这种全面质量管理的思想应用于软件工程过程,收到了很大的成效。SEI 的软件能力成熟度框架就是在以Humphrey为主的软件专家实践经验的基础上发展而来的。软件能力成熟度框架中融合了全面质量管理的思想,以5个不断进化的层次反映了软件过程定量控制中项目管理和项目工程的基本原则。SW-CMM所依据的想法是只要不断地对软件企业的软件工程过程的基础结构和实践进行管理和改进,就可以克服软件生产中的困难,增强开发制造能力,从而能按时地、不超预算地制造出高质量的软件。
CMM现状与发展趋势
最近的SEI评估报告显示,从1996年到2000年,全球有1012个组织进行了CMM评估,其中64.8%为商业组织,26.7%为美国官方和军方合同商,主要业务为软件开发和维护的组织有922个,有将近一半的组织规模是在100人以下。这些数据表明,CMM认证已经引起软件企业的高度关注,并且这种认证同样适合中小企业。
目前,CMM已经发展到CMMI(Capability Maturity Model Integration,能力成熟度模型集成)阶段。自20世纪80年代末以来,SEI开发了一系列涉及多个学科的CMM标准,包括系统工程、软件工程、软件获取、生产力实践及集成产品和过程开发,希望通过帮助组织提高人员、技术和过程的成熟度来改善组织整体软件生产能力。
然而,多个模型的同时使用限制和阻碍了组织过程改善的能力。于是,SEI中止了对CMMI源模型的更新,开始集中开发CMMI项目。CMMI 项目融合了SW-CMM v2.0 draft C、EIA/IS731、SECM以及IPD-CMM v0.98的内容,形成了组织范围内过程改善的单一集成模型。预计到2001年末,CMMI -SE/SW/IPPD/A ver1.1将正式发行。CMMI项目为工业界和政府部门提供了一个集成的产品集,主要目的是消除不同模型之间的不一致和重复,降低基于模型改善的成本。未来的CMMI 将以更加系统和一致的框架来指导组织改善软件过程,提高产品和服务的开发、获取和维护能力。
SW-CMM的应用
为适应国际化发展,东软股份把SW-CMM作为软件过程改善的指导框架,并把SW-CMM主要应用在两大方面:能力评估和过程改善。
1. 能力评估
SW-CMM是基于政府评估软件承包商的软件能力发展而来的,有两种通用的评估方法用以评估组织软件过程的成熟度:软件过程评估和软件能力评价。
● 软件过程评估: 用于确定一个组织当前的软件工程过程状态及组织所面临的软件过程的优先改善问题,为组织领导层提供报告以获得组织对软件过程改善的支持。软件过程评估集中关注组织自身的软件过程,在一种合作的、开放的环境中进行。评估的成功取决于管理者和专业人员对组织软件过程改善的支持。CBA-IPI是一种软件过