目录
四、CMMI的关键过程域(Process Areas, PAs)
一、概述
CMMI(能力成熟度模型集成)是由美国卡内基梅隆大学软件工程研究所(SEI)开发的一套过程改进框架,旨在帮助组织提升软件开发、系统工程、服务管理等领域的质量和效率。它基于多个传统的能力成熟度模型,并在2000年发布了CMMI 1.0版,之后不断更新和完善。它适用于软件开发、硬件制造、服务交付等多种行业。
二、核心概念
五个成熟度等级(Maturity Levels)
CMMI定义了5个成熟度等级,衡量组织的过程能力:
初始级(一级)
- 特点:过程通常是随意的、混乱的,没有明确的过程定义和管理。项目的成功往往依赖于个人的能力和努力,而不是组织的过程。
- 表现:项目经常出现进度延迟、成本超支、质量不稳定等问题,过程的执行具有很大的不确定性,难以重复成功的经验。
已管理级(二级)
- 特点:建立了基本的项目管理过程,能够对项目的成本、进度和质量进行跟踪和控制。对需求、项目计划、项目监控、供应商管理等方面有了一定的管理。
- 表现:项目的过程有了一定的稳定性,能够在一定程度上满足客户的需求。但过程的定义还不够详细和规范,主要关注单个项目的管理。
已定义级(三级)
- 特点:组织建立了一套标准化的过程体系,包括过程的定义、文档化和培训。这些标准过程在整个组织内得到广泛的应用,项目按照标准过程进行实施。
- 表现:过程具有较高的一致性和可重复性,能够有效地提高项目的质量和效率。组织能够根据不同项目的特点,对标准过程进行裁剪和优化。
量化管理级(四级)
- 特点:组织通过量化的数据来管理和控制过程。对过程的性能进行量化分析,建立过程性能模型,以预测过程的结果。
- 表现:能够精确地控制项目的进度、成本和质量,通过数据分析来识别过程中的问题和改进机会,过程的改进更加有针对性和可预测性。
优化级(五级)
- 特点:组织持续地改进过程,通过创新和新技术的引入,不断提高过程的效率和效果。关注预防问题的发生,而不仅仅是解决问题。
- 表现:组织具有很强的适应变化的能力,能够快速地响应市场和业务的需求,不断提升组织的竞争力。过程的改进成为组织文化的一部分,全体员工积极参与过程改进。
六个能力等级(Capability Levels)
适用于单个过程域(Process Area, PA)的能力评估:
0 级:未完成(Not Performed)
- 过程域的特定目标没有被满足,相关的工作产品也没有完成。过程没有得到执行,或者执行得非常不完整,无法达到该过程域的基本要求。
1 级:已执行(Performed)
- 过程域的特定目标已经被满足,实现了该过程域的基本工作产品。执行过程中可能存在一些不规范或不一致的情况,但至少完成了必要的工作,能够产生一些有价值的结果。
2 级:已管理(Managed)
- 在“已执行”的基础上,过程得到了管理。这意味着过程有明确的计划和监控,对过程中使用的资源、产生的工作产品以及相关的进度、成本等方面进行了管理和控制。过程的执行是可重复的,能够在一定程度上保证结果的一致性。
3 级:已定义(Defined)
- 过程被明确定义并进行了文档化。组织根据自身的业务需求和特点,对过程进行了优化和标准化,使其更加完善和一致。定义的过程在整个组织内得到了一致的执行,并且能够根据实际情况进行调整和改进。
4 级:已量化管理(Quantitatively Managed)
- 通过量化的手段对过程进行管理。组织建立了过程性能模型,收集和分析过程中的数据,以定量的方式了解过程的性能和变化情况。根据这些数据,对过程进行调整和优化,以实现对过程性能的精确控制和预测。
5 级:持续优化(Continuously Improving)
- 组织致力于不断改进过程。通过持续地监控和评估过程,寻找改进的机会,并采取积极的措施进行优化。同时,组织能够快速地将新技术、新方法引入到过程中,以提高过程的效率和效果,适应不断变化的业务环境和需求。
三、模型架构
CMMI-DEV(开发模型)
适用于软件工程、硬件开发、系统工程等领域。它旨在帮助组织改进其产品和服务的开发过程,确保高质量的产品交付。CMMI-DEV包含22个过程域,包括但不限于:
- 需求管理(REQM)
- 项目计划(PP)
- 配置管理(CM)
- 验证(VER)和确认(VAL)
- 风险管理(RSKM)
CMMI-SVC(服务模型)
专门针对提供服务的组织设计,如IT服务管理、运维支持、客服中心等。该模型帮助这些组织优化他们的服务交付过程,以提高客户满意度和服务质量。CMMI-SVC包括24个过程域,例如:
- 服务交付(SD)
- 事件管理(IM)
- 容量管理(CAM)
CMMI-ACQ(采购模型)
为那些需要进行采购或外包活动的组织设计,帮助他们有效地选择供应商、管理和监控合同执行情况。CMMI-ACQ包含22个过程域,包括:
- 供应商选择(SS)
- 合同管理(CM)
每个模型都根据其特定的应用领域提供了详细的指南和最佳实践,旨在通过过程改进来提升组织效能。值得注意的是,尽管每个模型都有其独特的关注点和过程域,但它们之间也存在一定的重叠,特别是在基础性的管理过程方面。这反映了在不同业务场景下实施持续改进和高效管理的重要性。
四、CMMI的关键过程域(Process Areas, PAs)
CMMI的核心是过程域(PA),每个PA包含:
- 目标(Goals):必须实现的目标(Specific & Generic Goals)。
- 实践(Practices):实现目标的具体方法(Specific & Generic Practices)。
示例:CMMI-DEV的关键过程域
类别 |
过程域(PA) |
说明 |
项目管理 |
项目计划(PP) |
制定项目计划,管理资源、进度和风险。 |
项目管理 |
项目监控(PMC) |
跟踪项目进展,采取纠正措施。 |
工程 |
需求开发(RD) |
收集、分析和管理需求。 |
工程 |
验证(VER) |
确保产品符合需求(如测试、评审)。 |
支持 |
配置管理(CM) |
管理代码、文档的版本和变更。 |
支持 |
质量保证(PPQA) |
独立审计过程合规性。 |
五、CMMI的实施与评估
CMMI实施步骤
1.差距分析(Gap Analysis)
- 评估当前的过程实践与CMMI模型要求之间的差距。
- 目的是识别需要改进的地方,为后续过程改进提供依据。
2.制定过程改进计划
- 根据差距分析的结果,制定具体的过程改进计划。
- 包括但不限于引入新的工具、培训团队成员、优化现有流程等。
3.培训与执行
- 对团队进行必要的培训,确保他们理解并能够执行新过程。
- 在实际项目中执行新定义的过程,积累经验并逐步完善。
4.内部评估
- 使用SCAMPI(Standard CMMI Appraisal Method for Process Improvement)方法进行内部评估。
- 内部评估主要用于检查过程改进的效果,识别进一步改进的机会。
5.正式评估
- 正式评估通常由经过CMMI研究院认证的主任评估师(Lead Appraiser)来进行。
- 通过SCAMPI A类评估可以获得官方的认可等级(如CMMI L2, L3等)。
评估方法
1.SCAMPI A
- 这是最严格的评估类型,用于正式评估一个组织的过程成熟度,并颁发相应的CMMI成熟度等级证书。
- 涉及详细的文档审查、访谈和现场观察。
2.SCAMPI B/C
- 非正式评估,主要用于内部过程改进目的,不颁发官方证书。
- SCAMPI B类似于A,但范围更窄,聚焦于特定领域;SCAMPI C则是更为灵活的方法,可以根据组织需求定制评估范围。
六、价值与挑战
价值
- 提高产品质量:减少缺陷,提升客户满意度。
- 降低成本:通过优化资源利用减少返工和浪费。
- 增强竞争力:获得国际认可,提高市场竞争力。
挑战
- 实施成本较高:包括培训、工具采购和咨询支持等方面的投入。
- 官僚化风险:过度强调文档化可能降低效率。
- 文化阻力:员工可能对新的工作方式持保留态度,需要时间适应。
七、基于CMMI的软件质量体系文件的层次结构
基于CMMI(Capability Maturity Model Integration)的软件质量体系文件的层次结构通常分为四个层级,以确保过程管理的系统性和可操作性。这四个层次分别是:
1.质量方针(Quality Policy)
- 作用:由高层管理者制定,明确了组织对软件质量的总体要求和承诺。
- 示例:《软件质量方针》、《质量管理体系总则》。
2.过程文件(Process Documents)
- 作用:定义组织级的标准过程,描述“做什么”(What)和“为什么做”(Why),为执行具体任务提供指导原则。
- 示例:《需求开发与管理过程》、《软件测试过程》。
3.规程与指南(Procedures & Guidelines)
- 作用:详细说明如何执行特定的任务或过程,包括具体步骤、角色职责、输入输出等细节。
- 示例:《代码审查规程》、《缺陷管理操作指南》。
4.模板与记录(Templates & Records)
- 作用:提供可操作的工具如模板、检查表,并作为过程执行的证据,比如评审记录、测试报告等。
- 示例:《测试用例模板》、《质量审计记录表》。