软件开发能力成熟度模型CMM[返回]软件开发能力的成熟度模型(Capability Manurity Model for Software,CMM)是软件工程协会SEI(Software Engineering Institution)在卡内基.梅隆大学开发完成的对一个组织软件开发能力进行评价的标准,它侧重于对软件开发过程和开发方法论的考察。CMM包括五个成熟等级,开发的能力越强,开发组织的成熟度越高,等级越高。目前,大多数公司处于第一级和第二级,只有很少的公司可以达到第五级。五级的具体定义如下: 初级(Initial):软件开发过程中偶尔会出现混乱的现象,只有很少的工作过程是经过严格定义的,开发成功往往依靠的是某个人的智慧和努力。 可重复的(Repeatable):建立了基本的项目管理过程。按部就班地设计功能、跟踪费用 ,根据项目进度表进行开发。对于相似的项目,可以重用以前已经开发成功的部分。 被定义的(Defined.):软件开发的工程活动和管理活动都是文档化、标准化的,它被集成为一个组织的标准的开发过程。所有项目的开发和维护都在这个标准基础上进行定制。 被管理的(Managed.):对于软件开发过程和产品质量的测试细节都有很好的归纳,产品和开发过程都可以定量地分解和控制。 优化的(Optimizing):通过建立开发过程的定量反馈机制,不断产生新的思想,采用新的技术来优化开发过程。 除了第一级,其它每一级都有几个特别值得注意的关键过程。第二级的关键之处是建立基本的项目管理控制。他们是需求管理、软件项目计划、软件项目的跟踪和监督、软件转包管理、软件质量保证和软件组态管理。 第三级的关键之处是既关注项目问题,也关注组织问题,因为组织建立起了使高效率软件工程制度化的基本架构和跨项目的管理过程。它们包括组织过程关注程度、组织过程定义、培训项目、集成化的软件管理、软件产品化机制、项目组的内部协调和对出现错误的复查。 第四级的关键之处是对软件开发过程和软件产品都有一个定量的理解。它强调的是定量的过程管理和软件质量管理。 第五级的关键点强调,不论组织还是项目必须追求持续的、可度量的过程改进。包括缺陷预防、技术更新管理和流程改造管理。 CMM和ISO9001的出发点都是通过对生产过程进行管理,来确保产品的质量。虽然它们之间有很多区别,但也有相似之处。比如,通过ISO9001认证的组织,可以基本满足CMM二级的标准和很多CMM三级的要求。因为CMM中的很多要求并没有列入ISO9000标准之中,所以,CMM一级的组织也可能获得ISO9001的登记,Defined.同样,有些ISO9001规定的内容并没有列入CMM标准。一个CMM三级组织获得ISO9001认证几乎没有困难,CMM二级组织申请ISO9001认证也有明显优势。有关本文的更详细内容请访问:http://www.sei.cmu.edu/ (编写\宗和) |