外包是发包方和接包方互相信任、高度协作的共同行为。对于接包方,要求企业具有一定的成本、质量控制能力,具有国际市场开拓能力(包括业务能力、交流能力、接包渠道和商业信誉等)。为了顺利实施外包,对于发包方,要求企业具有一定的技术水平、项目管理水平、人力资源和沟通控制能力。为了是外包服务形成产业化,还要求形成良好的政策环境和市场环境等。下面以软件项目外包为例,从发包方和接包方的角度,讨论实施外包的关键因素。
1、项目需求
项目需求是项目规划和正确实施的根本,在外包项目实施过程中,如果客户经常改变需求或提出新需求,常常使项目延期或超出预算,对于合作双方都会受到商誉和经济上的损失。
通常发包方根据外包的项目特点,进行项目外包分析,提出项目需求报告。接包方在实施项目之前应该深入了解和挖掘客户需求,对某些不明确的需求与发包方讨论,对于项目实施过程中的需求变更,规定处理办法,并达成一致,形成项目的最终需求。
在需求分析阶段,接包方首先对发包方的需求认真分析,然后通过业务建模、会谈、问卷、需求会议等方式收集客户完整需求,形成文档,然后经过客户讨论、客户审查、文档修订等多次反复的过程。
2、项目计划
在项目实施之前,通常发包方提出项目实施计划的草稿。项目计划的内容应该完整、可行,对于项目流程、工作量、资源配置和项目里程碑等需要双方接受达成一致。
接包方要及时全面分析计划的内容,要详细地跟本企业的计划进行比对和审核,从而了解外包商对整个项目的流程、内容、估计的工作量和资源的安排是否与项目本身的要求吻合。明显的差异都需要及时澄清并建立共识。
发包方根据接包方对项目计划草稿的建议认真分析和深入讨论,进行必要的修改和补充,形成双方都接受的最终项目实施计划。
3、质量控制
软件外包的质量指软件产品满足用户需求的程度,包括功能需求、性能需求、稳定性、安全性和技术先进性需求、支持和服务需求等。达到客户的质量要求是外包业务的基本要求。
以软件开发项目为例,接包方质量控制的常用方法如下:
通过多次反复、多方参与的评审控制需求和设计的质量。
在编码之前,制定代码规范,并强制执行,以便保证代码的规范性。
通过严格的、完整的测试流程保证编码质量。
需求分析、方案、系统设计、测试计划、实施计划等必须进行内部评审,通过内部评审后指定双方人员共同审查。
必须制定全面的测试计划和质量保证实施过程并通过审查。
系统交付使用前,要经历单元测试、集成测试、系统测试和用户测试、验收测试等质量检验过程。
制定实施和维护计划以及实施和维护操作规程,记录操作过程,及时请发包方确认。
4、进度控制
进度影响双方的成本,可能影响发包方的业务,进度还可能影响产品质量。
接包方应该按照项目计划的进度实施项目,及时定期汇报实际实施的进度。对项目实施过程中影响进度的因素综合分析,及时与发包方交流,提出解决办法。发包方要对接包方的进度进行监控。
软件外包项目实施进度控制的常用方法如下:
通过科学估算,考虑资源配置情况,共同制定合理的双方认可的进度计划。
细分任务,制定更加精细的里程碑,并按里程碑进行验收和考核。
建立常规的进度报告制度,以便及时掌握项目进度。
采用严格的流程来控制需求变更。
进度计划中,将一些比较大的工作拆