CMM

CMM

百科名片

CMM是指“能力成熟度模型 ”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件 组织在定义、实施、度量、控制和改善其软件过程 的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。

 

CMM的基本思想

  CMM的基本思想是,因为问题是由我们管理软件过程的方法引起的,所以新软件技术的运用不会自动提高生产率和利润率。CMM有助于组织建立一个有规律的、成熟的软件过程。改进的过程将会生产出质量更好的软件,使更多的软件项目免受时间和费用的超支之苦。   软件过程包括各种活动、技术和用来生产软件的工具。因此,它实际上包括了软件生产的技术方面和管理方面。CMM策略力图改进软件过程的管理,而在技术上的改进是其必然的结果。   必须牢记,软件过程的改善不可能在一夜之间完成,CMM是以增量方式逐步引入变化的。CMM明确地定义了5个不同的“成熟度”等级,一个组织可按一系列小的改良性步骤向更高的成熟度等级前进。   成熟度等级1:初始级(Initial)。处于这个最低级的组织,基本上没有健全的软件工程管理制度 。每件事情都以特殊的方法来做。如果一个特定的工程碰巧由一个有能力的管理员 和 一个优秀的软件开发组来做,则这个工程可能是成功的。然而通常的情况是,由于缺乏健全的总体管理和详细计划,时间和费用经常超支。结果,大多数的行动只是 应付危机,而非事先计划好的任务。处于成熟度等级1的组织,由于软件过程完全取决于当前的人员配备,所以具有不可预测性,人员变化了,过程也跟着变化。结 果,要精确地预测产品的开发时间和费用之类重要的项目,是不可能的。   成熟度等级2:可重复级(Repeatable)。在这一级,有些基本的软件项目的管理行 为、设计和管理技术是基于相似产品中的经验,故称为“可重复”。在这一级采取了一定措施,这些措施是实现一个完备过程所必不可缺少的第一步。典型的措施包 括仔细地跟踪费用和进度。不像在第一级那样,在危机状态下方行动,管理人员在问题出现时便可发现,并立即采取修正行动,以防它们变成危机。关键的一点是, 如没有这些措施,要在问题变得无法收拾前发现它们是不可能的。在一个项目中采取的措施也可用来为未来的项目拟定实现的期限和费用计划。   成熟度等级3:已定义级(Defined)。在第3级,已为软件生产的过程编制了完整的文 档。软件过程的管理方面和技术方面都明确地做了定义,并按需要不断地改进过程,而且采用评审的办法来保证软件的质量。在这一级,可引用CASE环境来进一 步提高质量和产生率。而在第—级过程中,“高技术”只会使这一危机驱动的过程更混乱。   成熟度等级4:已管理级(Managed)。一个处于第4级的公司对每个项目都设定质量和生产目标。这两个量将被不断地测量,当偏离目标太多时,就采取行动来修正。利用统计质量控制 ,管理部门能区分出随机偏离和有深刻含义的质量或生产目标的偏离(统计质量控制措施的一个简单例子是每千行代码的错误率。相应的目标就是随时间推移减少这个量)。   成熟度等级5:优化级(Optimizing)。—个第5级组织的目标是连续地改进软件过程。这样的组织使用统计质量和过程控制技术 作为指导。从各个方面中获得的知识将被运用在以后的项目中,从而使软件过程融入了正反馈循环,使生产率和质量得到稳步的改进。   整个企业将会把重点放在对过程进行不断的优化,采取主动的措施去找出过程的弱点与长处,以达到 预防缺陷的目标。同时,分析各有关过程的有效性资料,作出对新技术的成本与效益的分析,并提出对过程进行修改的建议。达到该级的公司可自发的不断改进,防 止同类缺陷二次出现。   在表中可以看出,CMM为软件的过程能力提供了一个阶梯式的改进框架,它基于以往软件工程 的经验教训,提供了一个基于过程改进的框架图,它指出一个软件组织在软件开发方面需要那些主要工作,这些工作之间的关系,以及开展工作的先后顺序,一步一 步的做好这些工作而使软件组织走向成熟。CMM的思想来源于已有多年历史的项目管理 和质量管理,自产生以来几经修订,成为软件业具有广泛影响的模型,并对以后项目管理成熟度 模型的建立产生了重要的影响。尽管已有个人或团体提出了各种各样的成熟度模型,但还没有一个象CMM那样在业界确立了权威标准的地位。但PMI于2003年发布的OPM3以其立体的模型及涵盖范围的广泛有望成为项目管理界的标准。

 

CMM与ISO9000的主要区别:

  1.CMM是专门针对软件产品开发和服务的,而ISO9000涉及的范围则相当宽。   2.CMM强调软件开发过程的成熟度,即过程的不断改进和提高。而ISO9000则强调可接收的质量体系的最低标准。   引进CMM的主要意义   一.对软件公司   1.提高软件公司软件开发的管理能力,因为CMM可提供软件公司自我评估的方法和自我提高的手段。   2.提高软件生产率。   3.提高软件质量。   4.提高软件公司的国内和国际竞争力。   二.对软件项目发包单位和软件用户   提供了对软件开发商开发管理水平的评估手段,有助于软件开发项目的风险识别。   我国CMM工作的开展相对滞后,全面正式开展CMM评估工作还需一定时间,但只是迟早的问题。业内有识之士呼吁我国应结合国情,及早开展CMM有关工作。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值