CMM之后对CMMI的思考—CMMI学写笔记
Aaron · 2010-05-21 00:13 · 41171 次点击
本人在某上市软件公司担任SQA和SEPG,进行基于CMM的过程改进。近期学习CMMI,对CMMI有了一些了解。总结如下,希望大家指正。
1、CMMI基本介绍
1.1、起因和缘由工程环境和过程更加复杂,独立的CMM面对更加复杂化的要求不能适应了。针对分段工作的弊端(重复返工),工作更加集成化,这样需要集成化的专业知识,也需要集成化的过程。多种模型的衍生,造成了理解和培训上的困难。同时多种衍生模型的实践提供了必要的信息和信心,可以建立这样集成的能力程度模型。
1.2、目标成本效益:减少理解和培训上的成本;改进模型:统一模型利于统筹进行分析和计划;避免封闭的过程改进:过程按照学科单独进行,没有顾及整体效益;交流:跨越部门学科的过程带来更多的交流,从而利于紧密的、有效的、精简的、继承的过程,对过程改进有全局效益统一模型的过程改进(不仅仅是软件过程能力)提供更大的适应性和扩充性,减少冲突和冗余。
1.3、CMMI框架结构的基本思想CMMI的框架结构基于对对过程和过程改进理论的深刻认识公共性的基础:项目管理和过程管理适用于任何学科如果进行适当的抽象,则工程过程可以直接应用于任何工程形式支持过程对不同学科提供不同的实现,但是目标和实践可以保持不变模型结构思路:根据信息的不同作用进行分类,划分为十二种构件整个模型由此十二种构件组成,并且具备一定的结构每个构件由一个或者多个资料组成整个模型汇编数了千个小的资料模型的不同表示法,就是通过构件的不同结构来体现模型结构的优点:模型由数千个小的资料组成,不同表示法共同使用这些资料这样来确保两种表示法的“等价性”模型通过十二种构件来组织,建立了一个公共的框架容纳未来的内容所有小资料均归属于不同得构件,模型的改进可以通过小资料的改进来实现。
2、CMMI的构件CMMI建立了一个自动、可扩展的框架,其中可以放入模型集成构件、培训资料、评估资料,确保在已定义规则下可以将更多学科加入该框架。公共性是完全可以理解的,过程管理和项目管理可以应用于人和学科CMMI具有多个模型,每个模型通过汇编数千个小资料(构件),这些资料存放在数据库中便于统一引用。
2.1、内容分类CMMI模型中,用术语“Required”(必需的)、“Expected”(期望的)、“Informative”(提供信息的)对所有内容(构件)进行分类。
分类说明
“Required”(必需的)最重要的部分,确认必要条件,是进
行评估的基础
“Expected”(期望的)在某些情况下,有些组织部一定按照
这个执行;但这些资料主要是一些最
佳实践,在过程改进中起主要作用
“Informative”(提供信息的)模型中最多的部分,可用于说明
和培训
“提供信息的”包括十种资料资料名称说明
目的概括了过程域的特定目标
介绍性说明通常包括了该过程域的重要性、范围、最佳实践、与其他过程域的相互关系;是针对过程域的说明
引用用于实现跨过程域的说明,建立了一种类似于超级连接的方式;说明了过程域的相关性
名字CMMI中每个“必需的”和“期望的”构件都有一个名字
实践/目标对应表将每个实践对应到目标
注释对应域具体构件的说明
典型工作产品当执行一个“实践”时,通常是会输出工作产品;列举一些例子
子实践子实践提供了对实践含义和活动的分解,以及用途的详细说明
学科扩充是用于说明特定实践的,按照学科进行分别描述;CMMI是独立于学科的,具有通用性;
公共实践的详细描述是用于说明公共实践的,即公共实践在不同过程域中的解释;CMMI的公共实践是独立于过程域的,具有通用性;但是通用性可能带来过分广泛的解释说明或者过于抽象,不利于具体应用和评估;为了解决这个问题,CMMI结构提供了“公共实践的详细描述”这个补充说明,针对具体过程域对公共实践进行更加细致的、适用本过程域的说明,这样兼顾了体系的抽象和具体的可理解性
2.2、构件之间的关系序号说明
1唯一“需要的”CMMI模型构件是“目标”
2可用于多个过程域的“目标”称为“公共目标”,前缀为GG
3只用于一个过程域的“目标”称为“特定目标”,前缀为SG
4唯一“期望的”CMMI模型构件是“实践”
5可用于多个过程域的“实践”称为“公共实践”,前缀为GP
6只用于一个过程域的“实践”称为“特定实践”,前缀为SP
7CMMI模型中,每个“实践”都指向一个“目标”
8但是,“实践”不是“需要的”构件,一个达到了相应等级的组织,可能并不完全实现了所有的“实践”,而是采用一些其他的替代实践达到了“目标”。为了保证CMMI的灵活性,采用了这个思路;这在其他模型中是没有的;这个思路还有待继续考察。
3、过程域分析CMMI中有24个过程域,这些过程域的选择有其自身必然的缘由。分析如下过程域选择思路分析:所有企业最关注的内部管理活动是“生产活动”(工程过程)项目管理作为基础性的管理内容必须包括作为支持、控制“生产活动”和“项目管理”的组织级的过程必须提供模型应当涉及“生产活动”的各个部分模型应当涉及项目管理的基本内容对于关键性的组织过程必须提供
3.1、过程管理成熟度等级
过程域依赖性
ML5组织级改革和实施(OID)其中OPF和OPD是OPP的基
础,OPP是OID的基础
ML4组织过程性能(OPP)
ML3组织过程焦点(OPF)、组织过程定义(OPD)
3.2、项目管理SE/SW/IPPD的项目管理包括一个附加过程域“集成化群组IT”和一个“集成化项目管理”过程域的扩充版本“集成化项目管理(IPPD)”。
成熟度等级过程域依赖性
ML4项目定量管理(QPM)PP和PMC是IPM的基础,IPM是QPM
的基础
ML3集成化项目管理(IPM)
ML2项目计划(PP)、项目监督和控制(PMC)
3.3、工程过程在项目管理和过程管理两个分组中,有些过程域相互依赖,并以其他过程域为先决条件。工程过程分组中,缺乏这样的依赖关系。相反,它假定所有过程域以一种集成化的方式一起运作。在CMMI中,工程过程域将软件和系统工程过程集成到一个“面向产品”的过程域集。这个过程域集是基本的业务过程,其它所有的过程均是为这个过程域集提供支持和改善的。注意,在这里CMMI对生产过程进行了抽象,而不是面向具体学科的,要避免烟囱式的过程改进。该过程域集可以递归的应用到所有层次的产品开发上。注意“产品构件”指的是“产品”的构造块。
3.4、支持过程支持过程提供了其他CMMI中过程域使用的基本过程。它与能力等级中的共性实践相关,这些共性实践,在这个过程域中被扩展为过程。可以这样理解,实践是一种对活动得描述,过程也是一种对活动得描述,只是过程对活动的描述更加详细。支持过程主要是针对项目管理内容的。
支持过程和共性实践的对应表过程域共性实践
配置管理CM“GP2.6管理配置”紧密相关
过程和产品质量保证PQA“GP2.9客观的评价依赖性”紧密相关
度量和分析MA“GP2.2计划过程”来定义度量目的,“GP2.8监督和控制过程”包括度量性能
因果分析和解决方案CAR与“GP5.2纠正问题的公共原因”紧密相关
决策分析和解决方案DAR
4、CMMI的表示法
4.1、共性内容和特定内容说明概念说明概念包括内容
共性内容包括CMMI中的共性目标,以及相应的共性实践
特定内容包括CMMI中的特定目标,以及相应的特定实践
共性内容是属于项目管理和过程管理的,由于项目管理和过程管理普遍适用于任何学科、任何过程;所以具有通用性,适合于所有过程域。特定内容是指某个过程域专有的内容,其中的特定目标说明了这个过程域的目的,特定实践是这个过程域必要的活动。共性目标和共性实践是基于能力维表示的一组目标和内容,体现了过程改进的内涵。两种表示法的区别在于,对共性内容和特定内容的组织形式。
4.2、表示法的介绍两种表示法的基本区别表示法说明
连续式如果集中注意于单个过程域的改进,则可选择连续式;“能力等级”单个过程域来考虑
阶段式用来定义整个组织的过程成熟度,强调过程域集合共同的改进,则可选择阶段式;“成熟度等级”将组织作为整体来考虑
CMMI模型为每个学科的选择都提供了两种表示法,用于保留原来的财富。阶段式模型为组织级的过程改进提供了预定义的路线,将路线图描绘为“成熟度等级”的一系列阶段。每个成熟度等级都指出了一个组织应当在何处进行组织级的改进,通过达到相应的目标表示完成相应的阶段。连续式在完成改善的次序上缺乏专门的指导。实践以支持单个过程域的改善和增长的方式来组织。大多数和改进相关的实践都是共性的,他们是单个过程域的外部形式,并可应用于所有过程域。通过在这些过程域中实现共性实践,来改善这个过程域的能力。在连续式模型中没有专门陈述目标,而是更加强调实践。组织根据连续式评估的结果是一张《能力特征图》,用以描述组织各个过程域的能力等级。组织可以通过定义各个过程域的能力等级来确定改进的目标,即确定一张《能力特征图》为改进目标。
4.3、连续式表示法连续式的能力等级等级编号等级说明
0未执行、未完成
1已执行对某个过程域,它的特定实践(必要活动)被执行,基本满足了特定目标(此过程域的基本目的)
2已管理按照项目方式对“特定实践”组成的过程进行管理
3已定义按照组织统一的过程执行“特定实践”,并进行管理
4定量管理在过程域中引入度量,并利用度量进行管理
5优化的不断改进这个过程域的过程性能
连续式的分组分组名称过程域
过程管理组织过程焦点OPF组织过程定义OPD组织过程性能OPP组织级改革和实施OID组织级培训OT
项目管理项目计划PP项目监督和控制PMC集成化项目管理IPM项目定量管理QPM供应商合同管理SAM风险管理RSKM集成化项目管理IPM(IPPD)集成化群组IT(IPPD附加的)
工程过程需求管理REQM需求开发RD技术解决方案TS产品集成PI验证VER确认VAL
支持过程配置管理CM过程和产品质量保证PPQA度量和分析MA因果分析和解决方案CAR决策分析和解决翻案DAR
连续式模型通过能力等级描述过程能力,能力等级包括了共性目标,以及相关的共性实践,这些在过程域中被添加到特定目标和特定实践中,较高能力等级,包括所有下级的能力等级的目标和实践,类似于阶段式,见下图:在CMMI的标准的连续式表示法中,因为公共内容在所有过程域中一致,所以对每个过程域只是描述了它的特定内容。共性目标能力等级共性目标
CL0无目标
CL1GG1:过程通过转换可标示的输入产品,来产生可标示的输出产品;支持过程域的特定目标实现
CL2GG2:过程作为已管理的过程被制度化
CL3GG3:过程作为已定义的过程被制度化
CL4GG4:过程作为已定量管理的过程被制度化
CL5GG5:过程作为要优化的过程被制度化
一个能力等级只有一个共性目标,共性目标强调了制度化方面的得逐步升级,伴随着制度化的升级,过程的控制能力、标准化能力更加强化,作业效率更加可以改进。能力等级的分析能力等级共性目标
CL0无目标
CL1每个过程具有自身特殊的活动(特定实践),这些活动确定了在这个过程域中实现目标的步骤,这些步骤是在这个过程域特殊的
CL2按照项目管理的要求进行管理,通常针对一个项目的管理
CL3形成了定义的、组织级的过程
CL4对定义的、组织级过程进行了度量
CL5针对这个过程的持续改进
能力等级1(GG1)的共性实践名字共性实践描述
GP1.1标示工作范围标示要执行的工作范围和产生的工作产品、提供的服务,并与执行该过程的人交流信息
GP1.2执行基本实践执行过程的基本实践来开发产品或提供服务,以便完成过程域的特定目标
能力等级2(GG2)的共性实践名字共性实践描述
GP2.1建立组织级政策为计划和执行过程而建立和维护组织级政策
GP2.2计划过程建立和维护需求和目的,并计划要执行的过程
GP2.3提供资源提供充足的资源
GP2.4分配任务分配任务和权限
GP2.5培训人员必要时培训执行过程以及支持过程的人
GP2.6管理配置将过程制定的工作产品置于配置管理的适当级别下
GP2.7标示和包含项目相关人员按计划标示和包含项目相关人员
GP2.8监督和控制过程监督和控制违反计划的过程并采取适当的纠正措施
GP2.9客观的评价依赖性根据需求、目标和标准,客观评价过程执行情况、工作产品、服务,并就不一致情况进行处理
GP2.10高层管理评价状态高层管理评价过程的活动、状态和结果,并解决问题
能力等级3(GG3)的共性实践名字共性实践描述
GP3.1建立已定义的过程建立和维护一个已定义的过程描述
GP3.2获取改善信息获取从计划和执行过程中得到的工作产品、度量、度量结果和改进信息,以便支持组织的过程和过程财富进一步的使用和改善
能力等级4(GG4)的共性实践名字共性实践描述
GP4.1建立质量目的鉴于客户需要和业务目的为过程建立和维护关于质量和过程性能的定量目标
GP4.2稳定子过程性能稳定过程的一个或多个子过程的性能,已确定它达到定量的过程性能目标
能力等级5(GG5)的共性实践名字共性实践描述
GP5.1保证过程持续改善在实现组织的相关业务目标时,要确保过程的连续改善
GP5.2纠正问题的公共原因标示和纠正根本原因
4.4、阶段式表示法阶段式的等级划分等级编号等级说明
1初始
2已管理建立了项目管理的基础
3已定义建立了组织统一的过程
4量化管理对组织的过程建立性能基线、定量管理项目
5优化不断改进组织过程
在阶段式模型中,每个过程域包括相应阶段合适的共性目标和共性实践,例如对于一个ML2的过程域,它的内容包括“特定内容”和CL2的共性内容;对一个ML3的过程域,它的内容包括“特定内容”和CL2、CL3的共性内容。注意ML4、ML5没有这种关系。组织上如下图:特定内容共性内容(公共实践按照公共特性组织)
在CMMI标准的阶段表示法中,对所有公共实践按照公共特性进行组织分类,这个不是重点。阶段式的过程域分组成熟度等级包括的过程域
ML0无
ML2需求管理REQM项目计划PP项目监督和控制PMC供应商合同管理SAM度量和分析AM过程和质量保证PPQA
ML3需求开发RD技术解决方案TS产品集成PI验证VER确认VAL组织过程焦点OPF组织过程定义OPD组织级培训OT集成化项目管理IPM风险管理RAKM集成化培训IP决策分析和解决方案DAR组织级集成环境OEI
ML4组织级过程性能OPP项目定量管理QPM
ML5组织级改革和实施OID因果分析和解决方案CAR
4.5、等价映射为了将两种表式法统一起来,CMMI提供了两种表式法的映射。两种表示法,从内容上,只是对共性内容、特定内容不同的组织方式。通过对共性内容和特定内容的不同组织方式,从而进行等价映射。映射关系成熟度(阶段式)能力级(连续式)
成熟等级2成熟度等级2中的7个过程域均达到能力等级2
成熟等级3成熟度等级2和成熟度等级3中20个过程域均达到了能力等级3
成熟等级4成熟度等级2、成熟度等级3和成熟度等级4的22个过程域均达到了能力等级3;并且有部分(注意不是全部)过程域达到了能力等级4;有时两个不同的组织他们均达到了成熟度等级4,但是他们达到了能力等级4的过程域可能完全不同
成熟等级5成熟度等级2、成熟度等级>3、成熟度等级4和成熟度等级5的24个过程域均达到了能力等级3;并且有部分(注意不是全部)过程域达到了能力等级4;
成熟度等级4和能力等级4的关系能力等级成熟度等级
CL4的共性实践:
4.1、建立质量目的
4.2、稳定子过程性能ML4的过程域:组织级过程性能OPP项目定量管理QPM
CL5的共性实践:
5.1、保证过程持续改善
5.2、纠正问题的公共原因ML4的过程域:组织级改革和实施OID因果分析和解决方案CAR
解释说明:能力等级是针对一个具体过程而言的成熟度等级是针对这个组织运作而言的仔细观察,可以发现四个共性实践和四个过程域有很强的相似性,只是针对的范围不同,具体分析如下
能力等级成熟度等级说明
建立质量目的组织级过程性能建立度量目标和度量体系,建立性能基线
>稳定子过程性能项目定量管理根据数据对过程进行监控和管理
保证过程持续改善组织级改革和实施持续改进
纠正问题的公共原因因果分析和解决方案缺陷预防
仔细分析可以看出来:两种表示法在单个PA内,只是对共性内容、特定内容不同的组织形式。在连续式中,只是提供了特定内容,所有共性内容对所有的PA一样,按照能力等级不同有不同的共性内容。在阶段式中,每个PA提供了特定内容,并且有PA所处成熟度等级对应能力等级的共性内容(等级四、等级五除外),这些共性内容按照公共特性划分。
4.6、公共特性公共特性用于在阶段式表示法中对公共实践进行分类,有如下几类:简写全拼中文名称说明
COCommitmenttoPerform执行承诺与方针和领导承诺相关内容
ABAbilitytoPerform执行能力资源保证内容
DIDirectingImplementation定向实现管理人员、过程、产品内容
VEVerifyingImplementation验证执行高层管理者评审和正确性验证
CL2和CL3的共性实践所属的四个公共特性公共实践名称公共特性
GP2.1建立组织政策(CO1)
GP3.1建立已定义的过程(AB1)
GP2.2计划过程(AB2)
GP2.3提供资源(AB3)
GP2.4分配任务(AB4)
GP2.5培训人员(AB5)
GP2.6管理配置(DI1)
GP2.7标示和包含项目相关人员(DI2)
GP2.8监督和控制过程(DI3)
GP3.2收集过程改进信息(DI4)
GP2.9客观的评价依赖性(VE1)
GP2.10高层管理评价状态(VE2)
5、CMMI和CMM的区别
5.1、模型对比SW-CMMKPACMMIPA
成熟度等级五
ML5:优化ML5:优化
缺陷预防因果分析和解决方案
技术变革管理组织级改革和实施
过程变革管理
成熟度等级四
ML4:定量管理ML4:定量管理
定量过程管理组织过程性能
软件质量管理项目定量管理
成熟度等级三
ML3:已定义ML3:已定义
组织过程焦点组织过程焦点
组织过程定义组织过程定义
培训大纲组织级培训
组间协调
集成软件管理集成项目管理
风险管理
需求开发
软件产品工程技术解决方案
产品集成
同行评审验证
确认
决策分析和解决方案
成熟度等级二
ML2:可重复ML2:可重复
需求管理需求管理
软件项目策划项目计划
软件项目跟踪软件项目监督和控制
软件子合同管理供应商合同管理
软件质量保证过程和质量保证
软件配置管理软件配置管理
度量和分析
5.2、对比说明CMMI阶段式的基本结构从CMM演变而来,但是CMMI的结构更加的形式化和精致,也更加的复杂,尤其为了保证连续式和阶段式的同一性,更加增加了结构的理解难度。CMMI强调了对需求的管理,有两个过程域说明对需求的控制:需求管理REQM、需求开发RD。而在CMM中只有一个关键过程域需求管理RM以及软件产品工程SPE中的一个实践来说明对需求的管理和控制。CMMI加强了对工程过程的重视,提供了更加细致的要求和指导,而CMM中却只有一个SPE关键过程来进行要求和指导CMMI强调了度量,并且从项目的早期就已经进行了度量,在阶段式中CMMI二级由一个过程域度量和分析;而在CMM中没有专门的要求和指导。CMMI对比CMM更加强调了对风险的管理,在CMM中风险只“是项目策划”SPP中的一个活动,而在CMMI中风险管理作为一个单独的过程域。CMM中的一个关键过程域“组间协调”IC在CMMI中地位下降,只是作为“集成化项目管理”IPM中的一个目标。CMM中的关键过程域“同行评审”PR,在CMMI中得到了更高的抽象;对应CMMI的“验证”VER,说明了对产品进行相应的QC活动。(同行评审本身就是一种QC活动)CMMI的公共特性中,没有了测量(ME),这些度量内容被组织起来形成了一个支持过程“度量和分析”。具体理由如下:度量和分析本身应用的复杂性和它执行的高成本在原来的CMM中每个KPA均有单独的测量要求,容易造成“过度测量”,也没有形成对组织级的、统一的度量体系的指导和要求,造成实施中的困难例如在CMM中如果一个组织达到了CMM三级,由于各个KPA均要求了测量(ME),实际上已经建立了全组织过程的测量,这和CMM的等级划分思想是有着冲突的。CMMI改进了这个方面,要求组织从组织级的统一要求出发建立度量体系。这样的想法也符合过程改进理论的思想;这样组织在实施过程中可以选择必要的过程进行测量,而不是全部过程的测量,从这个意义上,CMMI对比CMM降低了对度量的要求和实施难度,但是更加具有全局性和可实施性。CMM是作为评估标准出现的,所以是“必要”的才能保证评估的标准。CMMI是作为改进模型出现的,罗列了较多的最佳实践,利于过程的改进