软件能力成熟度模型 (CMM)






2.54/5 (9投票s)
2006年1月24日
7分钟阅读

36938

242
业务流程管理和质量改进概念。
引言
CMM 是对软件或业务流程管理和质量改进概念在软件开发和维护中的常识性应用。
它是一个社区开发的指南,用于逐步发展到卓越工程文化,是组织改进的模型。这是可靠且一致的软件流程评估和软件能力评估的基础结构。
软件能力成熟度模型 (CMM) 是一个描述有效软件过程关键要素的框架。对于非软件过程,也有 CMM,例如业务流程管理 (BPM)。
CMM 描述了从临时、不成熟的过程到成熟、有纪律的过程的演进改进路径。CMM 涵盖了软件开发和维护的计划、工程和管理实践。
遵循这些关键实践,可以提高组织实现成本、进度、功能和产品质量目标的能力。
CMM 建立了一个标准,可以以此以可重复的方式评估组织软件过程的成熟度,并将其与行业实践进行比较。
组织也可以使用 CMM 来规划其软件过程的改进。它还反映了执行软件过程、改进、软件过程评估或软件能力评估的个人的需求;并且是文档化的;并且是公开可用的。
软件能力成熟度模型集成 (CMM) 成熟度级别
软件能力成熟度模型描述的五个成熟度级别可以根据每个级别的主要流程变化进行如下表征:
1. 初始阶段:软件过程的特点是临时性的,有时甚至是混乱的。很少有流程被定义,成功取决于个人努力和英雄主义。
2. 可重复阶段:建立了基本的项目管理流程来跟踪成本、进度和功能。具备必要的流程纪律,可以在具有类似应用的类似项目中重复过去的成功。
3. 已定义阶段:管理和工程活动的软件过程被文档化、标准化并集成到组织的标准软件流程中。所有项目都使用经过批准的、定制化的组织标准软件流程版本来开发和维护软件。
4. 已管理阶段:收集软件过程和产品质量的详细度量。软件过程和产品都得到量化理解和控制。
5. 优化阶段:通过从流程中获得的量化反馈以及试行创新理念和技术,实现持续的流程改进。
在优化阶段或 CMM 5 级,整个组织都专注于持续的改进。来自先前项目的量化反馈用于改进项目管理,通常使用试点项目,利用 4 级所示的技能。重点在于持续的流程改进。
5 级组织的软件过程能力可以被表征为持续改进的,因为 5 级组织不断努力提高其过程能力范围,从而提高其项目的过程绩效。改进既可以通过现有流程的增量改进实现,也可以通过利用新技术和方法进行创新来实现。
软件能力成熟度模型 (CMM) 过程域 (PA)
过程域 (PA) 包含为改进软件过程而必须达到的目标。当存在达到相应目标的程序时,则认为 PA 已得到满足。一旦所有相应的 PA 都得到满足,则软件组织就达到了特定的成熟度级别。过程域 (PA) 具有以下特征:
1. 识别一组相关的活动,这些活动集体执行时,可以达到对增强过程能力至关重要的目标集。
2. 定义为驻留在单个成熟度级别。
3. 识别为达到成熟度级别必须解决的问题。
如上图所示,不同的成熟度级别具有不同的预定义过程域。SEI CMMI 5 级有 3 个已定义的 PA:
1. 流程变更管理:识别缺陷的原因并防止其再次发生。
2. 技术变更管理:识别有益的新技术并以有序的方式进行转移。
3. 缺陷预防:持续改进流程,以提高质量、提高生产力并缩短开发时间。
流程变更管理的目的是通过持续改进组织中使用的软件流程,以提高软件质量、提高生产力并缩短产品开发周期。当软件流程改进被批准为常规实践时,组织的标准化软件流程和项目的定义软件流程将根据需要进行修订。
力求实现的目标如下:
1. 持续流程改进得到计划。
2. 组织全员参与组织的软件流程改进活动。
3. 组织的标准化软件流程和项目的定义软件流程得到持续改进。
这些已定义的标准使组织有执行的承诺,因为:
1. 组织遵循书面政策来实施软件流程改进。
2. 高层管理人员赞助组织的软件流程改进活动。
组织执行的能力得以实现,因为:
1. 为软件流程改进活动提供了足够的资源和资金。
2. 软件经理接受了软件流程改进的必要培训。
3. 软件工程组和其他软件相关组的经理和技术人员接受了软件流程改进的必要培训。
4. 高层管理人员接受了软件流程改进的必要培训。
软件能力成熟度模型 (CMM) 过程域 (PA) 活动
执行的过程域活动包括:
1. 建立软件过程改进计划,使组织成员能够改进组织的流程。
2. 负责组织软件过程活动的部门协调软件过程改进活动。
3. 组织根据已记录的程序制定并维护软件过程改进计划。
4. 软件过程改进活动根据软件过程改进计划执行。
5. 软件过程改进提案根据已记录的程序进行处理。
6. 组织成员积极参与团队,为分配的过程域开发软件过程改进。
7. 在适当的情况下,将软件过程改进以试点方式进行部署,以确定其益处和有效性,然后再将其引入常规实践。
8. 当决定将软件过程改进引入常规实践时,根据已记录的程序实施改进。
9. 维护软件过程改进活动的记录。
10. 软件经理和技术人员根据事件驱动的方式获得有关软件过程改进活动的状态和结果的反馈。
高层管理人员定期审查的主要目的是及时提供对软件过程活动的认识和洞察。审查间隔应满足组织的需要,并且可能很长,只要有适当的异常报告机制。
六西格玛定义 - 什么是六西格玛?
六西格玛代表平均值(Sigma 是统计学中表示标准差的希腊字母)的六个标准差。六西格玛方法论提供了改进任何流程的能力和减少缺陷的技术和工具。
六西格玛方法论通过持续审查和重新调整流程来改进任何现有的业务流程。为此,六西格玛使用一种称为 DMAIC(Define opportunities, Measure performance, Analyze opportunity, Improve performance, Control performance)的方法。
六西格玛专家评估业务流程并确定改进现有流程的方法。六西格玛专家还可以使用 DFSS(Design For Six Sigma)原则设计全新的业务流程。通常,使用 DFSS 原则定义新流程比优化现有流程以减少缺陷更容易。
六西格玛结合了商业、统计学和工程学中使用的基本原理和技术。这三者构成了六西格玛的核心要素。
六西格玛改进流程绩效,降低变异性,并保持流程输出的一致质量。这导致缺陷减少,并提高利润、产品质量和客户满意度。
如今,六西格玛方法论也广泛应用于许多业务流程管理 (BPM) 项目中。这些业务流程管理项目不一定与制造业相关。当今使用六西格玛的许多 BPM 包括呼叫中心、客户支持、供应链管理和项目管理。
六西格玛的关键要素
客户需求、设计质量、指标和度量、员工参与和持续改进是六西格玛流程改进的主要要素。
六西格玛的三个关键要素是:
1. 客户满意度
2. 定义流程以及定义流程的指标和度量
a. 使用和理解数据和系统
b. 设定改进目标
3. 团队 构建 以及让员工参与
让所有员工参与对六西格玛非常重要。公司必须让所有员工都参与进来。公司必须提供机会和激励措施,让员工发挥他们的才能和能力来满足客户。
定义角色:这对六西格玛很重要。所有团队成员都应该有一个明确定义的角色和可衡量的目标。