CMMI划分为三个分支:
适用于供方、乙方的模型:
CMMI-DEV:主要是针对开发类组织的;
CMMI-SVC:主要是针对服务类组织的;
适用于需方、甲方的模型:
CMMI-ACQ:主要是针对采购类组织的;
CMMI-DEV中提到的开发,是包括了软件、硬件等类型的开发。CMMI-DEV这个模型还可以增加适用于复杂多学科的产品开发的IPD附件,在CMMI之外称为IPD,在CMMI内称为IPPD。IPPD并没有涉及到市场、财务等。多出来的一个P代表是过程,IPD中包含了市场与财务,所以IPD与IPPD是有一定差别的。IPPD有其适用范围,不能乱用,IPD也是同理。国内有些企业盲目追随华为实施IPD,成功者少,失败者众。为什么呢?没有注意IPD的适用范围。IPD适用于什么类型的组织呢?
(1)复杂产品的开发,需要多学科配合协同的产品开发;
(2)市场驱动的产品开发,产品需要随时判断是否满足了市场的需求,是否投入产出合适,如果不可以,需要随时终止项目的开发。
(3)项目的团队规模比较大,需要划分为多个小组进行协同工作。小组之间的沟通是项目成功的一个制约因素。
在CMMI-DEV中包含了22个过程域。何谓过程域(process area,简写为PA)?过程域是一类最佳实践的集合,这些最佳实践属于同一类的过程。CMMI中有几百条最佳实践,需要将他们分类管理,以便于实施,便于记忆。分类的方法是人们分析、认识问题的一种主要的方法。在CMMI中将所有的实践划分成了22类,每类中包含的实践个数从4个到14个不等。这种分类是否就完全合理呢?仁者见仁,智者见智,没有绝对的合理,有的实践放在某个PA中很自然,有的就有点牵强,SEI就那么划分了,你就那么记忆吧。
要注意过程域与过程的概念不同,过程域是实践的集合,何谓集合?集合中的元素是没有严格的先后顺序的,是一个堆,堆是数据结构中的专业术语。过程是活动的偏序集(偏序关系是离散数学中的专业术语),活动之间是有先后顺序的。不要搞混了2个概念,否则是很囧的。
22个过程域可以分成4类,项目管理类、过程管理类、工程类、支持类。总结为下表:
过程域类别 | 中文名字 | 核心内容 | 英文简写 | 等级 |
项目管理类 | 项目策划 | 估算,编制计划,计划评审与确认 | PP | L2 |
项目监督与控制 | 计划跟踪,问题的发现解决 | PMC | L2 | |
供应商合同管理 | 采购合同,外包合同管理 | SAM | L2 | |
风险管理 | 识别、分析风险,制定风险计划,跟踪控制风险,沟通风险 | RSKM | L3 | |
集成项目管理 | 集成过程,集成人,集成小组,即过程之间、人之间、小组之间的协调一致问题 | IPM | L3 | |
量化项目管理 | 量化目标管理,统计过程管理 | QPM | L4 | |
过程管理类 | 组织过程焦点 | 如何按照PDCA循环或IDEAL模型的思想实施过程改进 | OPF | L3 |
组织过程定义 | 组织级定义哪些标准与规范 | OPD | L3 | |
组织级培训 | 如何开展组织级培训 | OT | L3 | |
组织过程性能 | 定义组织级量化目标,建立组织级性能基准与模型 | OPP | L4 | |
组织级革新与部署 | 如何识别、推广技术与管理革新 | OID | L5 | |
工程类 | 需求开发 | 需求获取,需求分析,需求描述,需求确认与验证 | RD | L3 |
需求管理 | 需求变更管理 | REQM | L2 | |
技术解决方案 | 技术路线确定,概要设计,详细设计,编码、技术文档编写 | TS | L3 | |
产品集成 | 集成,集成测试,交付 | PI | L3 | |
验证 | 同行评审、测试等验证手段 | VER | L3 | |
确认 | 系统测试,验收测试等确认手段 | VAL | L3 | |
支持类 | 产品与过程质量保证 | 检查过程与文档和标准规范的一致性 | PPQA | L2 |
配置管理 | 文档变更、文档一致性的管理 | CM | L2 | |
度量与分析 | 应该采集哪些数据?数据的准确含义是什么?如何采集数据?如何分析数据? | MA | L2 | |
决策与解决方案 | 管理与技术决策如何做? | DAR | L3 | |
根因分析与解决方案 | 如何执行根本原因的分析 | CAR | L5 |
通过上表我们可以看到,在CMMI模型包括了很多的开发活动,没有包括什么呢?没有包括考核,没有包括市场,没有包括财务、行政、人事等等其他非开发管理活动。对于开发活动是否都包含全了呢?项目立项、技术预研、系统维护等活动并没有描述在里面,没关系,立项、预研、维护的活动都可以分解为上述PA中的活动,也可以认为是含在里面了。
每个过程域有其名字与简写,一般我们都称呼其简写,比如一说REQM就知道是需求管理过程域,一提DAR就代表了决策与解决方案过程域。不一定要刻意去背他,知道每个缩写代表的英文单词,自然就记住了。