八项质量管理原则在CMMI中的体现
赛宝认证中心
李华北 郑丹丹
摘要:ISO9000:2000标准和CMMI是当前两个最流行的质量保证体系。针对二者的联系和区别,本文以八项质量管理原则为中心,从过程改进的基本原理出发,阐述了八项质量管理原则在质量管理体系中的地位和作用,研究了过程方法和IDEAL模型的共同点和区别;并分析了八项质量管理原则在CMMI模型中的具体体现。为组织理解和应用CMMI奠定了基础。
1. 概述
ISO9000:2000标准和CMMI是当前两个最流行的质量保证体系,它们同是适用于软件和集成产品质量保证能力评价的两个方法,只是两者考虑的角度不同。ISO9000标准本来是针对工业制造过程开发的,但经过几十年的不断完善,特别是到2000版,已变成适用于各个行业的通用质量保证体系,并总结、确立了八项质量管理原则作为该体系的理论基础。
而CMMI 是从CMM发展而来,CMMI也包括了在不同领域建立有效过程的必要元素,反映了业界普遍认可的最佳实践;专业领域覆盖软件工程、系统工程、集成产品开发和系统采购。在此前提下,CMMI为企业的过程构建和改进提供了指导和框架作用;同时为企业评估自己的过程提供了可参照的行业基准。CMMI融入了大部分最新的软件管理实践,是从专业的角度对软件、系统集成企业产品开发和质量保证能力进行评价,它对软件和产品开发过程中的每一个关键过程进行详细的描述,以利于企业衡量自身的产品和软件的开发过程能力和质量保证能力。
对于两种质量体系并存的局面,人们自然会对不同的体系进行评价比较。比如可能会提出以下问题:
ISO9000体系和CMMI模型是否相同?
ISO9000体系和CMMI模型哪个更先进、更完善?
企业应选择哪一个模型标准?
等等。有关这些问题的研究文章有很多,但大多是根据条款进行对比,没有更深层次的探讨。因为八项质量管理原则和过程改进分别是ISO9000体系和CMMI模型的基础,所以本文试图从这两方面作为起点研究两者之间的联系,并分析八项质量管理原则在CMM模型中的体现。由此,上述ISO9000体系和CMM模型的关系问题也就迎刃而解了。
2. 八项质量管理原则及过程改进
八项质量管理原则是人们在生产管理实践的基础上总结出来的,旨在帮助组织建立持续改进业绩的框架,提高组织质量管理的水平,使组织达到持续的成功。它是从现代企业管理制度中抽象出的最一般原则,可以说八项质量管理原则凝结了半个多世纪来管理学的精华。它不仅是管理体系的基础原则,也是管理学的基本原则。它是ISO9000族标准的理论基础,又是组织领导者进行质量管理的基本原则。
多年来,管理专家们从各自的认识和经验出发,提出了形式不同的管理原则模型。这些模型虽存在着差异,但其内涵都有许多相同之处。这些共同的认识为在国际范围认同管理原则奠定了基础。知识时代的到来,推动了管理理论的发展。在众多的管理理论宝库里,实际存在着一些共同认可的基本点。这些基本点就是现代人已认识到的实现管理目的的基本原则。
八项管理原则是:
以顾客为中心
系统的管理方法
领导作用
以事实为依据的决策
全员参与
持续改进
过程方法
互利的供方关系
决定产品成本、进度和质量的主要因素有三个:过程、技术、人员;这就是质量三脚架。其中过程是与人员、技术密切相关的最重要的因素,在当今的企业管理中占有非常重要的地位。这就是所谓的“三分技术,七分管理”。
过程是指一系列活动、任务、和它们之间的关系,它们共同把一组输入转换成所需要的输出(ISO/IEC 12207)。无论是ISO9000还是CMM都是以过程为基础的。
基于八项质量管理原则的ISO 9000族标准,是建立在“所有工作都是通过过程来完成的”这样一个认识基础之上。每一个过程都由诸如原材料、设备、组织和人员等作为输入,输出的是过程的结果,如半成品、成品和计算机软件产品等。质量管理是通过对组织内各种过程进行管理来实现的。一个过程的原理如图1所示。
八项质量管理原则的其中两项是"过程方法"和"管理的系统方法"。过程方法就是将活动和相关的资源作为过程进行管理,可以更高效地得到期望的结果。管理的系统方法是将相互联系的过程作为系统加以识别、理解和管理,有助于组织提高实现目标的有效性和效率。
软件过程是软件生存周期所涉及的一系列相关活动的集合,软件过程改进的基本思想是:软件开发和维护过程的质量对软件产品的质量和软件生产率影响很大,应该加以控制和管理,并不断改进。软件过程改进主要研究如何对软件组织现有的软件过程进行评估,找出组织存在的弱项和强项,以确定实施改进的领域。软件过程改进的目标就是通过工程化、标准化和形式化的方法管理软件的开发过程,从而改变目前的软件生产方式,实现大规模的软件生产,满足客户要求。
CMMI模型描述了一个有效的软件过程中的关键要素,讨论了不成熟的软件机构发展成为有规律的、成熟的软件机构的改进过程。CMMI涉及对软件开发和维护活动进行规划、软件过程工程化和对软件过程进行管理的实践活动。通过这些实践活动,能够提高软件机构满足成本、进度、功能和质量要求的能力。
CMMI把企业的软件过程分为25个过程域,其可以作为一个框架来引导过程改进活动。CMMI实施的基础是SEI的IDEAL模型,它被普遍认为是一个较好的方法,IDEAL的过程如图2所示。其意义为:
I Initiating(创始化)为成功地进行过程改进而打好基础。
D Diagnosing(诊断)找出相对于你要达到的位置,你现在在何处。
E Establishing(建立)计划你如何达到你的目的地。
A Acting(行动)按计划进行工作。
L Learning (学习)从经验中学习和改进你在将来采用新技术的能力。
图2 IDEAL模型
由上可以看出,八项质量管理原则和CMM都使用过程方法实施过程管理和改进,并且都遵循PDCA循环,所以其理论基础是一致的。
3. 八项质量管理原则在CMMI中的体现
为更好理解ISO9000和CMMI的区别和联系,我们来分析八项质量管理原则在CMMI中的体现。
3.1 以顾客为中心—原则1
组织依存于顾客。因此,组织应理解顾客当前的和未来的需求,满足顾客要求并争取超越顾客期望。顾客是每一个组织存在的基础,顾客的要求是第一位的,组织应调查和研究顾客的需求和期望,并把它转化为质量要求,采取有效措施使其实观。
CMMI对于满足顾客的要求和期望贯穿在整个模型和软件生存周期中,重点体现在“需求管理”和“需求开发”过程域中。并且需求变更的管理贯穿到产品和软件的整个生命周期。
需求管理的特定目标是:设法理解需求提供者提出的这些需来的含义。为实现这个目标,企业需要充分理解客户的需求,并建立需求和工作产品之间的双向溯源性。为了实现客户的需求,还应在整个组织获得对需求的承诺,管理客户的需求变更。
需求开发要求组织要收集共利益者的需要、期望、限制条件和界面,并且把它们转换成顾客需求;然后对顾客需求加以精练和细化,针对产品生存周期开发产品和产品构件需求;并对各项需求进行分析和确认,并且开发所要求的功能度的定义。
CMMI的要求比较细致地规定了如何满足、确认顾客需求,并在软件的生命周期中管理需求,使其最大程度地满足顾客期望。
3.2 领导作用—原则2
领导必须将本组织的宗旨、方向和内部环境统一起来,并创造使员工能够充分参与实现组织目标的环境。为了营造一个良好的环境,高级管理者应建立质量方针和质量目标,确保关注顾客要求,确保建立和实施一个有效的质量管理体系,确保资源,并随时将组织运行的结果与目标比较。
CMMI模型的公共惯例GP2.1规定高级管理者应建立每个过程域的组织方针,以建立实施过程改进的原则;GP2.3规定高级管理者应为执行所策划的过程、开发工作产品提供足够的资源;GP2.4规定了为执行该过程、开发工作产品和提供相关过程的服务,分配责任和权限;GP2.5规定应对相关人员进行培训,以使其具备能力。GP2.10要求高级管理者要审查每个过程的活动、状态和结果,并解决问题。
以上强调了高级管理者应参与和支持过程改进活动,同时提供相关的资源。
3.3 全员参与—原则3
各级人员是组织之本,只有他们的充分参与,才能使他们的才干为组织带来最大的收益。全体职工是每个组织的基础。组织的质量管理不仅需要最高管理者的正确领导,还有赖于全员的参与。CMMI模型的公共惯例GP2.7要求确定相关的共利益者并使其介入,保证实现共利益者与该过程的必要的交互作用。这种介入是有计划的和系统的参加,相关人员职责是明确的。
3.4 过程方法—原则4
ISO9000标准的过程模式是把管理职责;资源管理;产品实现;测量、分析和改进作为体系的4大主要过程,描述其相互关系、并以顾客要求为输入,提供给顾客的产品为输出,通过信息反馈来测定的顾客满意度,评价质量管理体系的业绩。
第2章阐述了两个标准过程模型,它们都遵循PDCA循环。CMMI更具体地把软件开发和支持活动分成25个过程域,每个过程域中包含了许多惯例和活动,并规定相关的资源和对活动进行管理。可以更高效地得到期望的结果。过程方法的原则不仅适用于某些简单的过程,也适用于由许多过程构成的过程网络。
CMMI的组织过程定义(OPD)具体描述了组织过程定义和项目过程剪裁的要求,它是过程方法具体适用与项目的指南。
CMMI的公共目标和公共惯例是每个过程方面都应具备的,它是过程方法的通用要求,充分体现了过程方法的核心,如GP2.1建立方针、GP2.2策划该过程、GP2.3提供资源等等,一直到GP2.10高级管理者审查,都是围绕过程方法及实施制度化所必须的活动。
3.5 管理的系统方法—原则5
针对设定的目标,识别、理解并管理一个由相互关连的过程所组成的体系,有助于提高组织的有效性和效率。此方法的实施可在三方面受益:一是提供对过程能力及产品可靠性的信任;二是为持续改进打好基础;三是使顾客满意,最终使组织获得成功。
CMMI公共目标和12个公共惯例体现了管理的系统方法,12个公共惯例分为执行承诺、执行能力、指导实施和验证实施四个特性,它要求所有过程都要建立方针和目标,过程之间方针和目标都是为了实现过程改进,然后在方针的框架下,策划过程,建立实施过程的职责,并提供资源。当然要实施培训以使人员有能力实施过程。这种过程定义是全局的,是组织一级的,所以必须考虑各个过程之间的关系和接口,建立工作产品的配置管理和基线。同时对过程应进行监督和控制,使共利益者介入过程。为保证过程实施的有效性和效率,CMMI的公共惯例规定了高级管理者和QA两个角色对过程的实施结果进行验证。
12个公共惯例的执行承诺、执行能力、指导实施和验证实施四个方面就构成PDCA循环。如下图所示。
图3 公共惯例的PDCA循环
3.6 持续改进—原则6
持续改进是组织的一个永恒的目标。在质量管理体系中,改进指产品质量、过程及体系有效性和效率的提高,持续改进包括:了解现状;建立目标;寻找、评价和实施解决办法;测量、验证和分析结果,把更改纳入文件等活动。
企业最终目的是把自己的产品或服务提供给客户,让客户满意,所以只有尽力使这个过程不断反复且能够不断壮大,才能源源不断地创造利润。因此,我们应该明白以下几点:
企业的使命是为客户创造价值,因而只有努力地为客户创造价值,企业才能获得成功。
能为客户带来价值的是企业的各种过程,而过程是由一系列能为客户创造价值的活动组成,每项活动都由员工完成。
优质的产品或服务、杰出的人才和优秀的战略对企业来说必不可少,但并不能保证企业的成功,因为产品或服务、人才和战略只有存在于能为客户带来价值的各种过程之中,才能对企业的成功有所贡献。
优异的过程绩效是通过科学的过程策划、适当的人员配置和良好的工作环境的共同作用实现的。
由上面四点可以看出,软件企业的成功来自优异的软件开发过程,而优异的软件开发过程需要严格进行管理并不断改进。CMMI模型实质上是一种新兴的管理思想和方法,它蕴涵了“持续改进(Continuos Improvement)”管理思想。 这在它的5个分级中可以充分体现出来,从初始级开始,经过可重复级、已定义级、定量管理级,最后达到持续优化级,就是一步一个台阶通过持续改进而来。
在具体描述方面,CMMI等级3的组织过程聚焦和等级5的两个PA更是专门针对持续改进而设立的。
在CMMI等级3的“组织过程聚焦”过程方面规定了要定期识别过程改进的机会,并制定行动计划进行过程改进;而在CMMI等级5,则要求组织应进行革新和部署,不断选择改进目标,进行缺陷的原因分析和决定。此外在公共惯例GP3.2也规定了要收集策划和实施过程的工作产品信息、测量结果等改进信息,以支持将来利用和改进组织的过程和过程财富。
3.7 基于事实的决策方法—原则7
对数据和信息的逻辑分析或直觉判断是有效决策的基础。以事实为依据做决策,可防止决策失误。在对信息和资料做科学分析时,统计技术是最重要的工具之一。统计技术可用来测量、分析和说明产品和过程的变异性,统计技术可以为持续改进的决策提供依据。
CMMI有两个过程方面对此进行要求:“测量和分析”和“决策分析和决定”,它们比ISO9000:2000的规定要系统、详细的多。
对于统计技术,“测量和分析”SP1.4规定分析规程明确要求需充分应用统计技术展示和分析测量数据的分布及趋势,提供可用的数据测量、分析结果。同时SP2.3要求对数据和结果进行存储和管理,以供决策使用。
不但要有数据和分析结果,在CMMI的“决策分析和决定”过程方面还规定了基于事实和数据进行决策的方法和流程。这个过程方面可用于项目策划、技术方案决定、风险分析持续改进等具体的过程决策方面。同样也可以用此决策方法对质量管理所以活动进行决策,这些决策全部是建立在测量和分析基础上的。
GP3.2收集改进信息则是进行过程改进决策的基础。
3.8 互利的供方关系—原则8
通过互利的关系,增强组织及其供方创造价值的能力。供方提供的产品将对组织向顾客提供满意的产品产生重要影响,因此处理好与供方的关系,影响到组织能否持续稳定地提供顾客满意的产品。对供方不能只讲控制不讲合作互利,特别对关键供方,更要建立互利关系,这对组织和供方都有利。
CMMI通过“供方协定管理”(SAM)规定了与供方建立采购和外包的关系。SAM强调要识别采购或外包需要,选择和评价供方,与供方签订协议,执行供方协议,验收采购和外包产品,转移产品到项目中。这些内容和ISO9000:2000的7.4要求相差无几。
由上可见,CMMI包含了八项质量管理原则,表1列出了八项质量管理原则在CMMI中具体体现。
表1 八项质量管理原则和CMMI的对应关系
序号 |
八项质量管理原则 |
CMMI |
|
过程域 |
实践 |
||
原则1 |
以顾客为中心 |
需求管理 |
SP1.1求得对需求的理解 SP1.2求得对需求的承诺 SP1.3管理需求变更 |
需求开发 |
SP1.1导出需要 SP1.2转换需求 |
||
原则2 |
领导作用 |
所有过程域 |
GP2.1建立组织方针 GP2.3提供资源 GP2.4分配职责 GP2.10高层管理者审查状态 |
原则3 |
全员参与 |
组织培训 |
SP1.4建立培训能力 SP2.1交付培训 |
公共惯例 |
GP2.1建立组织方针 GP2.4分配职责 GP2.5培训人员 GP2.7确定相关的共利益者并使之介入 |
||
原则4 |
过程方法 |
组织过程定义 |
SP1.1建立标准过程 SP1.2建立生存周期模型描述 SP1.3制定剪裁准则和指南 |
组织过程性能 |
SP1.2建立过程性能度量项目 SP1.3建立质量和过程性能目标 SP1.4建立过程性能基线 SP1.2建立过程性能模型 |
||
公共惯例 |
GP2.1建立组织方针 GP2.2策划过程 GP2.3提供资源 GP2.4分配职责 GP2.5培训人员 GP2.8监督和控制过程 GP3.1建立已定义过程 GP2.9客观评价遵循状态 GP2.10高层管理者审查状态 |
||
原则5 |
管理的系统方法 |
公共惯例 |
GP2.1建立组织方针 GP2.2策划过程 GP2.6配置管理 GP2.8监督和控制过程 GP2.9客观评价遵循状态 GP2.10高层管理者审查状态 |
原则6 |
持续改进 |
组织过程聚焦 |
所有特定惯例 |
组织革新和部署 |
所有特定惯例 |
||
原因分析和决定 |
SP2.1实施措施建议 SP2.2评价变更效果 |
||
原则7 |
基于事实的决策方法 |
测量与分析 |
SP1.2规定测量项目 SP2.2分析测量数据 |
决策分析和决定 |
SP1.3建立评价准则 SP1.6选择解决方案 |
||
公共惯例 |
GP3.2收集改进信息 |
||
原则8 |
互利的供方关系 |
供方协定管理 |
所有特定惯例 |
4. 结
论ISO9000与CMMI都是企业质量管理和质量保证标准,二者在实质上是基本相同的,并且都强调过程控制、体系文档化、PDCA持续改进等。当一个组织实施其中一个标准时,其事实上也部分实施和满足了另一个标准的内容。但它们之间也存在着差别,对于一个软件组织,二者的主要特点及优劣为:ISO9000标准由于追求可通用于各个行业、各种规模、各种性质的组织,所以虽然对软件业同样适用,但由于软件业具有很多独特的特点,所以在具体实施上容易形成僵化和形式主义;而CMMI专门针对IT和软件行业制定,其标准描述、实施方式、相关要求均非常适合软件和集成产品的开发、生产流程,在IT项目的开发管理过程中更具有指导意义和实施效果。表2从整体上给出了两个标准主要几个方面的比较。
表2 ISO9000和CMMI比较
比较内容 |
2000版ISO/DIS9001 |
CMMI |
管理体系 |
强调完整的组织体系,可以用来建立符合ISO9000管理的组织管理 |
本身对管理体系没有明确要求,通过公共惯例体现公司的整体管理 |
管理职责 |
强调宏观上的管理职责 |
强调组织和项目管理中不同角色的职责 |
文件体系 |
分为组织层(规范)文件和项目层文件,并将文件体系化分为质量手册、程序文件和作业指导书,层次清楚 |
文件层次没有明确要求,所有文件同等对待 |
数据分析 |
宏观强调了数据分析、测量 |
有专门的数据分析PA,在等级4强调以数据实现定量管理 |
适用范围 |
所有行业,但对软件行业的适用性不够强,对企业规模无要求 |
软件企业,对于中小型软件企业需要进行裁剪 |
管理理念 |
以顾客满意为目标 |
评价承包商的软件成熟能力 |
配置管理 |
弱 |
强 |
需求管理 |
强调了合同评审,但对需求的管理很弱 |
对需求管理有很强的控制,但没有明确提出对合同评审进行控制 |
评审 |
有较强的管理评审,但对技术评审管理较弱 |
有较强的技术评审,和管理评审 |
沟通 |
强调内、外部沟通 |
强调内、外部沟通,并通过组间协调和共利益者介入来实现。 |
变更管理 |
弱 |
强,有专门的PA进行控制,包括技术变更和过程变更 |