![发贴心情](skins/new_year/topicface/face1.gif)
先回答第一个问题:
什么是ISO9000?
ISO9000不是指一个标准,而是一族标准的统称。 “ISO9000族标准”指由ISO/TC176制定的所有国际标准。 什么叫TC176呢?TC176即ISO中第176个技术委员会,全称是“质量保证技术委员会”,1987年更名为“质量管理和质量保证技术委员会”。TC176专门负责制定质量管理和质量保证技术的标准。
ISO/TC176早在1990年第九届年会上提出的《90年代国际质量标准的实施策略》中,即确定了一个宏伟的目标:“要让全世界都接受和使用ISO9000族标准,为提高组织的运作能力提供有效的方法;增进国际贸易,促进全球的繁荣和发展; 使任何机构和个人,可以有信心从世界各地得到任何期望的产品,以及将自己的产品顺利销往世界各地。”
为此,ISO/TC176决定按上述目标,对1987版的ISO9000族标准分两个阶段进行修改:第一阶段在1994年完成,第二阶段在2000年完成。
1994版ISO9000标准已被采用多年,其中如下三个质量保证标准之一通常被用来作为外部认证之用:
1. ISO9001:1994《质量体系 设计、开发、生产、安装和服务的质量保证模式》,用于自身具有产品开发、设计功能的组织;
2. ISO9002:1994《质量体系 生产、安装和服务的质量保证模式》,用于自身不 具有产品开发、设计功能的组织;
3.ISO9003:1994《质量体系 最终检验和试验的质量保证模式》,用于对质量保证能力要求相对较低的组织。
注:ISO9001:1994标准将质量体系划分为20个要素(即标准中的“质量体系要求”)来进行描述,ISO9002标准比ISO9001标准少一个“设计控制”要素。
2000年12月15日,2000版的ISO9000族标准正式发布实施,2000版ISO9000族国际标准的核心标准共有四个:
1、ISO9000:2000 质量管理体系——基础和术语;
2、ISO9001:2000 质量管理体系——要求;
3、ISO9004:2000 质量管理体系——业绩改进指南;
4、ISO19011:2000质量和环境管理体系审核指南。
上述标准中的ISO9001:2000《质量管理体系—要求》通常用于企业建立质量管理体系并申请认证之用。它主要通过对申请认证组织的质量管理体系提出各项要求来规范组织的质量管理体系。主要分为五大模块的要求,这五大模块分别是:质 量管理体系、管理职责、资源管理、产品实现、测量分析和改进。其中每个模块中又分有许多分条款。 随着2000版标准的颁布,世界各国的企业纷纷开始采用新版的ISO9001:2000标准申请认证。国际标准化组织鼓励各行各业的组织采用ISO9001:2000标准来规范组织的质量管理,并通过外部认证来达到增强客户信心和减少贸易壁垒的作用。
SQA到底是什么?
作者:贺庆
一、 前言
本人在企业从事SQA工作,同时兼任SEPG的工作进行基于CMM3的过程改进,在实践过程中,对SQA的工作有了较多的想法和认识。本文是个人看法,请大家指教.
二、SQA的理论探索
2.1、过程的 认识
我们都知道一个项目的主要内容是:成本、进度、质量;良好的项目管理就是综合三方面的因素,平衡三方面的目标,最终依照目标完成任务。项目的这三个方面是相互制约和影响的,有时对这三方面的平衡策略甚至成为一个企业级的要求,决定了企业的行为,我们知道IBM的软件是以质量为最重要目标的,而微软的“足够好的软件”策略更是耳熟能详,这些质量目标其实立足于企业的战略目标。所以用于进行质量保证的SQA工作也应当立足于企业的战略目标,从这个角度思考SQA,形成对SQA的理论认识。
软件界已经达成共识的:影响软件项目进度、成本、质量的因素主要是“人、过程、技术”。首先要明确的是这三个因素中,人是第一位的。
现在许多实施CMM的人员沉溺于CMM的理论过于强调“过程”,这是很危险的倾向。这个思想倾向在国外受到了猛烈抨击,从某种意义上各种敏捷过程方法的提出就是对强调过程的一种反思。 “XP”中的一个思想“人比过程更重要” 是值得我们思考的。我个人的意见在进行过程改进中坚持“以人为本”,强调过程和人的和谐。
根据现代软件工程对众多失败项目的调查,发现管理是项目失败的主要原因。这个事实的重要性在于说明了“要保证项目不失败,我们应当更加关注管理”,注意这个事实没有说明另外一个问题“良好的管理可以保证项目的成功”。现在很多人基于一种粗糙的逻辑,从一个事实反推到的这个结论,在逻辑上是错误的,这种错误形成了更加错误的做法,这点在SQA的理解上是体现较深。
如果我们考证一下历史的沿革,应当更加容易理解CMM的本质。CMM首先是作为一个“评估标准”出现的,主要评估的是美国国防部供应商保证质量的能力。CMM关注的软件生产有如下特点:
质量重要
规模较大
这是CMM产生的原因。它引入了“全面质量管理”的思想,尤其侧重了“全面质量管理”中的“过程方法”,并且引入了“统计过程控制”的方法。可以说这两个思想是CMM背后的基础。
上面这些内容形成了我对软件过程地位、价值的基本理解;在这个基础上我们可以引申讨论SQA。
2.2、生产线的隐喻
如果将一个软件生产类比于一个工厂的生产。那么生产线就是过程,产品按照生产线的规定过程进行生产。SQA的职责就是保证过程的执行,也就是保证生产线的正常执行。
抽象出管理体系模型的如下,这个模型说明了一个过程体系至少应当包含“决策、执行、反馈”三个重要方面。
QA的职责就是确保过程的有效执行,监督项目按照过程进行项目活动;它不负责监管产品的质量,不负责向管理层提供项目的情况,不负责代表管理层进行管理,只是代表管理层来保证过程的执行。
2.3、SQA和其他工作的组合
在很多企业中,将SQA的工作和QC、SEPG、组织级的项目管理者的工作混合在一起了,有时甚至更加注重其他方面的工作而没有做好SQA的本职工作。
根据hjhza 的意见“中国现在基本有三种QA(按照工作重点不同来分):一是过程改进型,一是配置管理型,一是测试型”。我个人认为是因为SQA工作和其他不同工作组合在一起形成的。
下面根据本人经验对它们之间的关系进行一个说明。
2.4、QA和QC
两者基本职责
QC:检验产品的质量,保证产品符合客户的需求;是产品质量检查者;
QA:审计过程的质量,保证过程被正确执行;是过程质量审计者;
注意区别检查和审计的不同
检查:就是我们常说的找茬,是挑毛病的;
审计:来确认项目按照要求进行的证据;仔细看看CMM中各个KPA中SQA的检查采用的术语大量用到了“证实”,审计的内容主要是过程的;对照CMM看一下项目经理和高级管理者的审查内容,他们更加关注具体内容。
对照上面的管理体系模型,QC进行质量控制,向管理层反馈质量信息;QA则确保QC按照过程进行质量控制活动,按照过程将检查结果向管理层汇报。这就是QA和QC工作的关系。
在这样的分工原则下,QA只要检查项目按照过程进行了某项活动没有,产出了某个产品没有;而QC来检查产品是否符合质量要求。
如果企业原来具有QC人员并且QA人员配备不足,可以先确定由QC兼任QA工作。但是只能是暂时的,独立的QA人员应当具备,因为QC工作也是要遵循过程要求的,也是要被审计过程的,这种混合情况,难以保证QC工作的过程质量。
2.5、QA和SEPG
两者基本职责
SEPG:制定过程,实施过程改进;
QA: 确保过程被正确执行
SEPG应当提供过程上的指导,帮助项目组制定项目过程,帮助项目组进行策划;从而帮助项目组有效的工作,有效的执行过程。如果项目和QA对过程的理解发生争持,SEPG作为最终仲裁者。为了进行有效过程改进,SEPG必须分析项目的数据。
QA本也要进行过程规范,那么所有QA中最有经验、最有能力的QA可以参加SEPG,但是要注意这两者的区别。
如果企业的SEPG人员具有较为深厚的开发背景,可以兼任SQA工作,这样利于过程的不断改进;但是由于立法、执法集于一身也容易造成SQA过于强势,影响项目的独立性。
管理过程比较成熟的企业,因为企业的文化和管理机制已经健全,SQA职责范围的工作较少,往往只是针对具体项目制定明确重点的SQA计划,这样SQA的审计工作会大大减少,从而可以同时审计较多项目。
另一方面,由于分工的细致化,管理体系的复杂化,往往需要专职的SEPG人员,这些人员要求了解企业的所有管理过程和运作情况,在这个基础上才能统筹全局的进行过程改进,这时了解全局的SQA人员就是专职SEPG的主要人选;这些SQA人员将逐渐的转化为SEPG人员,并且更加了解管理知识,而SQA工作渐渐成为他们的兼职工作。
这种情况在许多CMM5企业比较多见,往往有时看不见SQA人员在项目组出现或者很少出现,这种SEPG和SQA的融合特别有利于组织的过程改进工作。SEPG确定过程改进内容,SQA计划重点反映这些改进内容,从保证有效的改进,特别有利于达到CMM5的要求。从这个角度,国外的SQA人员为什么高薪就不难理解了,也决定了当前中国SQA人员比较被轻视的原因;因为管理过程还不完善,我们的SQA人员还没有产生这么大的价值嘛!
2.6、QA和组织级的监督管理
有的企业为了更好的监督管理项目,建立了一个角色,我取名为“组织级的监督管理者”,他们的职责是对所有项目进行统一的跟踪、监督、适当的管理,来保证管理层对所有项目的可视性、可管理性。
为了有效管理项目,“组织级的监督管理者”必须分析项目的数据。
他们的职责对照上图的模型,就是执行“反馈”职能。
QA本身不进行反馈工作,最多对过程执行情况的信息进行反馈。
SQA职责最好不要和“组织级的项目管理者”的职责混合在一起,否则容易出现SAQ困境:一方面SQA不能准确定位自己的工作,另一方面过程执行者对SQA人员抱有较大戒心。
如果建立了较好的管理过程,那么就会增强项目的可视性,从而保证企业对所有项目的较好管理;而QA来确保这个管理过程的运行。
三、SQA的工作内容和工作方法
3.1、 计划
针对具体项目制定SQA计划,确保项目组正确执行过程。制定SQA计划应当注意如下几点:
有重点:依据企业目标以及项目情况确定审计的重点
明确审计内容:明确审计哪些活动,那些产品
明确审计方式:确定怎样进行审计
明确审计结果报告的规则:审计的结果报告给谁
3.2、审计/证实
依据SQA计划进行SQA审计工作,按照规则发布审计结果报告。
注意审计一定要有项目组人员陪同,不能搞突然袭击。双方要开诚布公,坦诚相对。
审计的内容:是否按照过程要求执行了相应活动,是否按照过程要求产生了相应产品。
3.3、问题跟踪
对审计中发现的问题,要求项目组改进,并跟进直到解决。
四、SQA的素质
过程为中心:应当站在过程的角度来考虑问题,只要保证了过程,QA就尽到了责任。
服务精神:为项目组服务,帮助项目组确保正确执行过程
了解过程:深刻了解企业的工程,并具有一定的过程管理理论知识
了解开发:对开发工作的基本情况了解,能够理解项目的活动
沟通技巧:善于沟通,能够营造良好的气氛,避免审计活动成为一种找茬活动。