随着信息技术的飞速发展,软件已进入了社会生活的方方面面,越来越多的企业将他们的业务系统构建在以软件为核心的IT系统之上,企业通过它们来为自己的客户提供快速优质的服务。正因为软件已经成为业务的基础平台,企业的核心竞争力在很大程度上取决于软件系统的质量,要求软件系统能够迅速适应业务需求的变化,同时保证软件系统的高性能、高可靠性和可维护性。然而对于大部分企业而言,软件开发并不是他们所擅长的业务,加上软件系统的复杂性及很高的质量要求,大部分企业都选择将软件开发项目外包出去,由专业的软件开发(供应)商来负责软件的开发。但是软件外包并不意味着企业对于软件的开发过程放手不管,企业应该建立与供应商之间的协议,并且监控供应商的开发过程,并对供应商提交的最终系统进行全面的验收,从而彻底保证供应商能够按时交付一个高质量的软件系统。
软件项目的成败在很大程度上取决于对其开发过程的控制,这包括对质量、源代码、进度、资金、人员等的控制。要进行有效的过程控制,仅仅依靠人的力量是不够的,还需要有相应的管理工具支持以实现高效的“软件生命周期管理”。
然而由于历史和现实的原因,软件生命周期管理流程和工具在我国软件行业中的应用并不普及,由于缺乏必要的管理流程和工具,很多企业在软件外包项目中都会或多或少的遇到如下的问题:
l  开发过程不透明,很难监控开发的进展情况
l  不能及时了解项目的进度,经常导致项目延期
l  无法有效实现多地的协同开发,增加外包开发成本(场地,差旅费)
l  无法开展规范化的测试工作,很多问题要到验收阶段才会暴露出来
l  缺乏必要的版本管理工具,系统在构建和发布时产生问题
l  缺乏相应的文档,增加了维护和升级的难度
 
这些问题导致很多企业对外包项目不能进行有效的控制或是在开发中造成过多的资源浪费(各个系统间太多的重复开发),以及开发出来的系统不能响应市场快速的变化。这些问题直接降低了发包方企业的生产力,增加了企业运营成本。
要从根本上切实提高软件外包开发的管理水平,必须从多方面入手,引入先进的开发流程,借鉴业界的最佳实践,以及构筑高效的系统开发管理平台是必然的选择。
为了解决上述的外包开发管理中的常见问题,我们基于微软最新发布的软件生命周期工具Visual Studio Team System,设计了微软的软件外包开发管理解决方案,能够对多平台和地理分布的开发团队提供必要的开发流程指导,实现高效的项目管理,促进项目团队的沟通,并提供了紧密集成的变更和配置管理系统,为企业建立了先进的软件协同开发管理平台。