QA在GJB5000A实施过程中的质量保证研究

时间:2022-07-20 05:42:49

QA在GJB5000A实施过程中的质量保证研究

摘 要

质量保证(QA)活动是软件研制能力成熟度实施中较为重要的过程,该过程执行的质量,与软件产品研制质量有着非常重要的关系。本文从QA是什么、QA的地位等几个方面进行了阐述,分析了武器装备软件研制中QA工作存在的问题,对软件研制过程实施过程和产品质量保证的做法提出了意见和建议。

【关键词】软件研制能力成熟度 软件产品研制质量 过程和产品质量保证

1 引言

随着软件工程化技术水平的不断提高,大家已清醒地认识到软件的质量单靠个人突出的技术能力根本无法满足大型工程对软件质量的高可靠性安全性要求。提高软件质量只强调加强软件测试力度是远远不够的。原因在于软件的缺陷是在软件研发过程中产生的,而软件测试处于软件研发过程的末端,同时也不可能进行无穷尽得测试。因此,要想提高软件产品研制质量,做好过程控制就显得尤为重要。

2 QA是什么

管理制度体系无论是GJB5000A还是GJB9001B等其他管理思想,它都是强调法治而非人治,实施GJB5000A也是希望能通过它将一些优秀的软件工程化开发经验用一套合理、规范的制度沉淀固化下来,使项目的成功不再成为一种偶然,QA就是监督软件工程化过程文件或规范贯彻实施的监督机构。

3 QA的地位

在GJB5000A实施过程中,QA所处的地位如图1所示。

PPQA的目的是通过QA的活动使员工和管理者对过程和相关的工作产品能有客观深入的了解,具体包括一是审核软件工作产品和软件过程,以验证其与适用的规程和标准是否符合;二是向项目软件负责人、高层管理者和EPG提供软件质量保证审核的结果,辅助软件工程组交付高质量软件。所以,过程和产品质量保证的客观性是项目成功的关键,而这是通过独立性和准则两方面达到的。QA的独立性体现在它是组织级独立机构,它独立于项目的软件工程组,能够独立作出判断,当存在无法解决的不符合项时有独立的问题上报链。准则体现在审核所依据的标准和抽样准则都是统一的。从而确保了PPQA角色的独立性和PPQA与项目结果的独立性,最终保证项目按照项目计划和过程要求顺利进行。

QA应具备以下职责:

(1) 编制、维护和实施“软件质量保证计划”。

(2) 参与项目相关评审。

(3) 确保项目执行的过程以及工作产品符合适用的规程和标准。

(4)确保项目不符合项均得到标识、沟通、跟踪并解决,必要时将问题反映给高层管理者。

(5)向软件项目组、项目软件负责人、高层管理者和EPG提供信息。

4 国内武器装备软件研制中QA工作存在的问题及解决办法

很多QA在开展工作过程中觉得比较困难,比较难推进,主要原因归结于:

4.1 QA工作的“独立性”得不到有效保证

目前,QA的组织结构一般存在三种方式,项目组的成员兼职,独立的QA组和QA部门,专职的QA。对于软件研制能力成熟度较低的企业,将QA放在项目内部或者部门,如果由部门或项目组分配其绩效,QA不敢提出软件研发过程中产生的缺陷,更不敢将缺陷上报高层管理者和EPG,最终会导致决策层无法做出正确决策;另外,如果没有独立的上报机制,该模式下QA是向项目软件负责人报告的,如果项目经理没有遵从相关的过程或者出现项目管理及项目风险的问题,项目就可能被耽误。因此,QA人员必须保证其自身的独立性,没有独立性的评价系统情况下,会偏离既定的原则,软件研发人员由于种种原因,总是自觉或不自觉地忽视过程, QA人员如若不能发现问题,势必会影响软件产品质量。

4.2 QA软件专业知识不足,管理技能欠佳

在项目的设计师任命中存在着这样的问题,QA好像人人都能干,人人都能上岗,岂不知,一个没有专业技能的人是很难起到质量保证作用的。另外,QA在开展工作过程中,关注的重心在软件项目组,总是找别人的问题,改进别人的缺点,其实QA应将关注的重心放在自己,注意自身素质的提高和工作方式、工作态度的转变上。

4.3 QA审核的频度和力度不够,无法保证信息的及时有效

企业要想降低成本,提高软件质量就必须要进行缺陷预防。但是由于QA审核的时机和力度不够,过分关注缺陷的纠正,经常等到缺陷被发现时进行纠正,这时缺陷已经发生,对节省项目成本和控制进度来说作用显得已经不是特别大了,缺陷预防并不是简单对缺陷进行发现和纠正,应重在预防,及时提供“预警”信息,消除可能产生的缺陷,防止缺陷的再发生,规范软件研发过程,才能真正达到效果。

鉴于此,QA在开展过程和产品保证工作过程中,应重点关注:

4.3.1 确保QA的独立性,为QA在机构范围内提供充分的自由

企业在建立QA组织结构之初,应根据企业实际情况,充分考虑如何确保QA的独立性,保证QA独立于软件工程组;其绩效应不受课题负责人、软件工程组和其他相关组的影响;并且有独立的上报机制,可直接向高层管理者报告缺陷,这样才能给项目的上级管理部门提供客观真实的信息,以便其做出正确决策。

4.3.2 提高自身专业素质、转变工作方式和工作态度

首先,QA要注重过程和质量管理的知识、技能方面的提高,同时也要在软件设计、编码、测试等方面技术、方法和应用领域方面的知识和经验有更多的理解,不断总结工作中遇到的实际问题,在开展工作的过程中,和软件项目组的成员多沟通,多交流,将工作中容易出现的问题和相应的规避措施以及若不改正会带来什么样的后果提前告知软件项目组,起到预防的作用,要让软件项目组同事从心里觉得我们QA专业能力很强,确实对提高软件产品研制质量有帮助作用;其次,QA在实际工作的时候一定要考虑软件项目组成员的承受能力,不能教条的照搬书本和其他单位的QA方法,在开展工作过程中遇到阻力时应及时分析原因,若是制度问题,应及时反映给EPG,及时改进管理制度;另外,QA在开展工作过程中,应注意说话方式方法,注重沟通能力提高,要让软件项目组认识到我们QA是帮助他们规范软件项目的开发活动和相关的工作产品的,只有让软件项目组成员从心里认为这种管理方式是有益于提高工作效率的,有利于提高软件产品研制质量的,他们才会愿意去配合完成工作。

4.3.3 做好审核时机的策划,合理增加审核频度和力度

在软件研发过程中,QA应结合企业软件工程化的实施情况以及项目特点和项目组人员对GJB5000A的认知程度,做好审核时机的策划,特别是对于软件研制能力成熟度级别较低的企业,应加大审核的频度和力度,在软件研发周期的每个阶段采集缺陷的相关数据,并对其类型进行分析,了解问题的趋势,确定缺陷发生的根源和可能带来的影响,并通过上报项目软件负责人、高层管理者和EPG共同决策分析,得出所需要采取的措施并具体去实施,同时吸取其他项目或本项目前期的一些经验教训,并使原因分析和缺陷预防成为一种机制,将缺陷预防长期推广并贯彻实施,规范软件研发过程,不断改进和提高软件产品质量。

5 QA在GJB5000A实施过程中开展过程和产品质量保证工作的具体做法

5.1 制定软件质量保证计划

软件质量保证计划是QA开展工作的依据。QA根据软件研制任务书和软件开发计划的要求,确定QA组人员及其职责、确定PPQA活动所需要的资源、确定过程和产品评价准则、确定PPQA主要活动等内容,策划形成项目软件质量保证计划,为QA组有效工作提供指南,为项目组成员以及项目组相关人员了解在项目进行中如何实施质量保证和控制提供依据,为确保项目质量得到保障提供坚实的基础。

5.2 审核软件工作产品

审核工作产品是QA的核心工作之一。项目组在软件开发过程中会产生大量的工作产品,如需求、设计、代码、用户文档等,同行评审、测试等手段可以从技术角度对产品质量进行把关,而过程方面的质量,如符合性、规范性、一致性等则需要由QA来把关,产品的技术性与规范性不可或缺。

5.3 审核软件过程

审核软件过程是QA另一个核心工作,也是QA实施质量保证的一个重要手段。审核项目过程的目的是为了检查项目的活动是否符合企业制定的软件工程化过程文件和项目既定的计划,及早发现可能存在的问题,并通报给相关人员以便及时纠正。QA虽名为质量保证,实际上直接保证的是决定质量好坏的一个重要因素――过程。QA审核软件过程不同于同行评审,两者有本质的区别,QA审核软件过程是从规范角度对活动进行审核的。

5.4 协调问题解决

QA无论是审核软件工作产品还是审核软件过程,都是为了发现问题并及早解决。QA发现问题通过上报机制报告各层管理者,以寻求支持并促进问题解决。QA问题的上报并不能看成是在向高层管理者打小报告,其出发点也是为了更好地协助项目解决问题,有问题要及时发现,发现了问题就要及时解决,越早越好,否则小问题发展成大问题很可能就会给项目和企业带来无法挽回的损失。

5.5 促进过程改进

QA在项目实施过程中经常会发现很多问题,有些问题是因为项目组本身执行得不够规范而产生的,而另一些问题则是由于过程本身存在着一些缺陷引起,如可操作性不强或前后矛盾等而让项目组无法实施。所以QA在工作当中,会将这些问题记录下来并反映给EPG,以便EPG在企业范围内进行推广。如果过程完善了,反过来也会更好促进项目的开展,这就是一个良性循环。正是QA经常要参与过程改进工作,又常常参与项目的活动,既熟悉过程体系又熟悉项目情况,刚好起到充当EPG和项目组之间桥梁的作用。

5.6 指导项目实施

QA对项目有督促的作用,但是紧紧督促是不够的,还需要给予项目组在过程实施上的指导。虽然在项目过程实施之前会要接受相应的培训,但是工作的顺利开展并不是光靠几堂理论课就能解决问题的,很多具体的做法需要在实践中才能真正理解应用,而且每个项目组成员接受培训的程度不同,对过程的理解可能存在一些偏差。因此还需要QA人员在项目实施过程中给予解答和指导,将这些规范真正地贯彻下去。QA对于项目组来说就象一把双刃剑,既有监督的一面也有指导的一面。既能帮助项目顺利的开展工作,又能使不规范合格的项目暂停甚至关闭。当然,这其中项目软件负责人的指导思想非常重要,如果其抱着积极合作的态度,那么他将成为QA最有力的帮手和支持者。

6 结束语

综上所述,QA在企业中是一个不可缺少的角色,QA活动对于过程改进具有重要的意义,只要企业及项目组能够认真贯彻软件工程化过程文件的要求,并持之以恒,及时解决实施中发现问题,就可以在QA活动中获得巨大的效益。

参考文献

[1]李华北.QA活动的理解与实施[J].质量管理与产品认证,2006(02):37-40.

作者简介

崔璨(1985-),女,学士学位。现为中国电子科技集团公司第二十七研究所工程师。从事军工产品体系管理及质量与可靠性管理工作。

直丹婷(1989-),女,学士学位。现为中国电子科技集团公司第二十七研究所助理工程师,从事军工产品质量与可靠性管理工作。

作者单位

中国电子科技集团公司第二十七研究所 河南省郑州市 450047

上一篇:道路照明用高压钠灯镇流器的选择 下一篇:可视化通信原理仿真平台GUI方案的设计与实现