CMM
能力成熟度模型(CMM,Capability Maturity Model)是用来改进和评价一个软件组织开发能力的方法,此模型将软件过程的成熟度分为5个等级。CMM由美国卡内基-梅隆大学软件工程研究所SEI提出和发展,并由美国国国防部赞助。SEI成立于1984年, 致力于软件工程学的研究,广义一点说,是推进软件工程方法学的科研机构。具体地,成立SEI是为了优化开发进程、获得和维持国防部沉重的软件系统。由于在这过程中所使用的方法同样适用于整个软件产业,因此SEI主张在全工业范围推广CMM。
CMM与ISO 9001类似,ISO 9001是国际标准化组织(ISO)ISO 9000系列标准的一个。ISO 9000标准为制造业和服务产业指定了一个有效的质量系统,ISO 9001也设计有明确的软件开发与维护。两个系统最大的不同之处在于他们不同的目的:ISO 9001制定了一个最小限度的软件开发质量标准,CMM则建立了一个连续的开发能力提高框架,这比ISO标准可多多了。
下面是CMM软件过程中的5个成熟度等级:
·初始级(initial)。工作无序,项目进行过程中常放弃当初的计划。管理无章,缺乏健全的管理制度。开发项目成效不稳定,优秀管理人员的管理方法可能取得很好的效果,但他一离去,工作秩序面目全非,产品的性能和质量依赖于个人能力和行为。
·可重复级(Repeatable)。管理制度化,建立了基本的管理制规程,管理工作有章可循。 初步实现标准化,开发工作较好地实施标准。变更依法进行,做到基线化。稳定可跟踪,新项目的计划和管理基于过去的实践经验,具有重复以前成功项目的环境和条件。
·已定义级(Defined)。开发过程,包括技术工作和管理工作,均已实现标准化、文档化。 建立了完善的培训制度和专家评审制度,全部技术活动和管理活动均可控制,对项目进行中的过程、岗位和职责均有共同的理解 。
·已管理级(Managed)。产品和过程已建立了定量的质量目标。过程中活动的生产率和质量是可量度的。已建立过程数据库。已实现项目产品和过程的控制。可预测过程和产品质量趋势,如预测偏差,实现及时纠正。
·优化级(Optimizing)。可集中精力改进过程,采用新技术、新方法。拥有防止出现缺陷、识别薄弱环节以及加以改进的手段。可取得过程有效性的统计数据,并可据进行分析,从而得出最佳方法。