29质量管理贵在细微

俗话说得好:“台上一分钟,台下十年功。”做好一个项目实属不易,需要调动多方人员共同配合,但往往可能会因为某一处未做好,就导致整个项目最终的失败,所谓“一招不慎,满盘皆输”。例如在项目中我们经常会在用户验收测试(UAT)这个环节躺枪,究其原因往往还是大家对项目质量的认识不足,在过程中缺乏把控,同时也可能存在对UAT的不重视,种种这些最终将使项目无法达到质量要求而导致客户拒绝验收的后果。

【案例】

按照前面梳理过的项目质量要求和重新确认过的项目产品需求,罗宾预计这款新的在线教育学习平台应该可以比较顺利地完成系统开发、测试和上线,但是罗宾在项目中期的质量检查中却发现了UAT测试比较严重的问题,项目的UAT都是由项目的测试人员代劳了。罗宾立刻把项目组的成员都召集在一起,细问大家为什么这么做。

原来之前项目组重新梳理项目的产品需求导致项目的进度有了2周的延迟,如果按照原定的测试安排让业务方人员进行测试,可能会进一步导致项目上线时间的延迟。与此同时,客户在经历了需求重新梳理之后已经表示担忧,如果这款产品不能按时上线达到预期占领市场的目标,将对这个项目的成败,以及公司的整体战略目标达成造成比较大的影响。正因为如此,项目组为了赶追进度,决定加班加点替业务同事把UAT做了,这样可以减少上线前由于用户不熟悉新系统导致测试过程太长和最后上线晚点的问题。

听完大家的解释,罗宾对大家这种不当的“互相补位”感到哭笑不得,一方面他觉得整个团队的合作精神值得点赞;另一方面又深感团队在如何落地项目质量管理的实践上还是需要有的放矢。他告诉大家,这样的“互相补位”其实更浪费时间,系统测试和UAT测试的侧重点是不同的。系统测试(SIT)通常由IT人员主导,目的是完成对系统功能开发的检验;UAT通常需要由业务的相关人员参与,测试关注的是业务流程是否通畅,是否符合业务的需要。在系统测试还没有完成的情况,不建议直接开始UAT,因为主要功能和流程都还未完全跑通,问题会层出不穷。功能阻塞、排查问题、返工修改问题等,这些会大大降低UAT验收的效率。而且UAT过程频繁地被打断,会消磨验收人员的耐心,打消其积极性,进而产生很多抱怨。因此,不论从人员和测试用例都不能完全照搬。另外,UAT验收用例输出过程中需要经过相关方评审才能定稿,这也是查漏补缺、明确验收范围的过程。

最后,罗宾让IT的关键角色(主要是开发和测试组长,高级业务分析师)马上进行一次SIT并通知业务相关人员进行UAT测试,经过大家的共同努力,最后产品成功上线,但项目成本比预算增加了6%(调了两个高级测试人员,项目后半段每周末测试人员轮换加班)

【案例分析】

现代项目质量管理越来越多地提倡“零缺陷”,它意味着“第一次就把事情做对”,“防患于未然”,要求项目团队从开始就要对项目质量管理有正确的认识,同时也要求项目经理营造一个追求质量、精益求精、兼顾质量与效率的工作氛围。我们通过大量的项目实践中总结出项目质量管理的四大要点,高度浓缩了项目质量管理体系的精髓。

(1)客户导向
以客户为中心,把满足客户需求令其满意作为衡量质量标准的关键尺子。我们不但应该了解顾客当前的需求,而且要了解其未来潜在之需求。首先,我们应该梳理项目质量要求,并再次确认项目产品需求;其次,满足客户的需求,如案例中需要满足客户的公司战略需求,按时上线系统以达到预期占领市场的目的。
(2)过程管理
将质量管理的关注点从结果检验转变为过程监控,这种过程管理体现在时间坐标和空间坐标两个方面。

在时间坐标上,将整个项目实施视为一个工作任务衔接的流程,通过对工作流程的分析,识别和精简那些无效益的工作环节,理顺分工的接口,形成目标合力,减少扯皮内耗。在流程链条上建立相互监督机制,让每个工作环节的下游工序都变成上游工序的客户,依次对上游进行质量监督。所以,在软件测试阶段,有两个很重要的测试:它们的顺序是先系统测试SIT,待测试结果是正向的,然后进行用户验收测试UAT,是因为SIT通常由IT人员主导,目的是完成对系统功能开发的检验;UAT通常需要由业务的相关人员参与,测试关注的是业务流程是否通畅,是否符合业务的需要。

在空间坐标上,将整个项目实施视为一个各类资源的集成活动,通过对相互依存的组合要素的分析,识别并优化各类要素功能指标,在其衔接的接口处严格把关,加强沟通,分享信息和技术资源,确保最终产品的质量标准。案例中IT人员代替或帮助业务人员完成UAT测试,其实在软件行业特别是在赶工的时候很常见,但这是没有做到衔接口把关的要求。正确的做法IT同事完成他们部分的SIT从技术角度把关后交由业务同事从业务角度把关,才能使得最终产品和项目交付达到质量要求。

(3)全员参与
质量问题人人有责,它绝对不只是质量检查人员(包括项目的测试人员)的职责。项目的高质量支付包括在产品需求阶段正确地识别客户要求,在产品开发阶段完整地交付需求,在对应的测试阶段提前暴露问题,在项目转运营阶段主动识别质量的风险。通过这种主人翁的心态,把不断提高项目质量变成一种自觉的行为,从而把质量责任落实到每一个具体的阶段每一个具体的人头上,通过项目成员之间的互相协调和理解,共同提升项目质量。案例中,从梳理项目质量要求到项目经理中期的质量监控,UAT测试IT人员的参与等就是大家人人为项目的质量努力把控,尽量实现零缺陷。

(4)持续改进
不管是威廉·戴明博士提出的PDCA循环,还是戴维·苏马斯博士提出的总生产力模型,质量提高都是一个循序渐进的过程。质量管理理论如全面质量管理、精益管理,或六西格玛等,都为质量管理提供了有力的武器。我们需要把追求质量精益求精作为组织永恒的目标,不断识别改进机会,不断提高质量目标,不断采取改进措施,从而实现质量的螺旋上升。案例中,UAT验收用例输出过程中需要经过相关方评审才能定稿,这也是查漏补缺、明确验收范围的过程,测试阶段的SIT和UAT都是体现为了达到项目质量要求,持续改进项目过程出现的缺陷或不足。

努力第一次就将事情做好,这是我们在项目质量管理过程中提倡的。我们往往也会借助公司管理层明确地向组织传递质量管理的重要性,明确质量管理在整个项目管理中的战略地位,提高全员的重视度和参与度,在实际项目推进中也能更好调动并配置资源,从而有助于项目质量计划的制订和落实,更好地驱动质量的持续改进。