技术开发 频道

CMM及其应用

【IT168 技术文章】

    1  什么是 CMM

    1.1  CMM 的定义
    CMM 是 英文 Capability Maturity Model for Software -- “ 软件能力成熟度模型 ” 缩写 SW-CMM 的 简称。

    CMM 的定义是:有关软件企业 / 组织的软件过程进程中各个发展阶段的定义、实现、质量控制和改善的模型化描述。这个模型用于确定软件企业 / 组织的软件过程能力和找出软件质量及过程改进方面的最关键问题,为企业 / 组织的过程改进提供指南。

    CMM 的核心思想是将软件开发视为一组过程,并根据统计质量管理的理论对软件开发进行过程管理,以使其满足工程化、标准化的要求,使企业能够更好地实现商业目标。它侧重于软件开发的管理及软件工程能力的提高,因此 CMM 可以作为企业软件过程改进的指南,帮助软件开发机构建立严格的、规范的软件开发过程,最有效地提高软件工程能力。

    1.2  CMM的成熟度等级
    CMM 提供了一个软件能力成熟度模型的框架,它将软件过程改进的进化步骤组织成五个成熟度等级,为软件过程不断改进奠定了一个循序渐进的基础。每一个成熟度等级为继续改进过程提供一个台基。第一级实际上是一个起点,任何准备按 CMM 体系进化的企业都自然处于这个起点上,并通过这个起点向第二级迈进。除第一级外,每一等级包含一组过程目标,通过实施相应的一组关键过程域来达到这一组过程目标。当这一组目标达到时,就能使软件过程的一个相应的重要成分得以稳定。每达到成熟度框架的一个等级,就建立起软件过程的一个相应的稳定成分,从而导致软件开发组织过程能力一定程度的增长。

    CMM 的五个成熟度等级的主要特征如下:

    ( 1 )初始级 — 未加定义的随意过程

    软件过程的特点是无秩序的,有时甚至是混乱的。软件过程定义几乎处于无章法和步骤可循的状态,软件产品所取得的成功往往依赖极个别人的努力和机遇。

    ( 2 )可重复级 — 规则化的过程

    已建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。对类似的应用项目,有章可循并能重复以往所取得的成功。

    ( 3 )定义级 — 标准的、一致的过程

    用于管理的和工程的软件过程均已文档化、标准化,并形成了整个软件组织的标准软件过程。全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程来进行操作。

    ( 4 )管理级 — 可预测的过程

    软件过程和产品质量有详细的度量标准。软件过程和产品质量得到了定量的认识和控制。

    ( 5 )优化级 — 持续改进的过程

    通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续性地对过程进行改进。

    1.3  CMM 的关键过程域
    在 CMM 中每个成熟度等级(第 1 级除外)规定了不同的关键过程域,一个软件组织如果希望达到某一个成熟度等级,就必须完全满足关键过程域所规定的不同要求,即满足每个关键过程域的目标。所谓关键过程域是指一系列相互关联的操作活动,这些活动反映了一个软件组织改进过程时必须集中精力改进的几个方面。换句话说,关键过程域标识了达到某个成熟度等级时所必须满足的条件。在 CMM 中一共有 18 个关键过程域,分布在 2~5 级中。

    ?  第 2 级(可重复级)有 6 个关键过程域,主要涉及建立软件项目管理控制方面的内容。

    ?  需求管理( Requirements Management , RM )

    ?  软件项目计划( Software Project Planning , SPP )

    ?  软件项目跟踪与监控( Software Project Tracking and Oversight , SPTO )

    ?  软件子合同管理( Software Subcontract Management , SSM )

    ?  软件质量保证( Software Quality Assurance , SQA )

    ?  软件配置管理( Software Configuration Management , SCM )

    ?  第 3 级(定义级)有 7 个关键过程域,主要涉及项目和组织的策略。 使软件组织建立起对项目中的有效计划和管理过程的内部细节。

    ?  组织过程焦点( Organization Process Focus , OPF )

    ?  组织过程定义( Organization Process Definition , OPD )

    ?  培训程序( Training Program , TP )

    ?  集成软件管理( Integrated Software Management , ISM )

    ?  软件产品工程( Software Product Engineering , SPE )

    ?  组间协调( Intergroup Coordination , IC )

    ?  同级评审( Peer Reviews , PR )

    ?  第 4 级(管理级)有 2 个关键过程域,主要的任务是为软件过程和软件产品建立一种可以理解的定量的方式。

    ?  定量过程管理( Quantitative Process Management , QPM )

    ?  软件质量管理( Software Quality Management , SQM )

    ?  第 5 级(优化级)有 3 个关键过程域,主要涉及的内容是软件组织和项目中如何实现持续不断的过程改进问题。

    ?  缺陷预防( Defect Prevention , DP )

    ?  技术变更管理( Technology Change Management , TCM )

    ?  过程变更管理( Process Change Management , PCM )

0
相关文章