CMM类体系下的QA价值所在

发表于:2008-10-14 15:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:袁闻    来源:51CMM

#
CMM

  QA到底是什么?它是做什么的?能带来什么好处?相信接触过CMM的人对其中这个核心角色应该不感到陌生,可能也或多或少地知道它的一些工作内容。尽管如此,很多人对这个角色的价值以及必要性可能还并不真正地理解,这里作者结合多年的质量管理经验总结了QA的十大价值所在,希望能帮助大家更进一步地了解 QA。

  1、保障制度体系

  无论是CMM/CMMI还是ISO9000等其他管理思想,它都是强调法治而非人治,实施CMM也是希望能通过它将一些优秀的软件工程化开发经验用一套合理、规范的制度沉淀固化下来,使项目的成功不再成为一种偶然。这其中体现了一个三权分立的思想:SEPG(软件工程过程组)相当于是立法机构,负责建立、维护、改进企业的开发过程体系;SEG(软件工程组)则是执行机构,来执行这套开发过程,按照软件工程化的思想来实施项目;而QA则是督促这些规范贯彻实施的监督机构了。

  作为一个国家,监督机构的必要性和重要性不必多说。同样,作为一个企业,监督机构也是非常必要的。试想一下,如果企业花了大量的人力物力建立了一套规范的开发制度,每个项目启动时也制定了各种周密的计划,却缺少相应的机构来进行督促,那么项目在实施过程中是很容易由于这样或那样的原因而偏离既定轨道的,导致项目难于得到有效地控制。而企业的制度、项目的计划也就变得形同虚设。企业的制度实际上就相当于企业的法律,如果有法不依,执法不严,违法不究,久而久之这套制度就只是一纸空文了,浪费了大量的人力物力来建立却毫无用处。所以就非常需要存在QA这么一个机构来维护企业开发制度的权威性,并督促项目计划得到有效地实施。

  2、促使过程改进

  SEPG 建立了一套规范过程后,并不表示这个过程就一成不变了,规范自身也必须不断地得到改进才能保证它的正确性和有效性。虽然过程规范在发布之前都必须经过评审,但并不表示只要通过评审就能发现所有的问题,还必须经过实践的检验才行。正所谓没有最好只有更好,所以过程的改进也是永无止境的。它的改变往往是来自两个方面,一方面可能是这个过程本身存在的缺陷和错误暴露出来了,促使SEPG必须去完善性的改进;另一方面可能是当时过程制定所依赖的情况发生了变化,现有的过程已不适应当前项目实施的需要,甚至还阻碍了项目的发展,这也会促使SEPG去进行适应性的改进。

  但是改进的来源从哪来呢?表面上好像项目组可以向SEPG提出, SEPG自己也可以去发现。但是实际情况往往是一方面项目组成员尤其是成熟度等级较低企业的项目组成员缺乏质量意识,只关注与自身相关的开发工作,对过程改进工作缺乏应有的认识,提不出问题或者有问题也不愿提出来。而另一方面SEPG却又往往苦于不了解项目情况而找不到关键问题所在。

  而QA的存在恰好就可以解决这一矛盾,因为QA经常要参与过程改进工作,又常常参与项目的活动,既熟悉过程体系又熟悉项目情况,刚好起到充当SEPG和项目组之间桥梁的作用。

  QA 在项目实施过程中经常会发现很多问题,有些问题有些是因为项目组本身执行得不够规范而产生的,而另一些问题则是由于过程本身存在着一些缺陷引起的,如可操作性不强或前后矛盾等而让项目组无法实施。所以QA在工作当中,会将这些问题记录下来并反映给SEPG,以促使过程改进。另外项目实施过程中值得借鉴的一些经验做法QA也反映给SEPG,以便SEPG在企业范围内进行推广。如果过程完善了,反过来也会更好促进项目工作的开展,这就是一个良性循环。

  3、 指导项目实施

  QA 对项目有督促的作用,但是仅仅督促是不够的,还需要给予项目组在过程实施上的指导。虽然在项目过程实施之前会要接受相应的培训,但是工作的顺利开展并不是光靠几堂理论课就能解决问题的,很多具体的做法需要在实践中才能真正理解应用,而且每个项目组成员接受培训的程度不同,对过程的理解可能存在一些偏差。因此还需要QA人员在项目实施过程中给以解答和指导,将这些规范真正地贯彻下去。

  QA对于项目组来说就象一把双刃剑,既有监督的一面也有指导的一面。既能帮助项目顺利的开展工作,也能使不规范不合格的项目暂停甚至关闭。这其中项目经理的指导思想非常重要,如果项目经理是抱着积极合作的态度,决心要真正按企业规范化过程来实施项目的话,那么QA将成为最有力的帮手和支持者。如果项目经理抱着消极对抗的态度,置企业管理制度不顾,欺上瞒下自行一套的话,则QA就是他们最大的障碍和绊脚石。

  4、增加透明度

  软件开发活动存在于人的大脑中,不象工业生产中在流水线上的工作情况令人一目了然。正是因为这一特点使得软件项目难于控制。而QA的存在则可以提高这种透明度、增加项目的可视性。让高级经理和相关工作人员能从项目组以外的第三方得到一个独立的视角和渠道,能从多方面客观地了解项目的过程、产品、服务等情况,以便做出正确的判断,及时发现问题及时进行纠正,使项目尽可能朝着良性的方向发展。

  5、评审项目活动

  评审项目活动是QA的核心工作之一,也是QA实施质量保证的一个重要手段,评审项目活动的目的是为了检查项目的活动是否符合企业制定的规范和项目既定的计划,及早发现可能存在的问题,并通报给相关人员以便及时纠正。

  虽然质量保证的最终目的是希望能保证质量,但质量是过程、人、技术三者的函数,除了过程外,还与人员、技术有关,而人员素质和技术水平的提高并不是依赖QA就能保证的,所以QA虽名为质量保证,实际上它直接保证的是决定质量好坏的一个重要因素——过程。

  过程不仅仅指活动,它还包括了产品,产品是一系列活动后的产物,所以保证过程要先从活动开始入手,因为控制得越早,发现问题越早,所付出的代价就越小,当产品出来之后再去控制就已经晚了。虽然单有好的过程不一定就会有产生好的质量,它还必须依赖人员和技术这两大因素,但是一个不好的过程肯定难产生好的质量,因为过程、人员、技术这个质量铁三角缺一不可。所以QA需要评审项目的活动,从保证活动入手来保证过程进而保证最终的质量。

  QA评审项目活动时应该做到独立、客观、公正,评审的时机和频率可按预定的检查点进行抽查。

  需要指出的一点是QA评审项目活动和同行评审不同,同行评审是指同行评审人员从技术角度对产品进行评审,而QA评审项目活动则是从规范角度对活动进行评审,这两者有本质的区别。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号