外包风险贯穿于软件外包的全过程,具体表现形式多种多样。概括起来,软件企业实施软件外包的风险主要来自不良决策、准备不足、技术欠缺和管理失控。承包方则是外包内容的具体实现者,影响承包方的外包关键因素主要包括五个方面:技术、地理、方法、人员和项目管理。
软件发包方需要在外包实施过程中和承包方有效交流,对过程风险进行及时而有效的解决。而承包方只要有效地控制以上五个因素,就可以大大规避承包方实施外包过程的各种风险。
针对来自发包方和承包方的风险因素分析,软件企业在具体实施软件外包时可以通过正确决策、成本核算、选择承包方、有效管理等方法有效规避外包的风险。
具体来说,确定切实可行的外包策略是规避风险的第一步。外包必须首先保证企业的核心技术和信息足够安全,其次要保证通过外包能降低内部生产成本,提高产品的质量和竞争力,缩短产品的开发周期。如果不能达到这些目标,则企业在当前阶段就不宜采用软件的外包策略。
此外,我们还要考察发包方企业是否有软件外包能力。如果企业内部没有满足外包要求的技能和资源,不能在内部实现较高级别的项目管理,则说明当前的软件企业没有足够的外包能力,不宜实行软件外包,否则外包失败的风险大于成功的几率。
规避风险的第二步是核算和控制外包的综合成本。外包成本包括显性成本和隐性成本,显性成本包括人力资源成本、软件工具成本、硬件和办公环境成本等,这些成本可以较明显地观察到。而隐性成本包括外包项目管理的交流和沟通成本,处理外包内容的变更成本等,这些成本因为不好估计具体的工作量,往往在外包规划阶段忽略或过低估计,造成外包实际成本大大高于最初的预计成本。根据经验,大型软件外包的项目管理等隐性成本大约占项目总成本的15%左右。
接下来,我们应该做的是考核和确定合适的承包方。选择一个合适的软件外包承包商并非一件轻而易举的事,发包方必须在最少的投入成本和满足目标市场质量的需求之间保持平衡。发包方必须对承包方企业的实力、资格认证和服务经验等严格考察,而不能仅仅根据承包方的报价来衡量;通过严密的法律条款、严格合同审核来保障发包方的知识产权和商业机密,降低关键信息泄露的风险;通过严格的外包过程控制外包业务的质量和进度,降低外包项目进度失控的风险。
最后,我们要管理单点联系的外包项目。对于那些复杂的软件外包项目,必须加强外包项目管理。发包方必须任命一位既熟悉外包软件技术,又善于交流的项目管理人员。如果发包方内部没有合适的管理人员进行过程跟踪、度量和控制,那么就会有外包项目进度和质量失控的风险。
对于承包方也要指定惟一的项目经理,对内安排具体的外包任务,对外与发包方交流、报告进度和问题。发包方和承包方项目经理的单点联系,使得双方的信息入口和出口惟一,避免了多头管理带来的混乱,降低了过程失控的风险。
总之,软件外包是发包方和承包方互相信任、高度协作的共同行为。发包方软件企业需要合理外包决策,细化和筛选可以外包的内容,确定具体的外包实现方式,选择合适的承包方,规范外包的实施流程,积极地进行外包项目管理,实现全方位、全过程、全天候地外包过程监控,将软件外包风险降低到最小程度。