软件企业ISO9000质量体系与CMM的比较分析 一、简介 美国软件工程研究所(SEI)开发的软件成熟度模型和国际标准化组织(ISO)开发的ISO9000标准系列,都共同着眼于质量和过程管理。两者都为了解决同样的问题,直观上是相关的。但是它们的基础是不同的:ISO9001(ISO9000标准系列中关于软件开发和维护的部分)确定一个质量体系的最少需求,而CMM模型强调持续过程改进。当然,这种陈述有点主观性,一些国际标准团体坚持,如果深入地读ISO9001,而不停留在表面,ISO9001的确解决持续过程改进的问题。例如,矫正行为可以被解释成持续的改进。然而,CMM模型比ISO9001更明确地致力于持续过程改进的问题。 通过将ISO9001的条款映射到CMM模型的关键实践,下面将说明两者如何相关。这种映射基于ISO9001,ISO90003,Ticklt(一种使用ISO9001和ISO90003的英国指导读本)和Ticklt培训材料。ISO90003是ISO9001的详细阐述,而Ticklt培训材料帮助解释ISO90003和ISO9001。 本文讨论下列经常问到的问题,包括: middot;遵循ISO9001的机构将处于CMM模型的哪一个等级? middot;第2(或第3)等级的机构可以被认为遵循了ISO9001标准了吗? middot;软件质量管理和过程改进能力应该基于ISO9001标准还是CMM模型吗? 我们将ISO9001的20个条款映射到CMM模型关键实践的子实践层次。诚然,这种分析是主观性的mdash;mdash;其他人可能对ISO9001和CMM模型有不同的解释(事实上,对于基于CMM模型评估和ISO9001认证,可靠的、一致的解释和评估都是一个挑战)mdash;mdash;但是幸运的是这里有足够的客观性,使得这种分析对于理解ISO9001认证怎样适用于持续质量改进策略有些帮助。 二、ISO9000标准概述 最初的软件质量保证系统是在70年代由欧洲首先采用的,其后在美国和世界其他地区也迅速地发展起来。目前,欧洲联合会积极促进软件质量的制度化,提出了如下ISO9000软件标准系列:ISO9001、ISO90003、ISO90042、ISO90044、ISO9002。这一系列现已成为全球的软件质量标准。除了ISO9000标准系列外,许多工业部门、国家和国际团体也颁布了特定环境中软件运行和维护的质量标准,如:IEEE标准7291983、7301984、EuroNormEN45012等。 由于软件开发与一般产品制造有显著的差别,因此必须注意软件过程的特点,为了表明制造业和软件业的差别,通过下图给出了两种产业活动的形象对比。 制造业: 由此可以看出制造业或硬件的质量问题主要反映在生产和储运过程中,而软件的质量问题主要来自开发过程。所以,ISO9000国际标准在软件中的应用主要体现在以下内容: (1)ISO9001质量体系是在软件设计、开发、生产、安装和维护时的质量保证的参考文件。此标准应用于所有软件产品和满足各种技术需求的软件维护活动中。它是评价软件质量的首要标准。 (2)ISO90003是对ISO90001进行改造后,将其应用到软件工业中对软件开发、供应和维护活动的知道文件。 (3)ISO90042是指导软件维护和服务的质量系统标准。它指导和支持软件产品的维护。 (4)ISO90044是近年公布的很有用的附加标准,是用做改善软件质量的质量管理系统文件。 另外还有两个作为评价软件的标准:(1)ISO9002适用于评价设计需求。此标准可以代替ISO9001,作为面向软件维护而不涉及设计的,为某些咨询公司、计算机培训及服务公司使用的基本标准。(2)ISO9003适用于汇编及测试运行情况的标准。目前已经不再使用。 三、ISO9001标准条款到CMM模型的映射 标出强相关性的列表示相关性较直接的关键过程区域和共同特征。标着判断相关性的列,包括在确定合理相关性时,需要一定程度主观性理解的关键过程区域和共同特征。 ISO9001条款强相关性判断相关性 1、管理职责履行的承诺软件项目规划软件项目追踪和监督软件质量标准履行的能力实现矫正软件质量管理 2、质量体系实现矫正软件项目规划软件质量标准软件产品工程组织工程定义 3、合同评估需求管理软件项目规划软件子合同管理 4、设计控制软件项目规划软件项目追踪和监督软件配置管理软件产品工程软件质量管理 5、文档和数据控制软件配置管理软件产品工程 6、采购软件子合同管理 7、客户供货产品的控制软件子合同管理 8、产品确认和追踪软件配置管理软件产品工程 9、工程控制软件项目规划软件质量帮助软件产品工程定量工程管理技术改变管理 10、检查和测试软件产品工程伙伴审查 11、检查控制、度量和测试设备软件产品工程 12、检查和测试状态软件配置管理软件产品工程 13、不合格产品的控制软件配置管理软件产品工程 14、矫正和预防措施软件质量保证软件配置管理缺陷预防 15、处理、储藏、包装、保存和分发软件配置管理软件产品工程 16、质量数据控制软件配置管理软件产品工程、伙伴审查 17、内部质量审计实现检验、软件质量保证 18、培训履行的能力、培训计划 19、服务 20、统计技术度量和分析机构过程定义定量过程管理软件质量管理 虽然ISO9001中的一些问题没有被CMM模型履盖,反过来也一样;详细程度也有很大的不同:ISO9001的第4部分有五页;ISO90003的第5、第6和第7部分有11页,而CMM模型超过500页,但是,ISO9001和CMM模型之间的相关性还是很明显的。 如表1所示,ISO9001条款在CMM模型的关键过程区域中没有强相关性,没有在CMM模型中解决的是客户供货产品的控制(7)和处理、储藏、包装、保存和分发15)。ISO9001条款,CMM模型所完全没有解决的是服务(19)。ISO9001条款与CMM模型的判断相关性具有相当主观性的是矫正和预防活动。 两个文档的最大不同是CMM模型明确强调持续的过程改进。ISO9001只解决质量体系的最小的保证。另一个不同是CMM模型只关注软件,而ISO9001有更大的范围包括硬件、软件和服务。 两个文档的最大相似是它们的底线:ldquo;说你想做的;做你想说的。rdquo;ISO9001的基本假设是机构应该通过质量控制活动,归档每个重要过程和检查每个重要过程。CMM模型也强调文档化的过程和文档化的设计。ldquo;按文档化的程序rdquo;和遵循ldquo;书面形式的机构政策rdquo;是CMM模型关键过程区域的特征。在一个更详细的层次上,ISO9001的一些条款可以很容易地映射到与它们相当的CMM实践。因为两个文挡的结构是不同,所以其他的相关性映射是多对多的方式。例如,ISO9001培训条款(18)同时映射到培训计划关键过程区域和所有关键过程区域中的培训熟悉实践。 四、遵循ISO9001与CMM模型的关系 乍看,获得ISO9001认证的机构将处于CMM模型的第3或第4等级。事实上,一些第1等级的机构也以获得了ISO9001认证。这种差异的一个原因是ISO9001的高度抽象性,导致审计员以不同的方式解释。如果审计一个经过TickIt培训的机构处于第3等级,ISO9001的设计评估将直接映射到CMM模型的对等评估。不过并不是所有的审计员都对软件开发很熟悉。TickIt的优点在于它培训审计员理解怎样在软件行业应用ISO9001。 我们可以注意到: (1)第2等级的大多数关键过程区域都与ISO9001强烈相关。 (2)每个关键过程区域在某些解释下至少与ISO9001弱相关。 在这个基础上,一个被评估为第1等级的机构可以被认证为遵循了ISO9001。然而,那个机构必须具有第2等级的重要过程实力和一定的第3等级过程实力。如果一个机构遵循ISO9001的精神,它将接近或超过第2等级。然而,机构在基于CMM模型的评估时可能发现存在严重的问题,而在ISO9001审计是却没有发现。 虽然SWCMM模型并不足够地解决某些特殊问题,一般说来,它包含了ISO9001的关注点。反过来,却不正确。ISO9001仅仅描述了质量管理体系的最小准则,而不是解决整个过程改进,虽然ISO9001的未来修订版可能会关注这个问题。这些区别已经足够使一个严格的映射变得不切实际,但是它们的相似性反映了二者是高度重叠的。 五、结论 下面是本文开始所列的三个问题的回答: (1)严格遵循ISO9001的机构并不满足CMM模型第2等级的所有关键过程区域,但它满足第2等级的大部分目标和许多第3等级的目标。更进一步,因为ISO9001并不关注所有的CMM模型实践,一个第1等级的机构可能获得ISO9001认证。 (2)一个第2等级(或第3)等级的机构将能被认为遵循ISO9001,但是即使是第3等级的机构也需要保证它恰当地解决了ISO9001关于分发和安装的4。15条款,它还将考虑到ISO90003中关于所使用软件产品的6。8条款。如果考虑到这些,处于第2或更高等级的机构,将相对很容易地获得认证。 (3)对于软件过程改进应该基于CMM模型还是ISO9001。简短的回答是一个机构应该同时考虑两者,虽然两者有很大程度的重叠。市场运作需要获得ISO9001认证;解决CMM模型所关注的问题,将帮助机构准备ISO9001审计。相反,处于第1等级的机构如果解决ISO9001所关注的问题,也可能获得ISO9001认证,个人认为,虽然两者都可以单独使用来设计一个过程改进计划CMM模型给出更详细的指导,这将是一个更好的选择。 在任何情况下,软件机构应该关注于过程改进,建立竞争优势,而不是获得分数mdash;mdash;不管是成熟度等级还是ISO9001认证。 企业取得ISO认证的必要性 随着我国改革开放的不断深入,面对激烈的市场竞争,越来越多的企业均会遇到客户对制造供应商进行综合评估的问题。评估内容中,考察供应商是否通过ISO9000质量体系标准的认证是一个极为重要的标志。取得ISO认证已逐渐就在了客户的要求,很多客户将其看作是一种给予他们信心的质量标准。ISO认证已变成了产品进入市场的通行证和出口业务的产品护照。 ISO9000质量系列标准的建立给企业提出了进步的目标,它能改善和促进公司内各部部门之间的接触和合作,如何坚持原则按标准去做,逐步摒弃ldquo;我们以前就是那么做的rdquo;、ldquo;客户以前都接受的rdquo;、ldquo;零件还能工作rdquo;之类的借口和观念。因为在ISO9000质量系列标准中,这些回答都是不能接受的。ISO9000所推行的是一个标准,建立的是一个系统,争取达到的是一个目标。ISO9000质量系列标准的认证价值在于提高公司在全球的竞争力,是企业的自身需要。 如何取得ISO认证? 需申请认证的组织根据ISO的标准,建立完善的程序文件,按照文件规定运行23个月,由已取得资格的内审员进行内部审核,确认整套体系正常运行以后,申请外部审核,审核通过后,获得证书。 内审员简介 随着质量认证事业的发展,各企业单位纷纷建立了自己的质量管理体系,并谋求获得第三方认证注册的资格。同时各企业在内部都制订了内部质量审核的程序,经常开展质量审核工作,不断自我完善质量管理体系,改进产品质量。从事该类工作的人就称为内部质量体系审核员(简称内审员)。 内审员所从事的主要工作是对本单位的质量体系进行审核,即所谓第一方审核,内审员也常常担任对分承包方的质量体系进行第二方审核。因此内审工作很大程度上取决于内审员的素质。可见内审员的培训是一项重要的工作。应在组织内与质量管理有关的部门中选择一批熟悉组织的业务、了解质量管理的基本知识、有定的学历和工作经验、有交流表达能力和正直的人员进行培训,使之成为质量体系内部审核员。内审员要有一定的数量,足以应付例行的特殊的内部质量体系审核的业务,还要考虑派往本组织的供方去作第二方审核。人员的分布也要适当分散,不可全部集中在质量管理部门。因为当审核到质管部门时,这些质管部门中的内审员均不得参与,因此必须从其他部门派遣内审员。一般情况下最好在采购、销售、技术、检验和生产部门中均能培养若干名兼职内审员供工作需要之用。所有内审员需经一定的培训,由权威机构评估、审核合格后,由组织领导正式任命,授予进行审核的权力。 内审员在一个组织内对质量体系的正常运行和改进起着重要的作用。这种作用表现在下列几个方面: 一、质量体系的运行需要持续地进行监控,对质量体系的运行起监督作用 二、在内部审核时,对质量体系的保持和改进起参谋作用 三、内审员在内部审核中与各部门的职工群众有着广泛的交流和接触。在质量管理方面起沟通领导与群众之间的渠道和纽带作用 四、在第二、三方审核中起内外接口的作用 五、内审员一般在企业的各部门都有自己的本职工作,在质量体系的有效实施方面起带头作用