CMMI自出道以来,它所达到的目标就没有变过,第一个是质量,第二个是时间表,第三就是要用最低的成本。不过特别强调的是,CMMI不是传统的、仅局限于软件开发的生命周期,它应该被运用于更广泛的一个范畴——工程设计的生命周期。TSP的建立,也是为了支持CMMI的这样一个系统。那么CMMI究竟是什么呢?它并不是一个过程,也不是告诉你怎么去做一件事情。如果用一句话来概括什么是CMMI,它就是各个进程的一个关键的元素,在很多领域里面一个集成的点。它是这样的一个基本架构,能够用来度量你的有效性和实用性;能够找出这样的一些机会,继续改进的机会,包括在商业目标、策略还有降低项目的风险等方面。那么,CMMI四级如何量化项目管理?
SP1.1 建立和维护项目的质量和过程性能目标
这里很类似6Sigma里面的VOC到CTQ的转化过程。项目质量和过程性能目标不是凭空产生的,而来源于具体的商业目标,客户需求,组织目标等。如果根据组织和商业目标转化为项目的质量和过程性能目标,这就涉及到两个问题,一个是要确定出需要定义哪些质量和过程性能目标,一个是要确定出这些目标和优先级和权重。最适宜的工具SP1.1里面已经谈到就是采用QFD质量功能分解。
项目目标分为质量目标和过程性能目标。MTBF平均故障间隔,关键资源利用率,发布产品故障数被做为了项目的质量目标;而缺陷移除率,缺陷密度,返工百分比被作为了过程性能目标。通过这种分法可以看到两者最大的区别在于过程性能目标是在项目进行的各个阶段都存在的,这些目标存在中间目标和项目进行中期可以跟踪的值。而质量目标则是无法分解,项目执行过程中无法跟踪。
通过QFD的商业目标和项目质量过程性能目标矩阵,可以对项目的各个质量过程性能目标进行打分和赋予权重。SP1.1第六点还专门强调了要解决项目质量和过程性能目标间的冲突和关系,比如为了进一步提供项目质量就会牺牲项目的进度。这个通过QFD的的屋顶展开是很容易实现的。整个SP1.1做完最终得到的就是包括了具体权重的项目质量和过程性能目标定义。
SP1.2 选择子过程组合成项目自定义过程
这里其实涉及到了IPM过程域裁剪的内容。但到了CMMI四的时候对裁剪要求更加细化了,裁剪的定义必须要到子过程,对子过程的选择必须依据于历史数据的稳定性和项目能力数据。
组织级已经定义了一标准的项目子过程,但一个特定的项目究竟选择哪些子过程必须要有具体的选择准则,这个选择准则中最重要的就是已经带有权重因子的项目质量和过程性能目标。因为这个目标是通过QFD第一层分解得到的,是可以代表商业目标和客户需求的。究竟选择哪些子过程?组织会规定哪些是必须选择的子过程,另外一些可选子过程则需要通过QFD第二层分解进行。项目质量和过程性能目标,子过程就是QFD分析的时候的行和列。这个分析完后就会得到各个子过程的权重和优先级。
SP1.2里面的第三点专门提到了还需要对子过程间的交互作用和影响进行分析。这个也可以在QFD中进行,或者在Excel中用相关矩阵分析进行。但书里面提及到的技术是系统动态模型和仿真,所以这里可以利用的是I Think软件提供的系统动态建模来做。建立了动态模型的好处就是,后面可以通过参数的调整来模拟查看不同的结果输出。
组织级定义的相关子过程是有历史数据支持的,项目要裁剪掉必须有充足的理由说明,并且对于裁剪的子过程必须做好相关的风险分析和风险跟踪工作。这个在SP1.2里面也专门进行了强调和说明。
SP1.3 从项目定义的过程中选择需要进行量化管理