软件项目外包其实质是软件开发过程从公司内部部分或全部延伸到公司外部的管理规范与管理技术。与内部实施相比,管理难度有过之而无不及。在实践中,也有很多公司在外包之初,设想得很好,以为可以一包了之,但最终却落得个钱花了不少,项目却一点也推不动,或者拿到的根本就不是所想要的。
为了促进探索企业在软件项目外包管理的规范化,本文结合笔者所在的公司在外包项目中得失,对如何成功地达到软件项目外包的目标,以及相关的策略、监理等要素进行分析,谨供参考。
外包中的监理
欧美企业愿意向印度、爱尔兰、中国等软件生产“蓝领”国家进行软件外包时,并非意味着它们不能开发,而是他们不开发,原因很简单,就是节省成本和控制质量。此类外包的发包方位处强势,全程可控,也形成了严格而规范的流程。而回首国内企业的软件工程外包,背景就复杂得多。
有的是“主动外包”,强势出击,客户可控;有的是“被动外包”,策略联盟,短板受制;有的则是“绑架外包”,客户指定,余地甚微。面对不同类型的外包动机,我们在讨论外包风险时容易陷于甲方店大欺客或丙方反仆为主之类的表象,缺乏对外包目标的准确定位。目标不明,导致以监理为核心的外包管理很容易“左倾”控死(丙方)和“右倾”失控(于丙方),最终结果是无法向甲方兑现自己作为乙方的承诺。
因此,因此我们进行软件工程项目外包时,一定要根据动机类型,结合甲方丙方特点,理清目标定位。继而选择监理策略,确定监理规范与流程。公司通过外包要达到的主要目标可以分为:
1、求名。为了打开行业局面,取得战略突破,在竞标过程中一切为了“中标”,甲方指定能接受。可以无实,但必须有名。中标后非不为,实难为,必须外包。监理的策略底限应该是尽量避免项目失败,控制资本面的风险。
2、追求利润。该软件工程非公司长期发展方向,中标后非难为,实不为。寻求外包,降低成本,获取软件工程项目边际利润。或者整体中标,硬件盈利,软件外包。监理的策略是里程碑产品质量可控,及时发现问题。
3、技术经验。该软件工程为公司发展方向,但技术层面存在“短板”。外包的目标是通过监理掌握技术,吸收精华。监理策略是组成内部项目团队,技术层面全过程跟踪。行评审审核之名,图技术学习之利。
4、行业业务。该软件工程为公司发展方向,但业务流程模型需要借鉴。与追求技术经验类似,监理策略是组成内部项目团队,技术与业务全程跟踪,通过监理学习先进的行业业务理念与模型等。监理的目标是软件工程的可重复。
显然,不同的项目条件不同,追求的目标不一样。我们在策划外包时,首先应该根据项目具体情况和公司战略取向,确定要达到主要目标。再来策划具体的范围、进度、成本、质量、风险等关键过程域和知识域,纲举目张。