GJB5000体系下的软件质量控制
实施GJB5000的组织都知道GJB5000有“软件质量保证”过程域,这个过程域要求有独立的QA(质量保证)人员对软件项目的过程和工作产品进行审核,以确保软件的过程和工作产品符合组织的软件过程管理体系的要求,从而给人以开发出来的软件产品质量值得信任的印象。
这是质量保证的概念。
但在实施GJB5000之前,在GJB9001的质量体系之中就有质量控制(QC)的概念,难道在GJB5000体系之中只有质量保证(QA),没有质量控制(QC)吗?
GJB5000体系中当然有QC。
在说清楚这个问题之前,先了解下什么是QC。
QC——质量控制,它是一个预先设定质量目标,再测量质量水平,将测量结果和质量目标相比较,判定是否达到预期目标,如果为能达到预期目标就采取措施进行补救,并防止再发生的质量控制过程。QC不是检验,而是一个确保生产出来的产品满足用户需求的过程。
QC的常用工具,包括检查表、帕累托图、直方图、散布图、运行图、控制图和因果图等。
从这个概念上来说,GJB5000体系中虽然没有明确哪些活动是QC活动,但实际上QC活动已经在各个过程域的专用实践中执行了。
比如,实施GJB5000四级时,需要对过程绩效进行监控。这个实践要求根据组织的历史项目数据,确定过程绩效基线,然后使用控制图来监控过程的质量水平,这就是QC的实际应用。
即使组织的GJB5000还没有进入四级水平,那也不妨碍组织依托与软件产品质量息息相关的测量项(QA不符合项、评审缺陷、测试Bug等)来进行QC活动。比如设定评审缺陷的组织基准能力为0.1~1.2/页,当评审缺陷率超出这个范围时,应重新组织评审。这不也是控制图的一种应用吗?
再说下检查表的使用。在进行工作产品评审时,如果给每个评审人员提供评审检查表,那也会有效地提高评审过程的质量!
所以,不是GJB5000体系中没有支持QC活动的实践,而是组织的GJB5000实施者没有去思考如何把QC活动融入到GJB5000的体系中。
从当前GJB5000实施的情况来看,仅靠QA人员实施的QA活动是难以保证软件产品的质量。要提高软件产品质量,必须要把QC活动抓起来。QA+QC+质量文化,三管齐下,软件产品质量的提高方能见效。
这正是:
五千不仅有 Q A,实践之中含 Q C
Q A Q C 两手抓,软件质量顶呱呱
参考书目:软件质量保证和管理,作者:朱少民,出版社:清华大学出版社