QA(质量保证)概述
QA概述
QA(QUALITYASSURANCE,中文意思是“品质保证”,其在ISO8402:1994中的定义是“为了提供足够的信任表明实体能够满足品质要求,而在品质管理体系中实施并根据需要进行证实的全部有计划和有系统的活动”。有些推行ISO9000的组织会设置这样的部门或岗位,负责ISO9000标准所要求的有关品质保证的职能,担任这类工作的人员就叫做QA人员.
基本简介
无论是ISO9000还是CMMI,都是以过程为中心。也就是说,通过过程的持续改进来提高产品质量。而过程质量与产品质量如何正向关联呢?就需要质量保证(QA)。这也是ISO9000和CMMI都很推崇的方法。但从国内软件企业的现状来看,很多企业的过程体系都相差无几,而开发出来的产品质量却千差万别。导致这种差别的原因有很多,过程及其执行方式的生搬硬套就是其中很重要的原因之一。
在建立QA组织的时候,多数企业也这样实行“拿来主义”。就像看着别人穿着一双非常漂亮的鞋,就想拿过来自己穿,一般都不会适合自己。其结果要么是打肿脚穿大鞋,要么是削足适履,效果可想而知。我们应该做的是“量脚买鞋”、“量体裁衣”。QA组织的建立也一样,应先了解企业的文化、可获得的资源以及过程成熟度水平等,再据此选择适宜的QA组织。下面我们就从一个动态的视角来探讨QA组织的建立。
建立组织结构
建立一个组织,首先需要考虑的是它的组织结构。组织结构不仅在很大程度上决定了岗位的职责,而且还决定了资源如何配置。按照国内多数企业的做法,QA组织结构可划分为三类:职能结构、矩阵结构以及两者结合而成的柔性结构。A、职能结构
在职能结构中,各个职能部门设立自己的QA岗位,位于高级经理之下,独立于项目组。QA直接对高级经理负责,但业务上需要向项目经理汇报,属于项目成员。如图1所示。这种组织结构的优点是QA容易融入项目组,易于发现实质性的问题,解决问题也很快捷。缺点是各职能部门相对独立,部门之间的经验缺乏交流和共享,还可能出现对过程、方法和工具研究的重复性投资。在这种组织结构下,由于高级经理专注于业务的发展,QA的职业发展容易受到忽视,难于接受到应有的培训和提升。B、矩阵结构
在矩阵结构中,设立了专门的QA部门,与各业务职能部门平级。QA隶属于QA部,行政上向QA经理负责,业务上向业务部门的高级经理和项目经理汇报。如图2所示。在这种组织结构中,由QA部经理对QA考评和授权,有利于保证QA的独立性和评价的客观性,也有利于确保组织的长期利益与项目(或个人)的短期利益之间的平衡。QA资源为所有项目所共享,可按照项目优先级动态调配,资源利用更充分,但也可能出现资源竞争冲突。此外,QA部门对QA流程的改进、QA知识的管理、QA人员的发展负责,并可集中资源进行QA平台的建设,以防止重复性的投资。但另一方面,在矩阵结构中,QA难于融入项目组,发现的问题也很少能得到及时有效的解决。C、柔性结构
柔性结构是职能结构和矩阵结构的混合形态,在职能结构的基础上建立了QA组。QA组是一个专业组
QA组是一个专业组,不是一个行政机构。QAGLeader可由质量管理部委派人员担任或由某业务部门的QA兼任。与职能机构一样,QA直接对高层经理负责,但在业务上向项目经理和QAGLeader汇报。柔性结构吸收了职能结构和矩阵结构的许多优点,既便于QA融入项目组,又便于部门之间经验的分享,还利于QA能力的提高。QAGLeader可以从各部门QA汇报中提取出各项目的共性问题,用于组织级过程的改进。企业还可以通过授予QAGLeader不同的权利,比如按照20/80原则与高级经理分配QA的管理,来促进QA专业研究与应用的结合。
确定岗位职责
在CMMI中,QA的主要工作是过程评审和产品审计。从实践经验来看,QA只完成这两项工作很难体现出QA的价值。为了让QA组织的产出大于组织的投入,实现增值,就应该根据企业需要适当增加QA的职责,比如过程指导、过程度量和过程改进等。过程指导主要是项目前期辅助项目经理制定项目计划(包括辅助定义或修改项目过程和过程模型、协助项目估计、建立项目验收准则、设置质量目标等),对项目成员进行过程和规范的培训以及在过程中进行指导等。过程度量(包括产品度量)在CMMI中已经成为CMMIML2级中一个单独的过程域,但却是对所有过程的一个共性要求。特别是成熟度越高,对度量的要求也越高,难度也越大。这就要求有专业的人员来负责,QA就是一个很好的选择。主要职责包括收集、统计、分析度量数据,以支持管理信息需求。过程改进在CMMI中主要是EPG的职责。但事实上,QA更接近于过程实施的环境,更了解过程运行的情况,也就更容易发现“木桶中最短的那块”。同时,QA也是改进过程试施的重要推动力量。
在了解了QA的这些工作以后,是否认为每个企业的QA职责应该都一样或者差不多呢?目前国内不少企业的现状确实是这样,这也是QA整体效果低下的一个很重要的因素。我们在确定QA职责的时候应该考虑自身的需要和环境,主要包括业务需求、过程成熟度水平和企业文化。
业务需求主要是确定了QA需要完成哪些方面的工作,比如执行同行评审过程中,QA可以协助评审和组织会议;在存在外包的情况下,可能需要QA在监控外包方方面发挥作用。QA职责分配很重要的因素
过程成熟度是影响QA职责分配很重要的因素,不同的成熟度等级所要求的QA工作分布是不同的,如图4所示。在低成熟度等级下,需要抽取各项目最佳实践来定义过程,并指导过程的试施,QA在这方面的工作最多。随着过程的完善、制度化和实施,QA的工作重点逐渐转向了过程评审和产品审计。当企业的过程成熟度达到4级或5级以后,对过程的遵守已经成为员工的一种习惯,过程和产品的审查需求减少,而度量和过程能力的优化又成为QA的工作重点。
企业文化对QA来说就像空气一样,看不见它,但却深深地被它影响。比如说,在一个氛围活跃、高技术、创新能力强的企业,QA应该倾向于服务职责;而在一个强纪律、低技术、规章制度成熟的企业,QA就应该倾向于监督职责。
配置岗位人员
在建立组织结构过程中设立了QA工作岗位,现在就需要为岗位配备足够的资源,特别是分派岗位人员。从大体上说,QA人员的配备可根据企业特点分为两类:全职和兼职。全职就是设置专门的QA人员,QA的主要职责就是质量保证工作。在设置这类人员时,最重要的是考虑他的知识、技能和素质是否符合组织和岗位的规定和要求。这些要求是依据企业文化和成熟度的不同而有所侧重。比如说,对于一个协作意识较弱、官僚主义较浓的企业,沟通对QA来说可能是一个重要的素质要求;对于成熟度较低,还没有制度化标准过程的企业,对业务的了解和QA专业知识的精通可能是选择QA最重要的标准。
兼职就是将工程师分派到其它职能部门或项目中去兼任QA工作,每一位工程师都作为一名潜在的QA。这也是QA人员配置的一个可选方案,一般适宜于开放的、以质量为向导的文化,反过来也能对质量文化的建设起到很大的促进作用。但这种方案应小心地与组织制度结合,比如奖惩制度、成本制度等,否则容易引起利益冲突。
由于QA的概念引入国内不久,QA人才相当缺乏。为了获得足够的资源来完成QA工作,也可以采取岗位轮换的方式。比如,允许项目经理在项目管理岗位和QA岗位上轮换,把一定的QA工作经历作为项目经理上岗的必备条件。采取岗位轮换的方式,一方面解决了QA资源的不足,另一方面还促进了轮岗人员把QA的思想和方法融会到开发和项目管理工作中,更大程度上提高产品质量。
从以上的分析我们可以知道,建立QA组织需要动态地考虑企业的文化、可获得的资源以及过程成熟度水平等因素,做到“因地制宜”,而不是生搬硬套。首先要建立一个适宜的组织结构,组织结构中确立了QA岗位和汇报渠道。接下来就是确定岗位职责,并根据岗位职责的要求配置合适的QA人员。只有在组织结构、岗位职责、岗位人员都设置和整合好以后,才能充分发挥QA的价值,确保通过过程的持续改进来带动产品质量的不断提高。
扩展阅读:QA、QC、QE的概述
QA、QC、QE的概述
一、区别
(一)、QA、QC的定义
QA是英文QualityAssurance的简称,中文含义是质量保证。按照ISO9000:201*,QA的定义是“质量管理的一部分,致力于提供质量要求会得到满足的信任”,DQA是设计品保工程师。
QC是英文QualityControl的简称,中文含义是质量控制,QC的定义则是“质量管理的一部分,致力于满足质量要求”。其在ISO8402:1994的定义是“为达到品质要求所采取的作业技术和活动”。有些推行ISO9000的组织会设置这样一个部门或岗位,负责ISO9000标准所要求的有关品质控制的职能,担任这类工作的人员就叫做QC人员,相当于一般企业中的产品检验员,包括进货检验员(IQC)、制程检验员(IPQC)、半成品检验员(FQC)和成品出厂检验(OQC)。
成品出厂检验(OQC)包含成品出厂前必须进行出厂检验,才能达到产品出厂零缺陷客户满意零投诉的目标。检验项目包括:成品包装检验:包装是否牢固,是否符合运输要求等。成品标识检验:如商标批号是否正确。成品外观检验:外观是否被损、开裂、划伤等。成品功能性能检验。批量合格则放行,不合格应及时返工或返修,直至检验合格。标准中的定义都言简意赅,难以长篇大论,这可能会导致定义不太容易清晰理解。简言之,QC是对人事、对物,直接致力于满足质量要求:QA则是对人、对过程,致力于使管理者、顾客和其他相关方相信有能力满足质量要求。
在软件/信息化方面的一些标准中,QA的定义包括:“质量保证是指为使软件产品符合规定需求所进行的一系列有计划的必要工作。”(GB/T12504-1990计算机软件质量保证计划规范);“为使某项目或产品符合已建立的技术需求提供足够的置信度,而必须采取的有计划和有系统的全部动作的模式。”(GB/T114571995软件工程术语)。在这两个标准中都没有直接关于QC的定义。
按照不同的目的、从不同的角度对同一个术语的定义往往存在差异,例如GB/T
12504-1990、GB/T114571995分别对QA的定义就存在差异,按照GB/T12504-1990的QA定义涵盖的范围较宽,包含了QC的内容。(二)、QA与QC的侧重点比较
在一个软件组织或项目团队中,存在QA和QC两类角色,这两类角色工作的主要侧重点比较如下:
(三)、QA与QC的其他重大区别还包括:
具备必要资质的QA是组织中的高级人才,需要全面掌握组织的过程定义,熟悉所参与项目所用的工程技术;QC则既包括软件测试设计员等高级人才,也包括一般的测试员等中、初级人才。国外有软件企业要求QA应具备两年以上的软件开发经验,半年以上的分析员、设计员经验;不仅要接受QA方面的培训,还要接受履行项目经理职责方面的培训。在项目组中,QA独立于项目经理,不由项目经理进行绩效考核;QC受项目经理领导,通常在项目运行周期内QC的绩效大部分由项目经理考核决定。
QA活动贯穿项目运行的全过程;QC活动一般设置在项目运行的特定阶段,在不同的控制点可能由不同的角色完成。
对称职的QA,跟踪和报告项目运行中的发现(Findings)只是其工作职责的基础部分,更富有价值的工作包括为项目组提供过程支持,例如为项目经理提供以往类似项目的案例和参考数据,为项目组成员介绍和解释适用的过程定义文件等;QC的活动则主要是发现和报告产品的缺陷。
3.QA的工作内容
国际标准、国家标准都是通用的,软件组织是具体的、鲜活的。不同组织中QA的工作职责和内容会有共同性,也会有特异性,可以分层次考虑QA的工作内容和特点:3.1过程遵从性
保证过程遵从性是QA的根本职责,即保证项目组按组织规定的过程运行。通常各类组织,不仅是软件组织中的QA都致力于保证过程遵从性,以证实能以稳定的质量提供产品和服务,得到具备满足质量要求能力的信任。3.2计划符合性
保证项目的计划符合性首先是项目经理的责任,不是QA的根本职责。有些组织中QA不必认真关注计划符合性;但是,项目的规模、工作量、进度、缺陷等方面的计划符合性是高层管理者的关注重点,QA作为高层管理者的耳目有必要跟踪和报告计划符合性。在许多软件组织中跟踪和报告计划符合性是QA的常规工作内容。3.3工件正确性
工作产品(WorkProduct)简称工件,指项目运行中产生的各种文档、代码、程序等。在多数软件组织中,QA通常不直接跟踪和报告工件正确性。其根本原因是这样做将会导致QA在项目工作中陷得太深,不利于保持QA的独立性和客观性。其他原因还包括QA的能力、时间资源都可能不足以支持其去跟踪和报告工件正确性。4.基于实际情况理解和处理QA的工作内容
怎样定义QA的具体职责范围是各组织自己的事,质量管理标准和过程改进模型都只会要求某个职责要有机构、角色履行,不会要求组织一定要设立某个机构、某种角色,或某种角色必须是怎样的职责。即使在同一个组织中,根据不同的应用目的也可以作不同的处理。例如,在一个通过了SW-CMM三级的软件组织,QA计划的最小范围只包括支持、跟踪和报告项目组的活动,当项目工件中存在外包部件时要跟踪和报告外包部件开发方的相关活动,当项目与特定顾客的需求、部署和实施有关时要负责与该顾客就质量管理问题,包括产品和服务缺陷等问题进行沟通。组织内部使用的QA与需求管理计划、配置管理计划、工件评审计划、沟通计划、风险管理计划、培训计划、测试计划、开发计划等是分离的;但对大型的企业信息化建设项目,如果顾客需要,提交给顾客以展示本组织质量保证能力的QA计划需要包括包括QA、QC的多方面计划,例如评审计划和测试计划,比较接近GB/T12504-1990中的QA活动范围。(四)QE专门的品质工程师
QA=QualityAssessment质量评价/评估QC=QualityControl质量控制所谓质量控制从来料、制程、半成品、成品的质量控制,也就是所谓的IQC/IPQC/FQC/OQC;所谓的质量评价/评估是辅助型的质量控制,侧重点在于体系、文件等;如果QC是前线指战员,那么QA就是后勤、纪委等保障系统;SQE是属于前端质量控制(供应商),等同于前锋或者尖兵,JQE是品质工程师,SQE供货商管理工程师。
QC指在拉上检验产品(或半成品)的质量合不合格的品质部人员;QA指品质稽查指对公司的品质体系,品质文件不定期的检查的人员(有时公司把出货抽查也归QA管);QE指专门的品质工程师.
友情提示:本文中关于《QA(质量保证)概述》给出的范例仅供您参考拓展思维使用,QA(质量保证)概述:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。