【IT168 技术文章】
国际标准化组织(ISO)自1987年推出了ISO9000系列标准以来,很快得到了工业界的广泛承认,并被各国标准化机构所采用,在世界范围内形成"ISO9000现象"。一套国际标准,在如此短的时间内被众多国家采用,且影响如此广泛,是国际标准化史上从未有过的。那么,为什么ISO9000会有这么大的魔力呢?ISO9000起源于硬件,对软件是否适用呢?本文将回答这些问题。
一、实施ISO9000的有效性
ISO9000为企业提供了一种科学的质量管理和质量保证机制,然而企业的情况千差万别ISO9000是否对所有的企业都能产生同样的效果呢?为了回答这个问题,我们首先应了解ISO9000的作用。
对提供产品的企业而言,ISO9000的作用有两个方面,体现为企业内部和企业外部。在企业内部(管理职能),能够提高质量意识,建立保证质量的机制———质量体系;实现文件化管理,改善工作机制;改进效率,提高生产率。
在企业外部(保证职能),能够提高顾客的满意程度,赢得市场;便于与用户、中间商等合作、交流;能提高企业的宣传效果,扩大声誉。
从ISO9000所起的作用我们能够得出结论:若企业的管理机制健全、管理水平高,企业的声誉较高,其产品的市场占有率高,则实施ISO9000所起的作用就不大。反之,作用就大。通常一个企业的生产能力由其管理水平和技术水平两部分构成,ISO9000是管理标准,实施ISO9000只能提高它的管理水平,不能提高其技术水平。
技术水平分为三类:
一流是指产品质量(主要指其功能、性能和寿命)能完全满足顾客的要求。
一般是指基本上能够满足顾客的要求。
恶劣是指仅能满足部分顾客的要求。
管理水平分为三类:
优秀是指产品质量能完全满足价格、交货期和售后服务的要求。
一般是指基本能够满足价格、交货期和售后服务的要求。
薄弱是指价格高、交货期延迟、售后服务不周到。
通过对实施ISO9000有效性的分析,可以帮助企业选择实施ISO9000,同时也说明了ISO9000并不是功能较多的,它只是一套能帮助企业提高管理水平的国际规范。
二、软件企业实施ISO9000有效性最大
ISO9000起源于硬件产品,但它的应用并不限于硬件领域。ISO在制定ISO9000时就充分考虑了各行业及其产品的特点,在给出了通用工业领域应用标准之外,又分别针对不同行业制定了一些补充性标准和指南,其中ISO9000-3就是ISO9000在软件领域的补充性指南。在ISO9000-3的前言中对此是这样描述的:"软件的开发和维护过程不同于大多数其它工业产品,由于这一技术领域的迅速发展需要考虑其技术现状,有必要对涉及软件产品的质量体系提供补充性指南"。由此可见ISO9000已经为软件企业的应用提供了标准。
随着软件技术的发展,产生了一种新的不平衡,那就是软件企业的管理水平远远落后于技术水平,软件的大部分质量问题都是出在管理上。
据资料介绍,美国软件工程研究所开发了一个软件工程能力评估模型(SEI CMM),用于评估软件企业的综合能力,该模型将软件企业分为五级。
如果用这一模型对软件企业作一评估,大约有75%的软件企业处于第1级水平中,而第1级和第2级的要求大部分是管理问题。由此可见,软件企业的管理问题是非常薄弱的。加强管理已成为软件企业当前最为的迫切任务。采用一个科学、有效的管理方法是解决这一问题的最有效的途径。在此形势下,实施ISO9000则成为软件企业的第一选择,而大部分软件企业正好处于表1中的实施ISO9000有效性大的位置上。因此可以说,软件企业实施ISO9000的有效性最大。
当前,软件企业实施ISO9000已被一些有战略眼光的企业家所认识,已有一些软件企业已经或准备开始申请ISO9000质量体系认证。如此发展下去,ISO9000在软件领域的应用前景将会非常广阔。
三、软件企业应用ISO9000存在的误区
本文作者基于对ISO9000的认识和为软件企业实施ISO9000从事咨询工作的经验,分析了软件企业应用ISO9000时存在的误区,以利于企业走出误区,更好的应用ISO9000标准。
1.误区之一:ISO9000不适用于软件
我们在推广ISO9000的过程中,常听到一些软件界的人士说:"ISO9000是针对硬件产品的生产,不适合于软件"。这是一个认识上的问题,这种认识上的问题不解决,ISO9000就难以在软件企业中推广。
持这种观点的人可以说是不了解ISO9000,最多也只能算是一知半解。ISO9000确实是起源于硬件,但这里需要强调指出的是ISO9000既不是某一产品的产品标准,也不是某一领域的技术标准,而是指导企业建立、实施质量体系的管理标准。它具有两种主要职能,即管理和保证职能。它的管理职能是指通过按ISO9000的要求,建立和实施一个有效的质量体系,进而提高企业的管理水平;它的保证职能是指通过一个第三方机构,证实企业所建立的质量体系,并证明企业具有提供符合要求的产品的能力,从而向顾客或用户提供可信度。ISO9000将这两种职能有机结合起来,为企业提供了一个比较科学的管理和保证机制,它是任何企业都需要的。因此,ISO9000适用于所有的工业类型的企业。
同时,为了更好地在各个工业领域应用ISO9000,ISO/TC176(负责起草ISO9000的标准技术委员会)将工业产品分为四类,即硬件、软件、流程性材料和服务,这四种产品类型基本上覆盖了所有的生产类型,并在给出了通用标准的基础上,针对每类产品的生产特点,分别制定了相应的补充和支持标准,ISO9000-3(ISO9001在软件开发、供应和维护中的使用指南)就是其中之一。
因此,ISO9000不仅从原理和方法上适用于软件领域,而且还针对软件开发特点制定了相应的补充性指南,从而为软件企业更好地应用ISO9000提供了指导。
2.误区之二:软件企业难以实施ISO9000
我们在同软件界人士的交谈中,常常会有人提出这样的问题:"虽然说ISO9000的原理和方法适用于所有的工业领域,但由于软件开发的特殊性,软件企业很难实施ISO9000"。他们所说的软件开发的特殊性是指:软件开发根据项目设立,不存在完全相同的项目开发;软件项目有大有小,对于规模不同的项目如何实施ISO9000;软件开发进度难以估计,应用ISO9000会使工作量加大,从而导致进度拖延。
上述这些问题的确是软件企业实施ISO9000所遇到实际问题,但只要我们对ISO9000有了深入的了解,这些问题是不难解决的。首先ISO9000要求建立一个文件化的质量体系,这个体系要求全员参与,并明确各个岗位的职责,只能严格地按照文件规定的要求执行。对于每个软件项目的大小、规模不等这一特性,可以将软件作为一个具体的"产品"对待,至于这个产品所采用的开发过程如何,或者说采用了哪几个生存周期过程,则在体系中不作统一要求,完全可以根据该项目的大小、规模,并依据质量体系的原则要求确定。因此,"软件按项目开发及项目的大小、规模不同"完全不妨碍软件企业应用ISO9000,相反应用了ISO9000,项目管理更加科学、系统。至于说到项目的进度问题,应用ISO9000并不会造成进度拖延,相反会使项目拖延问题得到改善。这是因为造成进度拖延的主要原因是由于管理不善,没有严格地按照规定的要求去作,而应用ISO9000则能够解决管理上的漏洞,使项目拖延问题得到最大限度的改善。
3.误区之三:软件企业实施ISO9000的效果不理想
持这种观点的人认为:软件开发是高度知识密集型的工作,是开发人员的智力创作,对开发人员的知识和技术水平要求较高。实施ISO9000能否达到预期的效果,即保证软件企业具有开发出符合要求的软件产品的能力?
这个问题的核心是标准有没有对软件开发人员的技术水平的要求。ISO9000确实没有对此提出要求,而软件开发确实与开发人员的技术水平密切相关,但这并不是质量体系所能解决的,因而并不妨碍ISO9000在软件企业的应用效果。因为只要我们将ISO9000要求同美国软件工程研究所制定的评估软件开发能力的模型(SEI CMM)对比,就会发现SEI CMM中规定的五级水平的第1级和第2级基本上都是管理上的要求,也就是说按ISO9000要求去作的软件企业能够达到SEI CMM所规定的第2级以上的水平。当然,要想达到更高级的要求,也必须满足这些基本要求,或者说ISO9000是软件企业达到高级水平所必须的。因此,我们虽然不能说应用了ISO9000的企业就具有了开发出符合要求的软件产品的能力,但却可以说软件企业要想具有开发出符合要求的软件产品,应用ISO9000则是其非常好的选择。
除了上述的三个误区之外,软件企业对ISO9000的误解还有许多,比如说,我接待了这样一位咨询者,他说国内某公司自国外某公司购买软件,国外这家公司竟以软件是按ISO9000标准开发的而索要高价。显然这个说法是错误的,其错误是将ISO9000误解为产品标准。像这样的例子还有很多,在此不一一列举。希望通过上述几个典型的例子帮助软件界人士正确认识ISO9000的作用。