灯火阑珊

纷扰城市中,似乎遗忘这城市的美;繁杂世事中似乎遗忘最初的悸动。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 注:该系列讨论基于CMMI V1.2

一.基本概念

1. CMM(Capability Maturity Model),能力和成熟度模型

2. CMMI是英文Capacity Maturity Model Integrated的简称。中文的译意是能力成熟度集成模型。CMMI是CMM的更高版本,现在CMMI的最新版本是1.2,由SEI发布于2006年8月。

3.专业术语及缩写:

1). 相关术语:

共利益者(Stakeholder):所谓“共利益者”,指的是受到某种负责产生输出的方式影响的群体或个人。共利益者可能包括项目经理、供方、顾客以及其他人。术语“相关的共利益者”用于指某个计划中要求执行某类活动或接收某类信息的群体和个人。
工作产品(work product):指由过程产生的任何人工制品。这些人工制品可能包括文卷、文档、产品的一部分、服务、过程、规范以及清册等。

产品构件(product component):“产品构件”是产品的组成部分。把产品构件加以集成,可以构造出产品。可能存在多个层次的产品构件。产品构件也是工作产品,但是必须经过工程化(需求确定、设计、集成式解决方案开发等)才能实现产品的预计用途。产品构件可能是将要交付给顾客的产品的组成部分,也可能只是供项目内部使用或其他方面使用。

目标(goal):本标准中为评估模型定义了“通用目标”和“特定目标”,把它们作为衡量实际的软件过程的能力的重要尺度;在涉及软件过程能力的上下文中,每个通用目标和特定目标都具有特定的含义,不要把其他背景中的目标一词与它们混淆。

组织的标准过程集合(organization's set of standard process):“组织的标准过程集合”包含各个基本过程的定义,用以指导本组织里的所有过程。这些过程的描述覆盖各个基本过程要素以及要素之间的关系。这些基本要素是项目已定义过程的组成部分。对于那些要在项目中实施的已定义过程而言,这些要素是必须借用的。标准过程为整个组织范围内的开发活动和维护活动确立了一致性,是实现长期稳步改进的基础。 

已定义过程(defined process):“己定义过程”是根据本组织的剪裁指南从组织的标准过程集合剪裁得到的受管理的过程。“项目已定义过程”是对项目的作业和活动进行策划、执行和改进的基础。一个项目可以有不止一个已定义过程(例如,一个用于产品开发,一个用于产品测试)。

组织过程财富(organizational process assets):“组织过程财富”是被认为对定义和实施组织里的过程有用的制品,它们供项目和开发、剪裁、维护以及实施过程时使用。 

过程体系结构(process architectures):“过程体系结构”是标准过程中的各个过程要素之间的顺序、界面、相互依存性和其他关系的描述。 

过程要素(process element):“过程要素”是过程描述的基本单位。过程可以用子过程或过程要素予以定义。子过程可以进一步加以分解;过程要素不能再分解。每个过程要素覆盖一组密切相关的活动(例如,同行审查要素,估计要素)或一项活动或一项作业。

组织的过程相关文档库(organizational library of process-related documentation):“组织的过程相关文档库”存储过程文档和提供使用这些过程文档的信息库。这种信息库中包含文档、文档片段、过程实施的帮助信息和其他那些对定义、实施和管理过程有用的人工制品,过程相关文档等,例子有:方针、已定义过程、标准、规程、开发计划、测量计划以及培训材料等。在启动新的过程时,这个文档库有助于减少开始工作的工作量

2). 缩写:

通用目标GG:Generic Goals 

特定目标SG:Specific Goals

通用实践GP:Generic Practices

特定实践SP:Specific Practices

过程域PA:Process Area

质量保证QA:Quality Assurance

 软件工程过程组SEPG:Software engineering process group

 过程改进指导描述PIID:Process Improvement Indicator Description

 SCAMPI:Appraisal Method for Process Improvement  (CMMI中评估过程改进的一种方法)

以下是CMMI中所有的22个KPA:

        需求管理REQM: Requirement Management
        项目策划PP:Project Planning
        项目监督和控制PMC:Project Monitoring and Control  Planning
        供方协定管理SAM:Supplier Agreement Management
        测量和分析MA:Measurement and Analysis
        过程和产品质量保证PPQA:Process and Product Quality Assurance
        配置管理CM:Configuration Management
        需求开发RD:Requirement Development
        技术解决TS:Technical Solution
        产品集成PI:Product Integration
        验证VER:Verification
        确认VAL:Validation
        组织过程聚焦OPF:Organization Process Focus
        组织过程定义OPD:Organization Process Definition
        组织培训OT:Organization Training
        集成项目管理IPM:Integration Project Management
        风险管理RSKM:Risk Management
        决策分析和决定DAR:Decision Analysis and Resolution
        项目定量管理QPM:Quantitative Project Management
        组织过程性能OPP:Organizational Process Performance
        组织革新和实施(Organizational Innovation and Deployment)
        原因分析和解决(Causal Analysis and Resolution)

二.CMMI表示法

1.CMMI的两种表示方法:

    a).连续式:选择性的实施过程域,不一定所有项目都实行,属于项目级。

    b).阶段式:必须全部或大部分项目都达到标准,属于组织级。

这两种表现方法的区别是:阶段式表现方法把CMMI中的若干个过程区域分成了5个成熟度级别,帮助实施CMMI的组织建议一条比较容易实现的过程改进发展道路。而连续式表现方法则通过将CMMI中过程区域分为四大类:过程管理、项目管理、工程以及支持。对于每个大类中的过程区域,又进一步分为基本的和高级的。这样,在按照连续式表示方法实施CMMI的时候,一个组织可以把项目管理或者其他某类的实践一直做到最好,而其他方面的过程区域可以完全不必考虑。

2.CMMI的阶段式表示(连续式不做关注)

CMMI阶段式表示中总共分成了5各阶段,图一是各个等级的总体描述:


 

图一:CMMI阶段式表示各等级总体描述

图二描述了项目开发在各等级性能表现,这里的性能是指在项目开发中过程的性能,而不是指软件产品的性能。图中横轴表示项目所花费的资源,包括时间,金钱,人力等,纵轴表示可能达到的性能,而标识为"target"的竖线表示组织期望达到的目标,即期望在target处应该达到最佳的性能。有趣的是从1级到2级的变化趋势,1级时的target比2级时还要靠前一点,这可能也是一些企业不愿实施CMMI的原因,这完全是劳命伤财的事嘛,做了那么多,工作效率不升反降,哪里的道理。其实我们仔细研究,发现在2级时期望值确实是推后了,但是,实际值却靠前了并且和我们的期望值十分的吻合,这就是管理的作用。
图二:项目在各个等级上实施可能性能情况概览

好了,从整体上把握了CMMI阶段式表示的5个等级后,下面分别详细阐述CMMI阶段式表示的各个阶段的特征,并且列出各个阶段的关键过程域(Key Process Area-KPA):

a).初始级:企业对项目的目标与要做的努力很清晰。项目的目标得以实现。因此,任务是完成了。 但是由于任务的完成带有很大的偶然性,企业无法保证在实施同类项目的时候仍然能够完成任务。企业在一级上的项目实施对实施人员有很大的依赖性。

特点:图三描述了初始级的项目状态

图三:CMMI初始级(一级)项目状态描述

    这个阶段的项目,开发人员和项目经理都是依靠个人的经验来推动项目走向预期目标,没有任何规定的流程遵循,大家都是一头雾水,走到哪里算哪里,没有任何的监督和控制。主要特点可以概括如下:

1).性能取决于开发者的能力,好的雇员就可以提高软件开发性能。

2).没有过程域,整个软件开发过程缺乏管理。

3).不可预测性,运气好的话,结果可能令人满意。

4).这次的成功不能代表下次同样的项目也能取得成功。

b).管理级(图中表示为可重复级:Repeatable):企业在项目实施上能够遵守既定的计划与流程,有资源准备,权责到人,对相关的项目实施人员有相应的培训,对整个流程有监测与控制,并与上级单位对项目与流程进行审查。企业在二级水平上体现了对项目的一系列的管理程序。这一系列的管理手段排除了企业在一级时完成任务的随机性,保证了企业的所有项目实施都会得到成功。

特点:图四描述了管理级的项目状态

图四:CMMI管理级(二级)项目状态描述

    在这个阶段下,项目按照预期的计划有条不紊的进行,并且设置了若干的里程碑,在每个里程碑对项目进行检查,评审,看项目是否按照预期的计划正确的执行,但是在这个阶段中,各个里程碑之间仍然是一个黑箱,是不可见。这个阶段的特点可以概括为:

1).建立了有效的软件项目管理机制,遵循并且文档化这个机制。

2).软件开发过程是一系列带有检查点(里程碑)的黑盒子。

3).因为已经文档化,所以以前项目中的成功经验可以重复使用。

    管理级包括7个过程域:

        配置管理(CM)

        需求管理(REQM)

        项目计划(PP)

        过程和产品质量保证(PPQA)

        供应商合同管理(SAM)

        项目监督和控制(PMC)

        度量和分析(MA)

c).定义级:企业不仅仅能够对项目的实施有一整套的管理措施,并保障项目的完成;而且,企业能够根据自身的特殊情况以及自己的标准流程,将这套管理体系与流程予以制度化。这样,企业不仅能够在同类的项目上得到成功的实施,在不同类的项目上一样能够得到成功的实施。科学的管理成为企业的一种文化,企业的组织财富。

特点:图五描述了管理级的项目状态

图五:CMMI定义级(三级)项目状态描述

    这个阶段下,项目在第二级的基础上加入了对于黑盒子里面过程的更详细的监督。特点概括如下:

1). 角色和职责清晰

2). 整个软件过程可见,而不仅仅在检查点(里程碑)处可见。

    定义级包括11个过程域:

        产品集成(PI)

        集成项目管理(IPM)

        组织培训(OT)

        组织过程定义(OPD)

        组织过程焦点(OPF)

        需求开发(RD)

        技术解决方案(TS)

        验证(VER)

        确认(VAL)

        风险管理(RSKM)

        决策分析和解决(DAR)

d).定量管理级:企业的项目管理不仅仅形成了一种制度, 而且要实现数字化的管理。对管理流程要做到量化与数字化。通过量化技术来实现流程的稳定性,实现管理的精度,降低项目实施再质量上的波动。

特点:图六描述了管理级的项目状态

图六:CMMI定量管理级(四级)项目状态描述

    这个阶段强调的是对定量的过程控制,不仅通过定量的分析发现问题,而且要据此提出解决方案。特点概括如下:

1). 依据客观数据做出决策。

2). 可在定量的范围内预测性能。

    定量管理级包括2个过程域:

        项目定量管理(QPM)

        组织过程性能(OPP)

e).优化级:企业的项目管理达到了最高的境界。企业仅仅能够通过信息手段与数字手段来实现对项目的管理, 而且能够充分利用信息资料,对企业在项目实施的过程中可能出现的次品予以预防。能够主动地改善流程,运用新技术,实现流程的优化。

特点:图七描述了管理级的项目状态

图七:CMMI优化(五级)项目状态描述

    这个阶段下强调的是对组织流程的不断改造更新,实现流程的优化。特点概括为:

1). 表示和消除不佳性能原因。

2). 持续改进软件过程。

    优化级包括2个过程域:

        组织革新和实施(OID)

        原因分析和解决(CAR)

图八的坐标总体系给出了各个等级的特点联系和区别:

图三:各个等级的特点总结

在这个系列以后的文章中我们会对以上各个过程域展开讨论以深入了解学习CMMI,顺序不一定是按照从低级到高级的顺序。



posted on 2006-12-25 14:23  灯火阑珊  阅读(1783)  评论(0编辑  收藏  举报