CMMI 概述
在Infosys China工作也已经有两年多了,其中大部分时间主要专注技术,对非技术的一些东西研究较少,而且由于角色的转变,为了职业的发展,提升项目经理的能力,现在已经是我迫在眉睫的任务了。
随着业务的发展,Infosys的人数逐年增加,现在该有7万人了吧?印度的软件业是如何发展起来的,优势是什么,自有专家、学者去讨论,但是完全follow软件的标准过程,能够成为全球最大的软件公司之一,我想,也算一个原因吧。
Infosys China也在2007年十月获得SEI的CMMI Level 5(Ver1.2),这是一个重要的里程碑!借着公司正在普及CMMI知识的春风,将我学习的一些笔记和感悟写了下了,也只是随便写写而已,无它。
什么是CMM?CMM是Capability Maturity Model的缩写,它定义了软件组织如何提高、改进他们开发软件的能力,如何使他们的开发软件的能力更加成熟。这个模型由Carnegie Mellon University的Software Engineering Institute(SEI)在八十年代开发出来的。自2007年12月31日后,SEI不再提供CMM的评估和培训,所有SW-CMM的等级都要被认为是无效的了。CMM定义了软件过程成熟度的5个级别,每个级别都有相应的Key Process Areas。下面列出了5个级别相应的KPA:
- Level 1(initial):描述了该组织的过程不成熟(immature)或者没有定义(undefined)。
- Level 2(repeatable):需求管理;软件的项目计划;软件的项目跟踪和Oversight(疏漏?);软件的子合同管理;软件的质量保证(QA);软件的配置管理。
- Level 3(defined):organizational process focus(组织的过程焦点?);组织的过程定义;培训计划;intergroup coordination(内部协调?);Peer Review。
- Level 4(managed):过程管理和分析;质量管理;Defect Prevention。
- Level 5(Optimizing):技术革新;过程变更管理。
但CMM也有些问题,CMM的KPA主要集中在传统瀑布模型的活动(Activities)和制品(artifacts):需求规格说明书,文档化的计划,质量保证审计等。几乎没有KPA能够解决进行中的结果和其关联的工程制品中 (use-case models, design models, source code, or executable code), CMM也过渡强调Peer Review,Inspections和传统的质量保证方法。虽然人工检阅(manual Review)和检查(Inspection)能够发现60%的错误,但是很少能够查到项目中的架构级别上的主要瑕龇。
而且SEI同时维护多个CMM模型,一个是软件开发,一个是整个过程和产品开发,一个是系统工程,等等。SEI组织发现同时维护多个模型非常困难,SEI将不同模型整个成一个,因此CMM – Integrated应运而生。
CMMI描述了组织在未来的竞争世界中如何采用所必需的持续改进道路。而且该模型更够被裁剪成组织所需要的过程,保持改进(Keep Improving)是CMMI的曼特罗。CMMI能够创建组织或者企业的品牌价值,在Infosys China,客户大多是欧美客户,他们就信这个。
CMMI的结构与CMM非常相似,它也有5个成熟度级别:
- Level 1(initial or Ad-hoc):没有任何PA,
- Level 2(managed): 有7个PA,PA主要集中在基本的项目管理:项目计划和执行。
- Level 3(defined): 里面有13个PA,生命周期过程和组织过程是这个级别的Area。
- Level 4(Quantitatively managed): 有2个PA,主要解决定量和统计过程控制(Statistical Process Control)的项目管理。
- Level 5(Optimizing): 有2个PA,主要集中在持续改进(Continuous improvement)的方面。
CMM/CMMI用来指导软件组织选择过程改进战略,决定当前过程的成熟度 ,识别软件质量和过程改进方面的最重要的问题 (Issues)。
|