CMMI2级对软件工程活动的指导很弱,如:需求开发、设计、编码、测试等。在3级,你会发现:
1)有指导需求开发的需求开发(Requirements Development)这个PA;
2)有指导设计、编码工作的技术解决方案(Technical Solution)这个PA;
3)有指导如何保证工作产品满足要求的验证(Verification);
4)有指导如何保证软件产品满足真实使用环境要求的(Validation);
5)还有指导如何把软件产品各组件集成在一起并保证能在相应的硬件载体运行正常的产品集成(Product Integration);
2级的PP与PMC是直接与项目管理有关的两个PA,在3级,对项目管理的要求进一步提高:
6)集成项目管理(Integrated Project Management):3级的项目管理,要求利用组织级的财富库进行项目估算,并且利用财富库裁剪出项目自己的过程,并用这个过程来管理项目。
7)风险管理(Risk Management):2级只有PP的SP2.2中提到要识别风险,而在3级专门有一个PA对风险管理提出更高的要求。
大家不知道有没有发现,2级的PA都是直接针对项目提出要求的。3级的IPM和RSKM,除了对项目级提出要求,另外也对组织级提出了要求,IPM要求有组织级的资产库,RSKM要求要有组织级的风险管理策略等。另外,3级有几个“O”开头的PA,这几个PA都是直接对组织级的提出要求。
8)组织过程焦点(Organizational Process Focus):这个PA要求组织成立SEPG来推动过程改进的工作,要求识别、计划、实施改进过程,保证组织过程能持续改进。
9)组织过程定义(Organizational Training):这个PA要求组织级建立财富库,财富库内容要包括标准的过程、裁剪库、度量库、生命周期模型等。
10)组织培训(Organizational Training):要求组织根据商业目标要求准备并提供培训。
3级还有一个很特别的PA:
11)决策分析及解决方案(Decision Analysis and Resolution):这个PA提供了一个如何做出最佳决策的方法指导。软件行业很多重要的决策,如设计方案、采购方案等,都可以应用这个PA提供的办法,另外也可以在组织过程改进中应用决策分析的办法。
总结一下3级的几个重要特点:
1)明确规定了需求开发、设计、编码、测试、集成等软件开发各过程的要求。
2)对项目管理提出了更高的要求,要利用组织级的数据来管理项目。
3)出现了专门针对组织级的PA,要求有专门的组织来负责过程改进的工作。
4)提供了一个做出最佳决策的指导,而这个方法可以用于软件工程,也可以用于组织级过程改进。
由这些特点大家可以看到,3级已经对软件开发的各个方面有了详细的要求,2级很多不明细的地方全部已经明确。一个达到3级的企业,肯定会定义了很多软件开发各个方面的过程,并且会有组织级的财富库。所以3级叫“已定义”级。[1][2]