张 鹏,董 曦
(中国船舶重工集团第七二三研究所,江苏扬州 225001)
浅谈GJB5000A二级成熟度模型中质量保证过程域的重要性及实施办法
张 鹏,董 曦
(中国船舶重工集团第七二三研究所,江苏扬州 225001)
本文研究了GJB5000A二级能力成熟度模型中产品质量保证过程域,详细阐述了该过程域中的专用实践在项目实施过程中的注意点及实施步骤,并分析该过程域的重要性;对质量保证过程域实施过程的QA人员角色进行了划分,并针对这种划分方法提出具体实施办法,从而达到不断提高软件产品质量的目的。
过程域;软件质量保证;QA
现阶段,为不断提高国内军用软件工程化水平,以及军用软件的设计开发规范化水平,总装备部基于CMMI-SW(capability maturity model for software)软件能力成熟度模型,提出了军用软件研制能力成熟度模型——GJB5000A(2008)[1]。GJB5000A中,过程和产品质量保证(以下简称“PPQA”)作为二级以及更高级别能力成熟度模型中的重点过程域,贯穿于整个软件开发过程,并存在于所有其他过程域的公共实践当中,其执行好坏在二级评价过程中起着关键作用。在单位组织中,由软件质量保证人员,一般称为QA的角色来执行该过程域的工作。
基于作者在单位二级体系认证中所做的工作,分析质量保证过程域的重要性及关键性,并提出了一种QA职能划分的方式,以便组织在软件项目过程中更好地开展质量保证工作。在单位实施GJB5000A的初始阶段,一般会缺少高水平的质量保证人员,组织级的质量保证活动往往滞后于项目质量保证活动,本文提出的划分方式的优点在于:通过将QA人员划分为项目级QA和组织级QA,并将软件工程过程组(以下简称“SEPG”)纳入组织级考虑,做到QA之间的相互指导、监督,必要时可请SEPG进行现场指导或组织培训,使得在保证项目QA工作顺利开展的前提下,组织级的QA活动能够更加有效地进行,从而达到提升整个单位QA从业人员业务素养的目的。同时本文还提出了一些QA工作的想法及创新点,希望在后续工作进一步地落实。
1.1 标准的要求
参照GJB5000A能力成熟度模型,PPQA共有两个专用目标:SG1客观评价过程和工作产品;SG2提供客观深入的了解。以及四个专用实践:SP1.1客观评价过程;SP1.2客观评价工作产品和服务;SP2.1交流并确保解决不符合项;SP2.2建立记录[2]。
虽然标准中对PPQA过程域的实践要求相对较少,但在实践中,由于受到人员数量的限制,项目QA人员往往要身兼多个任务,并且需对项目的全过程及各个工作产品都需要进行监督、检查,因此,项目QA人员工作量往往是巨大的。PPQA的专用目标和专用实践之间的关系如图1所示。
图1 专用目标和专用实践关系
1.2 实施步骤
上节所述的关于PPQA的专用目标,为质量保证的实施提供了依据。在实施过程中,本文对QA任务的划分(组织QA和项目QA),主要活动可以围绕以下五个问题来展开[3,4],即:
1)需对哪些工程或管理过程进行评价?评价的时机、准则、方法是什么?
2)需对哪些项目输出进行评价?评价的时机、准则、方法是什么?
3)以什么方法、频度将对过程和项目输出评价的结论反馈给项目组成员?如果存在某些不符合项,在项目组内无法进行解决时,应采取何种途径?
4)日常如何记录整理评价结果?如何通过记录整理的评价结果分析项目质量趋势?
5)组织QA如何有效地监督项目QA工作的实施?如何不断提高项目QA工作的客观性和实效性?[5]
基于对以上五个问题的分析,可以得出PPQA实施包含了以下四个步骤:
步骤一:审核软件过程活动。PPQA是通过对项目实施过程的定期和适时的评价,以评判过程和产品的符合性和有效性。QA人员应在保证项目三大计划(软件开发计划、软件质量保证计划、软件配置管理计划)有效实施和控制的基础上,不断地识别项目过程所必需的改进,并监督项目改进措施的实施,以达到增强过程符合性的目的。
步骤二:审核软件工作产品。审核软件工作产品就是对照项目所确定的过程依据和体系标准要求,对项目过程的输出产品进行客观的评定。
步骤三:交流并确保解决不符合项。对项目发现的不符合项,都必须由QA人员对项目组进行跟踪,直至项目组解决并关闭该不符合项。对不符合问题有两种方式解决:1)不符合项得到解决,使得产品或过程符合标准、规程或项目需求;2)不符合项在期限内未得到解决,上报至组织QA,由QA组长协调解决。对第二种方式,可能会出现实际体系可操作性不好,会涉及到相应标准、规程的修改,该情况可作为组织软件过程改进的信息。
步骤四:建立记录。PPQA的记录应包括:过程活动评价记录、工作产品评价记录,质量保证阶段报告、不符合问题报告和质量趋势报告。QA应在每次审核后将审核的结果进行记录,同时应定期对发现的不符合项进行统计分析,分析不符合问题出现的趋势,提供测量数据。
步骤五:对项目QA的监督检查。组织QA应阶段性的检查项目QA工作,比如通过项目阶段会议对项目QA的工作进行监督,对其工作的全面性及有效性进行检查,并在发现问题时及时予以纠正,不断提高过程的有效性。
1.3 PPQA过程活动的重要性
基于第一章节的讨论,不难看出,PPQA能够使项目组成员对工作过程及工作产品进行客观深入地了解,从而持续提高软件质量,这是PPQA的关键所在。因此,本文对PPQA的重要性描述主要从以下几个方面来阐述:
1)保证软件开发过程的有效性:对照过程说明、标准和规程对过程活动进行评价,如若发现不符合问题,即对其进行跟踪,直至解决,以确保项目过程依据早期项目的策划进行,保证过程活动有效、有序进行;
2)保证软件工作产品的有效性:对照标准,对项目过程中输出的工作产品进行评价,如若发现不符合问题,即对其进行跟踪,直到解决,以确保工作产品有效、规范;
3)为组织提供有效的质量过程数据:检查工作产品,并定期检查过程活动,如若产生不符合问题,即对其进行统计、分析,以便为组织提供客观、有效的质量数据,为项目组提供参考依据。质量过程数据在检查中不断改进,能够提高过程活动的符合性。
2.1 QA职责划分及关系
根据前文对PPQA过程域活动及重要性的相关阐述,将QA人员分为项目级QA、组织级QA,并将SEPG纳入考虑。其中,项目QA负责对项目进行监督;EPG负责在日常工作中对项目QA的工作进行监督、指导;组织级QA负责对EPG进行监督,同时阶段地对项目QA进行监督。项目QA的监督工作属于项目级质量保证过程,EPG和组织级QA的监督工作属于组织级的质量保证过程。本文所提出的PPQA活动中角色关系图2所示。
图2 QA人员活动关系图
通过上述职责划分,将有效地缓解QA人员短缺、QA人员水平不足,QA工作有效性、充分性不足等问题。
2.2 各类QA工作实施办法
项目QA实施对项目监管是,主要活动有:参与项目策划活动,完成对软件质量保证计划的编制;按照质量保证计划对过程活动和工作产品进行评价,并向项目组有关人员提交评价结果,并阶段性地向组织提供数据;检查过程活动和工作产品与标准、规程及项目计划、需求是否相符,以发现并跟踪解决不符合问题。
组织级QA实施对项目QA工作监管时,主要活动有:组织级QA可在年度高层验证会中确定相关工作计划,并按照工作计划的要求,参照组织制定的体系要求,定期对项目QA质量保证过程进行客观的评价。重点是要考察项目PPQA过程是否符合规程、制度、标准,项目QA人员是否按照计划要求对项目输出进行评价,并审查项目QA人员的质量保证报告、问题报告以及项目组成员对不符合问题的解决情况或存在争议的报告。组织级QA对整个监督过程形成记录,对所发现的问题要进行跟踪解决。
SEPG实施对项目QA工作监管时,主要活动有:定期收集来自项目QA过程改进建议或问题,并针对建议和问题对项目QA人员工作进行指导或组织培训,提高组织的业务水平;按照单位组织制定的评估计划,定期对组织的过程活动进行评估,此活动在能力成熟度模型中属于内部评估,建议不少于一年一次,本单位为半年一次。内部评估活动中,可制定对项目QA工作的评估计划,形成评估报告,为后续的组织级改进提供依据。
组织级QA实施对SEPG工作监管时,主要活动有:组织级QA可对SEPG下发过程改进工作计划,包括培训计划、内部评估计划等等。对组织过程改进中所涉及到的活动和工作产品进行审核,出具审核报告,其实现步骤就是将组织的过程视为一个项目的过程来进行监督和管理;对EPG制定的标准、规程与GJB5000A的符合性、有效性进行监督和管理,保证组织过程持续改进。
除上述职能划分之外,组织层面应有效地对项目QA人员工作进行评估并给予充分的绩效考核。通过单位自身实践以及行业相关经验,很多做法还停留在设想阶段,比如设立软件工程中心,专职人员从事QA与测试工作,由组织单独进行考核,并将QA工作与测试工作相结合等等。因此,希望通过后续的体系实施,实践出更加切实可行的方法,本文不做展开。
基于对GJB5000A标准的研究,在满足体系标准的前提下,提出了一套质量保证过程域本地化工作的方法。首先分析了质量保证过程在体系过程中的重要性,将项目质量保证活动和组织质量保证活动进行综合考虑。然后提出了一种QA人员职能划分的方式,采用这种方式做到了QA人员之间的相互协作、监管,有利于组织过程的持续改进,对提高组织的软件质量水平发挥了巨大的作用。
[1]韦群,龚波,任昊利.军用软件工程[M].北京:国防工业出版社,2010.
[2]徐伟.GJB5000A中质量保证人员职责分析[J].四川兵工学报,2013,34(2):122.
[3]孙春艳,李传宝.完善PPQA组织,提升质量管理水平[J].质量与可靠性,2009(6):44-51.
[4]刘彦涛,马闫娟.CMM二级SQA关键过程域与软件过程改进[J].计算机工程,2007,33(15):106-108.
[5]何新贵,石柱,王纬,等.GJB 5000《军用软件能力成熟度模型》实施指南[M].北京:国防工业出版社,2004.
Introduction of Importance and Implementation of Quality Assurance Process Area in GJB5000A Secondary Capability Maturity Model
Zhang Peng,Dong Xi
(No.723 Research Institute of CSIC,Jiangsu Yangzhou 225001,China)
The paper studies the product quality assurance process area in GJB5000A secondary capability maturity model and in detail describes the attentions and procedures of the specific practice of the process area in the project implementation process.It analyzes the importance of the area.QA roles for the implementation of the quality assurance process area are classified.It puts forward the specific implementation measures for the kind of classification method.Then the purpose of improving the quality of the software product continuously can be achieved.
process area; software quality assurance; QA
F270.7
A DOI:10.14141/j.31-1981.2016.05.013
张鹏(1985—),男,硕士,工程师,研究方向:雷达总体设计。