CMMI和提升软件质量

最近公司在搞CMMI四级评审,有人支持,有人不理解,有人无所谓,不过既然是领导的意思那么就不管你想不想搞都的搞了,于是各种培训,预评估会议,各色报表,文档,流程软件什么的都整出来了,倒也热闹。我作为一名普通的软件工程师当然也不能闲着,在做自己份内的事的同时也了解了一些CMMI的相关情况,发现国内大概的情况和我们公司也差不多。对CMMI的态度也是有人支持有人反对各种观点都有,我也整理了一下自己的想法在这里扯一扯。

CMMI是能力成熟度模型集成的缩写,从字面上理解它应该是一个集成的模型应用这个模型可以反应考察对象的成熟度从而对考察对象的能力做出评价。实际上CMMI是一个由美国政府投资的名为SEI(软件工程学院)的组织搞出来的,主要的目的是为美国政府在考察软件企业能力高低提供的一些列方法和参考指标模型。这个模型将被考察企业分为由低到高的五个能力级别,即所谓的初始级,受管理级,定义级,量化管理级和优化级。而具体考察的就是软件开发过程,它将软件开发过程分为一系列的“过程域”,每个“过程域”里定义了“实践”(就是要做的事)和“目标”(就是可供参考的文档或量化的数据)。然后在评价软件企业能力时通过对实际“目标”证据的考核来反应出企业在软件开发过程中都完成了哪些“过程域”的哪些“实践”,从而得出被考察企业的软件开发能力处于哪一个级别。最后CMMI希望软件企业也可以同样根据这些完成的“目标”来改善自己的开发过程,改善的目标就是通过更少的开发时间,可控的项目风险,更高的软件质量来达到更少的开发成本的目的。

从上面的介绍中我们可以看出CMMI首先是为客户服务的:用来考察软件供应商能力如何的一套方法。也就是说CMMI的出发点是从外部来考察软件开发过程的。CMMI为外部组织评价软件开发组织水平高低提供了一套方法,为自己做出决策提供依据。其次CMMI是为软件企业的决策层服务的:为了解分析软件开发过程提供了明确的数据支持。

为达到上述目标,CMMI明确的定义了过程中的角色,过程域,并为每个过程域定义了相应的文档规范和数据指标。在过程执行中严格按照流程执行,并且采用问责制度,对每个角色实施严格的审核制度。

CMMI为什么这么受欢迎?

国内的软件企业基本上都是以市场为主导,企业的决策层也基本都是业务方面为主,CMMI就是为以上两者服务的,而在我们的文化中领导代表绝对权利,所以CMMI在国内的软件企业很受欢迎。

CMMI为什么实际执行困难?

CMMI的实际执行者是做具体研发工作的项目团队,撇开CMMI所要求的目标是否对软件开发过程带来益处(这个问题我会在下面说)先不考虑,至少他给团队成员带来个更多的工作负担,而且CMMI的要求是强制的,对软件开发过程有自己理解的工程师们自然不愿意接受,所以CMMI普遍执行困难。

CMMI为软件开发过程带来了什么?是否真的会为软件质量的提升带来益处?
。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值