作/转载者:保捷环球电脑软件公司项目经理 李黎
质量管理一直是项目管理的生死线。质量管理的成效,牵涉到最终产品是否能被客户愉快地接受、项目是否能顺利收尾等一系列问题。大量的
Bug(软件错误的通称),是严重影响软件质量的问题之一。
案例
Bug噩梦
想起当初的那段经历,项目经理小张至今心有余悸。
小张所在公司曾经承接了一个项目,要求根据英文版制作中文版多媒体教学课件。这个项目包括 400个课件的制作和60万字的翻译,规模大,牵涉面广。
在这个项目之前,项目经理小张已经做过类似项目,自己觉得对这种项目的质量标准和可能的风险都有充分了解,因此对顺利完成这个项目充满信心。
为了这个项目,小张特意挑选做过类似项目的人员组成了有经验的队伍,向大家分配了项目任务。项目如期开始,一切都按照计划执行。客户没有给出新的质量标准。根据经验,小张还是要求项目组成员一切以英文版本为准绳。
项目进行到1/5处,一个与此类似的项目启动,小张的领导请求小张用有经验的人员进行支援。从公司大局着想,小张借出三名有经验的人员,补充了两名新手。
经过简短的培训,新手上路了,似乎对项目进度没有太大影响,质量控制人员也没有对新手的工作提出太多问题。但是,由于少了一名人手,整个项目组都加班了一周。
项目进行到一半,按照项目计划,小张将已完成部分交付给了客户。与以往不同的是,这次客户没有自己进行测试,而是外包给另一家公司进行测试,测试标准突然变化了。
与此同时,由于引入新手,质量控制人员视线之外的问题因此显现出来。测试一开始,大量的 bug(软件错误的通称)让小张措手不及。
客户看到bug的数量如此之多,大为不满,马上将问题升级,通知了小张的公司高层。可怜的小张顿时陷入了客户、测试方和公司高层的三重压力之中。
如果bug问题不解决,即使按时交付,客户可能也不接受这个产品。为了按时交付,正常生产没有停止,而大量的bug需要人手去修,修完之后要复查,小张面临人手严重不足的窘境。
幸好公司高层在了解情况后,马上针对新手上路的情况加派了质量评估(QA)人员。小张首先对已经报出的bug进行统计,分析了出问题的方面,进行了有针对性的补救。
经过整个项目组人员的努力(包括培训和加班),新手由于缺乏经验产生的问题,在QA人员手中得到了控制,这方面的bug数量减少了。
但是,由于生产时是以英文版本为标准,而测试时测试公司采用了自己的标准,这两个标准不一致导致的bug无法消减,只好在项目后期报告中作了总结,请求客户将来在生产之初就提供一个统一的标准。
最终,这个项目在经历中间的bug高峰后,以令人满意的质量交付了。但中间那段时间的窘境,让小张进行了一些思考。
项目虽然完成了,一些问题却暴露出来,值得我们思考。实际上,这关系到一个问题—如何保证项目质量?
质量管理一直是项目管理的生死线。质量管理的成效,牵涉到最终产品是否能被客户愉快地接受、项目是否能顺利收尾等一系列问题。
在整个项目实施生命周期的质量管理过程中,时时存在由各种因素带来的风险,它们要么是隐藏的,要么会突然显露出来,因此,项目经理需要进行可控制的质量管理。
在这个项目上,小张是个有经验的项目经理,事先经过了周密的计划和准备,对项目将要出现的问题也有一定的预见性。
但在项目进行到一半时,小张却面临极大的压力。他遇到的问题有哪些呢?
小张的两大风险
首先是人员变更。项目进行到五分之一时,三个有经验的组员被换成了两个新手。人员质量下降,同时人员数量减少一个。
人员质量下降对项目质量带来了直接影响。虽然这种影响没有马上表现出来,但作为缺乏充足培训的新手,他们的问题往往出在让人意想不到的地方,若不进行相应的进行质量评估(QA),相当于为项目埋下了定时炸弹。
另外,三个人员减少成两个,导致整个项目组加班一周。这种加班使人员疲劳,从规划到开发都增加了出错的可能性。这也是人员变更的负面影响。
但从另一个角度想一想,小张能不答应别的项目的人员支援请求,从而避免这种变更吗?
从公司的角度考虑,这是不允许的。这也是以项目为单位组织人员的公司,经常要面临的问题。
其次是质量标准变更。客户没有给出新的质量标准,小张就按照过去的经验,以英文版本为质量标准。测试开始时,小张发现,原来标准已经变了。
此时,小张面临未经通知的质量标准变更。此时申诉,测试和生产都不能停滞,最后申诉成功的时候,可能生产已经结束了。
该问题产生于客户方,产生的后果却由项目经理小张承担,这种变更是实际项目生产中,项目经理无法控制的因素。
质量管理“三招”
针对这些问题,可以设想一下解决方案:设立人员变更制度,明确项目质量标准,并加强风险管理。
1.设立人员变更制度。对于项目的既定人员,不能随便进行更改,应该有一套完善的变更管理制度,明确变更对项目造成的影响由谁负责。若非要进行变更,应该考虑到人员的不同素质,采取相应的措施。
在小张的项目中,由于采用了新手,就应该相应地增加质量评估(QA)人员,来抵消新手带来的负面影响,以保证质量。
2.明确项目质量标准。即使客户没有给出新标准,小张也不应该理所当然地沿用老标准。
在生产开始之前,小张就应该用正式的形式,跟客户确定项目的质量标准。经过双方的反复商谈之后,最后必须要有一个可执行的、双方都达成一致的标准,作为QA的依据。
需求明确,是一个项目成功的必要条件;质量标准明确,是最终正确评价项目的必要条件。
3.加强风险管理。项目中期出现的高Bug数和客户抱怨,都是风险问题。通过加强风险管理,可以预测可能出现的问题,并采取相应措施。
在这个项目中,出现风险后,应对比较出色的一点是对Bug进行统计分析,这样可以抓住主要矛盾。
软件项目经理们,常常将质量管理视为某种符咒,颇有神秘主义色彩。然而,严密合理的规则,和项目参与者一致遵循的惯例,能增大质量管理的成功概率。
|