【IT168 技术文章】
所有从事过项目管理工作的人在谈到自己曾经的工作经历时总会有一些难忘的回忆。由于员工总是想要在尽可能短的时间内,以尽可能快的速度,在付出的成本代价最小的情况下完成工作,项目就经常会出问题。而不幸的是,职业项目经理又总是想自己来处理好项目的时间/成本/性能/质量之间的关系。由于曾经有过这样的亲身经历,对这一点我可以说是深有体会。
举例来说吧。我曾经遇到过一个项目,在项目的进行过程当中,项目经理忽然发现各项工作的完成时间似乎比预计的都要长了一倍。当然,这种情况的出现是有情可原的。因为在对项目的工期进行估计时,考虑到的是由工作经验丰富的员工来完成项目,而实际上,当时项目小组的成员主要都是一些初级工作人员,他们的工作经验并不丰富。小组所订购的设备也没有按期送达。此外,参与项目分析的商业用户的数量也没能达到分析家们的要求。在这些因素的综合作用下,项目延期也就不是什么难以理解的事情了。当然,尽管工作量在增加,小组成员的组成也没有发生变化,但项目的截止时间也是始终固定在那里的,因此员工们被告之他们必须要想办法在原有的时间框架之内完成全部的工作。诚然,他们可以增加新的员工,但是大家不要忘了“即使是有九个女人,也没有办法在一个月里生出孩子来”呀!
就在这个时候,项目经理做出了一个大胆但是错误的决定,他跟自己赌了一把,决定带领项目小组同时进行多个阶段的工作,以便在原订的时间框架内完成项目。在具体的设计还没有完成之前,他就让自己手下的工作人员开始编码,以为即便是日后要对编码进行修改,工作量也不会很大。大家可以想象,由此而带来的后果是多么严重,项目经理的梦魇也就由此而开始了。由于程序设计人员缺少详细的设计信息,他们所编写出来的编码的质量也就可想而知了。在设计最终完成之后,为了让编码同设计相吻合,有大量的工作要去完成。最终,项目小组没能在原订的时间框架内完成项目。员工们可以很轻松的忘记项目经理早先的提醒和警告,但是项目经理却无法逃避自己的责任。毕竟,最终要对项目的成败负责的都是项目经理呀!这个道理大家应该并不感到陌生吧?
那么,是什么地方出了问题呢?答案显然很简单,那就是项目经理可以随意的决定项目的阶段实施进程。在项目的详细设计阶段完成之前,应该有一扇“门”或者说一个正式的标准来阻止项目小组进入编码阶段的工作,而项目经理正是缺少这样一种约束。即便是没有这样一种约束机制,至少也应该有一个基本的风险评估,要获得项目股东们的通过呀。这样一来,如果项目的风险得到了认可,那么决定就是大家集体做出的了,责任就应该有大家共同承担,而不会只落在项目经理一个人的头上了。但遗憾的是,现实情况并非如此,项目经理一个人就可以做出进入下一阶段工作的决定。当然,他做出这样的决定完全是出于好意,但是这并不意味着他做出的就是正确的决定。
质量控制vs.质量保证
大多数软件开发部门都有自己的质量控制体系。其中很多又都有自己独立的测试小组,来保证最终推出的产品满足良好的品质要求。然而,有一个问题却经常被忽视,那就是充分的质量保证体系。这一体系的作用是确保产品达到了预期的质量要求。从定义上我们可以看出,成功的质量保证能够减少质量控制的失败。质量保证同质量控制之间有一个很重要的区别,那就是如果没有质量保证的支持,大家常常会在事后发现质量控制的问题,无法防患于未然,而这个重要的区别又常常被我们所忽视了。
质量门
在质量保证体系当中,我们可以应用质量门(Q-gate)这个概念作为一种方法。整个概念一旦与项目管理结合在一起,就可以帮助项目经理控制好软件成本、性能和质量之间的平衡。在软件的整个开发过程当中,每一扇质量门都标志着一个项目阶段的正式结束,只有通过了这扇门,项目才能从一个阶段进入到下一个阶段。
每通过一扇质量门,就意味着项目前一个阶段已经完成并且达到了预期的质量要求,可以进入下一个阶段的工作了。按照事先已经确定好的判断标准,每一扇质量门实际上都决定着项目前一个阶段工作的成败。和项目时间与成本投入一样,项目风险也会在质量保证的过程当中得到判断。这样一来,项目的股东们就有足够的信息可以作出决策了。质量门这一概念的好处在于:
项目股东可以和项目经理一起对项目的质量承担责任。
质量门的存在促使项目小组在项目进行过程当中对自己的工作质量进行评估,更好的改进项目质量。
质量门的存在能够保证前一阶段的工作按照正式的严格的程序过渡到下一阶段。所有的问题都会被及时发现并得到解决,项目小组可以及时抓住机会对工作进行改进,风险评估也可以及时进行。
质量门的存在可以加强项目各方的交流,可以促使关键股东的积极参与,通过他们的参与来更好的对项目预期进行管理。
在实践当中,质量门是一个很好操作的概念。它使已经完成的工作和应该完成的工作得到正式的规范,也可以保证项目小组同所有股东之间的交流。它可以简单的就像是一份成绩单,上面写着及格或是不及格的分数。项目的每一个阶段都会有这样一份成绩单,就像是一张“出门证”,也可以说是一张“进门证”。当然,考虑到项目进行过程当中可能的实际情况,这些出门证规定的标准是要有一定的灵活性的。
我们还回到刚才谈到过的那个例子,如果在那个项目的进行过程当中引入了质量门的概念,项目经理就不可能让小组成员在设计阶段还没有完成之前就开始编码工作了。即使是这样做可以带来的潜在收益超过了项目本身要承担的风险,那么这个决定也不再是项目经理一个人的决定,而是他和股东们一起共同做出的决定,不是一时的感情用事,而是建立在充分的评估基础之上。项目经理也就不用单独为项目的失败承担责任了。