案例
A公司是一家美资软件公司在华办事机构,其主要的目标是开拓中国市场、服务中国客户,做一些本地化和客户化的工作。它的主要软件产品是由总部在硅谷的软件开发基地完成,然后由世界各地的分公司或办事机构进行客户化定制、二次开发和系统维护。这些工作除了日常销售和系统核心维护之外,都是外包给本地的软件公司来做。东方公司是A公司在中国的合作伙伴,主要负责软件的本地化和测试工作。
Bob先生是A公司中国地区的负责人,Henry则是刚刚加入A公司的负责此外包项目的项目经理。东方公司是由William负责开发和管理工作,William本身是技术人员,并没有项目管理的经验。
当Henry接手这项工作后,发现东方公司的项目开发成本非常高,每人每天130美金,但客户的满意度较差,并且每次开发进度都要拖后,交付使用的版本也不尽如人意。而且,东方公司和A公司硅谷开发总部缺乏必要的沟通,只能把问题反馈给Henry,由Henry再反馈给总部。但由于Henry本身并不熟悉这个软件的开发工作,也造成了很多不必要的麻烦。
为此,Bob希望Henry和William用项目管理的方法对该项目进行管理和改进。随后,Henry和William召开了一系列的会议,提出了新的做法。
首先,他们制定了详细的项目计划和进度计划;其次,成立了单独的测试小组,将软件的开发和测试分开;并且,在硅谷和东方公司之间建立了一个新的沟通渠道,一些软件问题可以与总部直接沟通;同时,还采用了里程碑管理。
六个月后,软件交付使用。但是客户对这个版本还是不满意,认为还有很多问题。为什么运用了项目管理的方法,这个项目还是没有得到改善?
Henry和William又进行了反复探讨,发现主要有三个方面问题:1、软件本地化产生的问题并不多,但A公司提供的底层软件本身存在一些问题;2、软件的界面也存在一些问题,这是由于测试的项目不够详细引起的;3、开发的周期还是太短,没有时间完成一些项目的调试,所以新版本还是有许多的问题。
此时,Henry向Bob提出是否采用公开招标的方式,选择新的、实力更强的合作伙伴。但Bob认为,与东方公司合作时间已经很长了,如果选择新的伙伴又需要较长的适应期,而且成本可能会更高。于是,Henry向东方公司提出一些新的管理建议。首先,他们采用大量的历史数据进行分析,制定出更详细的进度计划;其次,要求东方公司提供详细的开发文档和测试文档(之前William的团队做的工作没有任何文档,给其他工作带来了很多困难);第三,重新审核开发周期,对里程碑进行细化。
又过了六个月,新的版本完成了。这一次,客户对它的评价比前两个版本高得多,基本上达到项目运行的要求。但客户还是对项目进度提出了疑问,认为实时推出换代产品不需要那么长的时间。
软件外包是现在软件工程中较常见的做法。在软件外包工程中,保证质量的进度是很难控制的。对于项目经理来说需要一整套复杂的能力,比如制定计划、确定优先顺序、干系人的沟通、评价等,每一种能力都与项目的终结果有直接或者间接的关系。
然而,国内的项目经理大多没有接受过正规训练,缺乏项目管理方面的专业知识的技巧,往往只是凭借以前的少量经验盲目去做,容易出现各种问题。尤其是在管理外包项目时,缺乏足够的经验和技巧,往往造成进度不断推迟,而质量无法保证的情况。
前文是一个比较典型的软件外包项目的案例。在这个案例中,我们可以看到现在IT业内许多外包项目的影子。
在该案例中,东方公司没有专门的项目经理,是由技术人员William兼做管理。这是国内软件公司经常会出现的问题。初,出现进度落后的问题时,A公司的Henry与东方公司的William讨论后决定采用项目管理中计划管理等手段,其中包括里程碑管理。这是控制进度的较常见做法。
里程碑管理的引入
一般来说,在项目开始时,项目组成员都会对项目制定一个详细的计划。通常情况下,在明确的工作说明书(SOW)和WBS的基础上制定具体的进度计划时,需要采用一些具体的技术。像这种软件外包项目,成熟的技术是里程碑管理。
里程碑一般是项目中完成阶段性工作的标志。不同类型的项目,里程碑也不同。比如,在开发项目中,可以将需求的终确认、产品移交等关键任务作为项目的里程碑。本案例中,Henry在接手项目后采用里程碑进行管理是很恰当的。
不过,要注意的是,每到一个里程碑处,应及时对前段工作进行小结,并对后续工作进行计划调整。对于一些管理效果明显的领域,可以不必投入较多精力。而对于下一步管理过程中可能会出现问题的领域,应给予较多的关注。当然,在软件项目里,进度的变化是较常见的事情。
在本案例中,采用里程碑管理后仍没有达到客户的要求,进度依然拖后。在这里,需要考虑另一个因素—质量与进度的关系。