基于ISO9000、CMMI、六西格玛软件质量度量及其保证的分析与比较

来源:互联网 发布:c语言指针作为形参传值 编辑:程序博客网 时间:2024/05/01 12:00

1  引  言

质量是任何一个产品赖以生存的基础,软件产品也不例外。但是软件产品作为一个知识和智力型的特殊产品,相对其他的物质产品而言具有许多的特殊性,尤其是软件产品的开发和生产处处体现出人脑工程的特点,从而给软件的质量度量和保证带来了很大的困难。长期以来人们始终在不断的研究和探索,试图在软件质量度量和保证方面能有所突破,但由于软件技术的快速发展,对软件产品本身的质量控制技术还存在着许多的不确定性,但是针对软件开发过程和组织的质量度量和保证已经形成了一整套理论和体系,并产生了相应的国际标准和业界标准,如ISO9000、CMMI、六西格玛、SPICE、IEEE/EIA 12207、MIL-STD-498等。这些标准的使用对于提高软件产品的质量、降低软件开发成本、缩短软件开发周期是非常重要的,而且对于加强软件企业的规范化管理、提升软件企业的核心竞争力也是十分有意的。

2  ISO9000、CMMI和六西格玛

2.1  ISO9000

ISO9000系列标准是指国际标准化组织中质量管理和质量保证技术委员会制定的所有标准。自1987年发布以来,又陆续发布了十几个相关标准和指南,形成了质量管理和质量保证标准体系,得到了世界各国的广泛采用和实施。这些标准和指南可分为质量术语标准、质量保证标准、质量管理标准、质量管理和质量保证标准的选用和实施指南和支持性技术标准。

其中,ISO9000软件质量标准系列为:ISO9001、ISO9000-3、ISO9004-2、ISO9004-4、ISO9002。ISO9001是ISO9000系列标准中软件机构推行质量认证工作的一个基础标准,是在软件设计、开发、生产、安装和维护时质量保证的参考文件。它于1994年由国际标准化组织公布,我国已及时将其转换为国家推荐标准,编号为:GB/T 19001—1994 ;ISO9000-3是对ISO90001进行改造后,将其应用到软件工业中对软件开发、供应和维护活动的指导文件; ISO9004-2是指导软件维护和服务的质量系统标准,指导和支持软件产品的维护;ISO9004-4是近年公布的很有用的附加标准,是用来改善软件质量的质量管理系统文件。 

2.2  集成能力成熟度模型(CMMI)

CMMI的全称是Capability Maturity Model Integration,即软件集成能力成熟度模型,是由美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制的。

由美国卡内基-梅隆大学软件工程研究所SEI(Software Engineering Institute)所推出的软件能力成熟度模型(the Capability Maturity Model for Software, 简称CMM)的成功,导致了各种模型的衍生,如软件过程能力成熟度模型(SW-CMM, Capability Maturity Model for software),软件人员能力成熟度模型(P-CMM, People Capability Maturity Model),软件产品能力成熟度模型(SA-CMM),系统工程能力成熟度模型(SE-CMM, Systems Engineering Capability Maturity Model),集成产品开发能力成熟度模型(IPD-CMM, Integrated Product Development Capability Maturity Model)等。由于这些模型分别针对软件开发过程的不同领域、不同阶段、不同对象进行相应的评估和管理,各模型内容上的重叠部分和在模型构架与指导原则的差异使得在同一个集成过程中使用两个或两个以上的模型变的十分困难。为改变这种情况,在CMM基础上融合其他相关模型从而产生了集成能力成熟度CMMI。

现在业界使用的CMMI模型是2002年发布的1.1版本系列,如CMMI-SE/SW/IPPD/SS,CMMI-SE/SW/IPPD, CMMI-SE /SW,CMMI-SW等。CMMI在支持软件开发过程和产品的改进和提高的同时,尽量减少重复和冗余,消除分别单独使用各个模型所产生的不一致性和潜在的混乱性,为现存CMM模型以及各模型的产品与它们应用在不同领域的工作提供了一个保持一致性的构架,使不同的能力成熟度模型协调、高效地集成在一个新的模型中使用。

CMMI模型中,最基本的概念是过程域。 CMMI项目首先在软件和系统工程之间实现了较高的集成性,产生了一个公共的过程域集合。随着研究的深入,过程域在不同学科之间的这种公共性越来越明显,因而CMMI也就渐渐形成了一些非常具有通用性的工程过程域。

2.3  六西格玛

六西格玛(Six Sigma)管理法是一种以数据为基础,追求几乎完美的质量管理方法。统计学用西格玛(希腊字母σ的中文译音)来表示标准偏差,即数据的分散程度。对连续可计量的质量特性,用"σ"度量质量特性总体上对目标值的偏离程度。六个西格玛可解释为每一百万个机会中有3.4个出错的机会,即合格率是99.99966%

六西格玛管理法是全面质量管理的继承和发展,其核心是,将所有的工作作为一种流程,采用量化的方法分析流程中影响质量的因素,找出最关键的因素加以改进从而达到更高的客户满意度,即采用其DMAIC模型对组织的关键流程进行改进。这个模型的五个阶段分别是:D(定义)、M(评估)、A(分析)、I(改进)、C(控制),与其他许多改进方法一样,DMAIC模型也是建立在PDCA循环的基础上的。而DMAIC又由下列四个要素构成:最高管理承诺、有关各方参与、培训方案和测量体系。因此,六西格玛管理法为组织的质量管理工作带来了一个新的、垂直方法体系。

现在,六西格玛以自己的质量活动基础,将概念和工具映射到软件系统开发的各个方面,如:传统的瀑布模型、快速应用开发、原型法、遗留系统的支持等等,改进了软件过程,从而提高了软件质量。

3  ISO9000、CMMI和六西格玛的比较

1.1 ISO9000质量体系与CMMI

 

    随着软件质量管理和认证工作在中国IT 业的开展,软件企业的管理者和工程师更加需要深入的理解ISO9000 和CMMI,从而引导企业建立标准化的生产过程和管理过程,进行软件过程和软件质量的度量等等。

ISO9000质量体系与CMMI,都共同着眼于质量和过程管理,两者都为了解决同样的问题。从一方面说他们是相互联系、相互补充的。两者都吸收了现代质量管理理论,都以“过程思维”为指导。ISO9001 中的质量要素都可以对应到CMMI中关键过程区域特征上,而CMMI在生产过程中的管理重点,又弥补了ISO9001 在微观管理上的不足。但是它们的基础是有差异的:ISO9001确定一个质量体系的最少需求,而CMMI模型更在注重持续过程改进。而且,ISO9001只建立了一个可接受水平,而CMMI是一个具有五个水平的评估工具。所以,在建立企业标准时,可以综合考虑ISO9000 和CMMI的质量管理要求,使两者都能更好的发挥各自的优势。

3.2  ISO9000标准和六西格玛

    ISO9000和六西格玛之间无论经营观念、管理体系,还是管理决策,都不可替换,对于组织质量管理工作而言,所起的作用也是各有千秋。

首先,ISO9000族标准为组织的质量管理工作提供了一个基础平台,而六西格玛管理法给组织的质量管理工作带来了一个新的、垂直的方法体系。其次,通过ISO9000认证只能证明该组织已经具备保证本组织生产或提供服务达到国际基本标准的能力,但能否长期保持,还需采用一些有效的质量管理方法,以确保组织质量得到持续改进。而六西格玛管理就是一种非常优秀的方法,可以说二者是互相补充的。 

3.3  CMMI和六西格玛

    CMMI和六西格玛有许多相似之处,但也有重要的差别。

首先,CMMI是一个只应用于软件过程的特殊的质量活动,而六西格玛是在整个公司上实现并用来改进所有过程的。在降低偏差、量化性能、改进过程方面,CMMI可以看作是六西格玛的一个子集。其次,由于六西格玛强烈的以客户为中心,更加强调协同工作和基于事实做决策,所以可以更好的保证处理问题的正确性。在实践中,如果能实现CMMI与多种方法的结合,将会发挥出更强大的作用。

4  结  论

软件产业是一个新兴的朝阳产业。为了应对我国日益增大的软件需求和巨大的国际市场发展空间,国家特别出台一系列鼓励发展软件产业的政策,一大批软件企业应运而生。但是由于许多的软件企业缺乏系统的、规范的管理,只注重软件技术的开发、人才的引进、市场的拓展,而忽略了组织的管理与协调、过程的控制和管理、质量的控制和评测,从而导致软件开发周期长、成本高、质量差,缺乏市场竞争力,特别是一些中小软件企业和新成立的软件企业。所以引进、借鉴、学习国内外成功软件企业的经验,在软件企业倡导和推行ISO 9000 或CMMI,建立规范的质量保证体系,结合六西格玛管理的实施,推进和加强质量管理是非常必要的。这将有助于软件企业开发出高水平的软件产品,建立规范、科学的管理体系,使软件企业在日趋激烈的市场竞争中获得持续而稳定的发展。

0 0