研发项目管理:时间、成本、质量、范围之间如何平衡?
时间、成本、质量、范围之间的平衡
识别出项目干系人后,项目经理(甚至项目团队)应了解项目干系人在范围(Scope)、时间(Time)、成本(Cost)、质量(Quality)等方面的期望。这就是通常所说的项目约束三角形(如下图)。这四个方面代表着项目管理的核心内容。
项目管理是目标管理方法。一般,项目目标是通过明确项目的起止时间、项目成本和要达到的质量要求来界定。因此,QCT构成了项目的约束边界,S则构成了项目需要满足的功能要求,也就是产品与服务的需求。如果产品实现的功能点越多(三角形面积越大),所耗费的时间则越长,投入成本也越高。而质量会如何变化呢?俗话说“做得越多错的越多”。一般而言,质量会随着产品功能的增强而下降。
假设客户的功能性需求S保持一定,QCT会如何变化呢?如下图所示,为了达到较高质量目标,势必进行更多的测试与评审等质量控制活动,耗费更长的时间和更多的开发成本(投入市场后的维护支持成本会降低,客户总体拥有成本TCO——Total Cost of Ownership会降低);反之亦然。
因此,QCTS在成为项目经理开展工作的约束的同时,也成为其在面对问题时,需要考虑的四个方面,甚至成为与相关干系人谈判并取得平衡的手段。
笔者曾亲身参与过这样一个项目:某移动运营商为了在5月17日国际电信日推出一种移动增值服务,向A、B两家公司发出招标邀请。招标邀请发出时已经是3月中旬左右。这对于AB公司来说,几乎又是一个Mission Impossible。AB两家公司毫无例外都想到了增加人手和加班加点的方式来确保按时完成。但人手问题对于哪一家研发企业来说不是捉襟见肘,即便即可启动招聘工作,也“远水不解近渴”。看来依靠人海战术缩短开发时间行不通;加班加点也同样,试问有几个研发企业的技术人员不经常加班的?
经过三天招投标双方的沟通,运营商选择了A公司。且来看看A公司给出的方案:
A公司首先分析运营商在该项目上最关注什么?时间,毫无疑问是时间。运营商无论如何无法承受在5月17日推不出新服务的结果,因此才会用时间来“压”投标方。既然如此,A公司认为在QCS三个方面应该有谈判的余地。
于是,A公司向运营商提出了两个要求:
首先,减少产品的需求。通过对产品进行分析,发现该产品的最终使用者包括两部分人员:运营商内部人员——内部用户、运营商的客户——终端用户。因此A公司提出在5月17日前确保终端用户的使用功能完全实现,内部用户的需求按照卡诺模型[1]进行优先级排序,在5月17日前实现基本功能。
其次,考虑到时间紧迫,要求降低验收标准。在验收测试时,软件缺陷密度由千分之二降低为千分之五;产品上线一次成功率100%降低为90%。A公司给出的方案是:减少部分单元/单板的测试工作,但同时提出,在保持产品级技术评审的基础之上,增加部分关键模块的专项评审,并邀请客户参加。
以上两点足以保证A公司在5.17完成运营商的要求。这似乎就OK了?
A公司可不这样认为,还提出了补充方案:在5.17正式投入运营之后,一个月内,将为运营商实现前期未完成的功能,并且提高产品质量到最初的要求(千分之二,100%)。
面对如此全面的方案,该运营商无法拒绝,欣然与A公司签订了合同。顺便提一句,运营商还为之后一个月的工作买单了。多好的方案!
笔者现正从事咨询行业,也接触了很多为电信运营商提供产品与服务的企业。每每谈起双方的合作,这些企业都满肚子怨气“他们(指电信运营商)太强势了。我们为了生存被迫接受一些不合理的要求”。是这样吗?
人、过程、技术与工具之间的平衡
企业任一方面的管理能力都依赖于三种要素的有效组合:人(People)、过程[2](Process)、技术与工具(Technology and Tools)。一个企业或者一个项目团队的项目管理能力也不例外。
人、过程、技术与工具三个方面相互制约。这点很容易从企业发展过程得到印证。当一家新公司成立时,人员较少,公司的初创人员几乎都是各方面的专家,分别具备市场、技术、管理等方面的知识和技能,并承担各自领域内的责任,因此即便没有统一规范的过程,也不妨碍公司的发展壮大。但是随着企业规模的增长、业务形态的日渐复杂、人员数量的快速增加、人员的积极性主动性相较成立之初却下降很快[3]、技能水平参差不齐,如果缺乏规范的过程,仅依靠不断地试错去获取经验并成长,企业运营成本实在太高。因此,企业一般会在这个阶段构建自己的业务流程,通过提升组织成长速度来支撑快速提高的业务成长速度。
项目运作与之类似。
当项目组成员有丰富的经验时,产品开发的流程可以相对较粗,一般可在节点处进行控制,里程碑的设置也可适当减少;反之,当项目成员缺乏相应的经验时,项目经理无疑应考虑增加更多的控制手段(如子评审),以避免成员在错误的路线上溜得太远。当面对不同个性、不同技能、不同专业的项目成员和其他项目干系人时,项目经理采用的管理和沟通手段也截然不同。比如为了说服老员工和新员工加班,项目经理需要用不同的招数才能达成目的。
当选择恰当的工具作为管理手段时,项目经理对人和过程的关注程度也可随之减少。例如,项目组采用配置管理工具如VSS、CVS、SVN作为开发文档的版本和基线管理工具时,项目经理对于文档和版本的管理就可以由该系统完成。再比如,如果采用IT化的评审流程,当每次进行评审时,项目经理仅需重点关注评审的对象,而评审过程的监控交由系统,并授权项目助理完成。可见,工具的运用可以大大提升项目管理的效率。 |