编者按:曾经参与项目开发的人都知道,开发过程的压力相当大,基本上每天都要加班。在项目接近完成的阶段更可能把周日都“搭上”,但还是经常不能如期完工。有项目外包的,常在最后一星期才知道外包商“放了飞机”,该如何才能避免延误呢?
在亚太地区,绝大部分外包项目都是以一个固定价格来实施的,这种合约模式常常会给企业一个错误的观念:项目延误只会带来不便,不会影响项目投资。实际上,任何项目延误不单是带来不便,更可能会直接影响企业的运作和利益。如果一个新的业务因为软件或相关信息没有准备好而不能如期推到市场上,让别的企业占了先机,这对企业的影响有多大?或者一个项目的开发目的是为了简化内部流程、提高工作效率,项目的延误会延长目前的运作瓶颈,增加企业的运作开支。这些都能直接或间接影响企业的利益,而不单是开发投资是否增减的问题。
欧美地区的外包项目多以实际工作天数来计算项目的投资,因此项目延误会促使项目超支。在这种情况下,避免项目延误是项目经理管理能力的一个重要衡量指标。项目经理需要有效地监控外包项目的进度和风险,才能避免项目的延误,避免额外付出的开发费用。我们可以借用欧美这种管理观念来管理国内的定额外包项目,以保证项目能够在预定的时间内完成。
建立自己的项目计划
作为一个项目经理,千万不要采用外包商提供的项目计划来进行监控,以为这样可以省去项目计划的工作。纵然是外包项目,项目经理也需要亲自制定一个完整的项目计划,才能够知道整个项目的工作量、评估出跟外包商谈判项目的价格、确定好项目需要哪些技术人员、衡量外包商是否拥有充分的资源以及判断外包商所承诺的开发时间是否可行。
企业建立好项目计划,也应要求外包商在项目开始前提供一个完整开发计划。一些外包商为了避免繁琐的文书工作,往往会宣称合约签订前所提供的计划便是整个项目计划。外包商这样做只说明一点:他们并没有一套完整的开发管理体系和项目管理的机制,他们的项目管理人员是一名不太称职的项目经理。任何一个称职的项目经理都应该了解这一点:合约谈判期间所制定的初步项目交付计划并不全面,需要根据项目的实际合约内容进一步进行修改,要补充上实际的工作量、资源的调派和需要的时间才能够成为一个可行的计划。
拿到外包商交来的项目计划后,要详细地跟本企业的计划进行比对和审核,从而了解外包商对整个项目的流程、内容、估计的工作量和资源的安排是否与项目本身的要求吻合。明显的差异都需要及时澄清并建立共识。确认了外包商的项目计划后才能够正式地启动项目,开始对项目进行监控。
关注进度评估
外包合约必须明确规定外包商需要定期提供进度报告。我看过很多项目的进度报告,内容各有不同,但大部分都明确地说明已经完成哪些部分的工作、哪些工作还在进行中、下次报告期间会开展哪一部分工作以及工作是否按时完成,更有采用红、黄、绿等颜色来表示项目进度状态的。这些信息,基本上只能让管理层了解项目的概况,并不能让项目经理全面地把握项目的进度。
我认为,最好是要知道余下来的项目有哪些工作还没有完成、需要多久才能完成、哪些工作还没有开始、是否能如期开始以及计划的资源有没有变动。要是这些答案跟原计划有差异,应该马上进行反思,深入了解还没有完成的工作以及没能按计划开始的主要原因,从而跟外包商进行探讨如何才能够把项目纳入正轨。已经完成的工作,对我来说已经是历史,对项目能否如期完成已经没有多大的影响。还没有完成或者还没有开始的工作,才是项目的致命伤,才需要特别加以监控。
对外包商所提供的进度报告需要加以确认,才能够肯定所说的工作实际上是否如期完