CMM软件能力成熟度模型实践指导

发表于:2007-12-24 14:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

二. CMM发展概况

        CMM模型是基于多年产品质量研究成果所建立。美国的Walter Shewart于上世纪30年代发表了统计质量控制成果。在Watts Hunaphrey和Ron Radice等人的研究成果之上,卡莱基.梅隆大学软件工程研究所将这套质量控制方法改造为能力成熟度框架并标明不同城市度等级,Humphrey并于1987年发表了初步的成熟度提向单。1990年SEI公布CMM的0.0版。1991年SEI公布了包含第二级KPA方案的CMM0.4版及包含第三级方案的CMM0.5版,同年,又发布了包含第四级和第五级KPA方案的0.7版。CMM1.0版于1991年底发布,1993年SEI公布CMM1.1版。目前通行的版本是1.1版,改进版2.0版原定于1997年完成,但由于CMMI(能力成熟度集成)的开发,2.0版被推迟。CMMI(Capability Maturity Model Integration)将把各种能力成熟度模型整合到同一架构中去,由此建立起包括软件工程软件采购和系统工程在内的诸模型集成,以解决除软件开发以外的软件系统工程和软件采购工作中的迫切需求。CMMI框架包括软件能力成熟度模型,系统工程能力成熟度模型,软件采购能力成熟度模型,继承产品 和过程开发等。1995年,个体软件过程(Personal Software Process,PSP)又被提出,用于控制和改进个人软件开发方式,PSP是一个过程描述、检测和方法的集合,能够帮助软件工程师改善其个人软件开发性能。它包括一整套适用于个人软件工作者在实践中应用的表格,脚本和标准,以帮助软件工程师预估和计划其工作减少软件工作缺陷并提高计划和生产效率。CMM是适用于软件开发组织中的流程管理,而PSP则面向个体开发人员。本文的探讨仅限于CMM软件能力成熟度模型。

        CMM的出现是为了克服软件生产的危机。所谓软件生产的危机是指尽管新的软件开发方法和技术不断生产,但软件生产率和质量并未得到有效提高,软件产品不能按时完成,软件生产预算超支,而且交付客户使用的软件产品(特别是大型软件工程)中由于各种原因产生的错误无法克服。在80年代末期前后,美国国防部门和工业界开始认识到在软件开发中最重要的问题在于软件生产商对软件的生产过程管理不力,也就是说,软件生产过程的成败比新技术和开发方法更能决定一个项目或企业的成败。没有完善的软件生产过程体系,软件开发的成败只能依靠人为主观或偶然因素--比如某一杰出软件天才或小组的成就--而非可持续的客观标准及体系,因此,对成功的软件过程的重复使用,对以往经验或教训的分析总结,对全部开发案例的系统编档存档就成了一套完整而成熟的软件过程,需要一个从无序到有序,从人为到客观标准,从定性到定量的不断积累与完善的过程,这一过程的演变中软件企业会面临一系列有代表意义的成熟阶段。美国SEI提出的软件能力的评价与改进指导体系。软件开发企业可以依据CMM的框架对项目管理和项目工程进行定量控制和能力评估,而软件应用单位也可依据CMM来衡量和预测项目承接方的实际软件生产能力。这样,软件开发方与产品用户方都基于一个同样的标准来对软件生产和管理作评测与控制。大体来说,软件开发企业在以CMM为标准改进其生产过程中应采取如下步骤:
  1. 领会CMM要领并依据其框架确定企业目前所属的实际能力成熟度级别;
  2. 针对欲达到的成熟度级别的核心过程域的要求并参照自身的薄弱环节将重复重点集中在关键目标上改进生产过程;
  3. 加强员工培训
  4. 有序地建立完善的过程检测体系与软件开发文档体系,保证以往开发经验得到客观化,定量化的分析总结和积累,使成功的开发模式可以得到规模化的拷贝。

        随着企业CMM成熟度等级的提高,项目开发中的风险可以得到逐步减低,开发时间也大大缩短,开发成本得以减少并大大降低软件产品中的错误发生率。CMM不仅可以提高企业在国际市场上的软件出口竞争力,也可提高企业自身的软件管理与开发水平,有助于客户对企业生产能力树立信心。目前,欧美等国的大型软件用户与软件供应商共同采纳CMM作为供需双方软件产品质量及工程预算的标准。印度软件企业更是对CMM全力投入,每年定期进行CMM培训,目前全球通过CMM四级与五级的软件企业中,印度占半数以上,印度企业的软件产品出口总值也从10年前的五千万美圆增长到五十亿美元,并预计于2008年达到五百亿美元。印度约有1000家软件企业,34万从业人员,《财富》杂志全球500强企业中近半数为印度软件企业的客户。到1999年止,全球范围内共进行了1330次CMM评测,总计评测项目有5452项,参加评测的机构逐年攀升,其中有7.2%是海外项目,参加国别有34个,参加机构类型,商业机构占56.1%,美国国防部供应商占29.8%,军方和政府机构占10.5%。其中,初始级机构占总评估数的43.2%,可重复级占34.2%,定义级占17.3%,管理级占4%,优化级占1.4%。第二级(可重复级)比例最高的为25人到100人的机构,第三级(定义级)所占比例最高的为1000到2000人的企业,第五级(优化级)所占比例最高的为2000人以上的企业。由此可见,通过CMM第二级的最佳规模为25人到100人。

三. CMM框架

        软件生产过程理论告诉我们,软件质量往往取决于软件过程的能力水平,企业在软件过程中所采用的各种技术应适合该过程的成熟度水平。软件过程是一个可度量的,可控制的,不断改进的流程。CMM强调企业应对软件过程进行连续的改进,在这一改进过程中,分级结构将提供不同等级中的目标和核心领域来规范这一过程并为企业评论和改进自身生产能力提供客观标准。

        CMM成熟程度理论不可以被看作纯粹的关于软件生产技术的标准,也不可以被看作普通的管理理论,它实际上是对软件开发实践所设计的整个工程流程的规定和分析,它的体系既包括软件工程过程本身,也包括对这一过程的管理。

        CMM为企业软件能力提供了一个阶段式的五级进程。任何开始采纳CMM体系的机构都一并归与第一级的起点,即初始级(Initial level)除第一节外,每一级都设定了各自的目标组。如果达到了这一目标,则可向下一级推进,由于每一个级别都必须建立在实现了低于它的全部级别的基础之上,CMM等级的提高只能是一个渐进有序的过程。

        CMM的评估包括五个等级,共计18个核心过程域,52个目标,300多个核心实践,每一级别的评估由美国卡莱基*梅隆大学软件工程研究所授权的主评估师领导的评估小组进行。其成员来自企业内部,评估过程包括企业员工培训,问卷填写,文档与数据分析,相关项目组成员面试,拟定评估报告。评估结束由主评估师签订生效。

        CMM五级标准按由低到高的成熟度分别为:
  第一级 初始级 (Initial level)
  第二级 可重复级 (Repeatable level)
  第三级 定义级 (Defined level)
  第四级 管理级 (Managed level)
  

第五级 优化级 (Optimizing level)

11

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号