【案例正文 】
一次失败的经历 在亚洲四小龙经济全盛时期,小李在某公司亚太区总部负责该区的软件开发。为了应付业务迅速增长所带来的需求,公司在各地都需要进行一些大型项目,包括主机的转换与安装、应用系统开发等项目 。总公司要求他在把部分开发工作外包,这样一来可以降低开发成本,同时也为了能在这一段时间内保证有足够的人力来完成项目。最后,他们决定利用公司本身的资源在区内各计算机中心内进行软件核心功能模块的开发,周边功能模块则实行外包。他们选择了菲律宾和泰国这两地的软件企业来协助开发部分应用软件,国为这两地一些有大批新兴的软件企业,所需的开发费用只是项目基线的四分之一而已民。首先,他们对两地一些有规模的软件企业进行严格审核,包括对这些企业的技术人员数量、技术水平、财务状况、可靠性等各方面进行深入的评估,然后在每地选择一家从事外包。他们制定有关程序的规格说明,然后把这些说明交给对方进行编程和模块测试。当接到第一批交回的程序时,他们从测试报告中已经发现结果跟我们的期待有很多不同之处。他们在进行测试过程中发现有些程序不能跟核心模块连接,更有些程序不能在主机上运行。除了对交回程序的质量感觉失望之外,更知道这会全面影响整个项目的进度。
请根据以上资料,说明项目外包应该考虑那些因素。
以下从项目交付物、范围、质量、进度、成本以及项目管理模式、风险控制等几个方面来说明项目外包应该考虑几个因素。
有明确的交付物。这是目标,确定明确的目标是项目外包重要的因素。
考虑外包范围。从案例中看到,核心模块和周边模块是这个项目的两个范围,在确定了这个范围后需要划清各自的界线。这就需要详细设计,规定模块之间的接口等。
考虑外包后的项目管理模式。软件作为一个整体,内在联系紧密是必然的,外包企业异地开发存在沟通、协调、控制等障碍。所以,需要考虑外包企业在同一个项目经理的管理下开展开发工作。
权衡目标、进度、质量、成本的优先级。目标是应该放在第一位考虑的,其次是质量,接下来考虑进度和成本。预期的交付物才是最终目标,其余的要素都是为交付物服务的。所以,案例中考虑到外包成本比自己开发低,而选择了外包,同时应该考虑外包方式对目标达成所存在的风险。那就是各要素的控制。
既然选择了外包有降低成本的好处,就要同时进行风险分析及防范。前边提到的与外包企业在同一个地方办公受同一个项目经理的的管理就是一个有效的措施。
畅通的沟通渠道。把外包企业置于项目经理的管理之下,把外包企业作为项目的一个参与者,经济上各有所属,但技术管理上服从项目整体管理,是有效防范交付物偏差、质量不满意的具体措施,这样做了整个项目的进度才不至于受局部影响,也真正的是的项目成本降低。
最后,做好合同管理。与外包方签订一份因外包方交付物不能满足合同要求时应承担的违约责任。这也是风险转嫁的一个措施,但最根本根还是要在项目实施过程中控制好各因素。