如何控制软件项目外包中的风险
关键字:软件项目外包 风险 中国 软件 行业一方面紧跟世界潮流,技术与 模式 日新月异,另一方面具有中国特色,行业与地域存在壁垒。作为品牌和实力正处于培育发展阶段的软件公司,在市场拓展过程中为了克服积累不够或水土不服等弱点,实现“利润最大化,成
关键字:软件项目外包 风险
中国
软件行业一方面紧跟世界潮流,技术与
模式日新月异,另一方面具有中国特色,行业与地域存在壁垒。作为品牌和实力正处于培育发展阶段的软件公司,在市场拓展过程中为了克服积累不够或水土不服等弱点,实现“利润最大化,成本最小化”,把自己不擅长或非发展方向的项目进行外包是非常普遍的现象。
软件项目外包其实质是
软件开发过程从公司内部部分或全部延伸到公司外部的管理规范与管理技术。与内部实施相比,管理难度有过之而无不及。在实践中,也有很多公司在外包之初,设想得很好,以为可以一包了之,但最终却落得个钱花了不少,项目却一点也推不动,或者拿到的根本就不是所想要的。
为了促进探索企业在软件项目外包管理的规范化,本文结合笔者所在的公司在外包项目中得失,对如何成功地达到软件项目外包的目标,以及相关的策略、监理等要素进行分析,谨供参考。
外包中的监理
欧美企业愿意向印度、爱尔兰、中国等软件生产“蓝领”国家进行
软件外包时,并非意味着它们不能开发,而是他们不开发,原因很简单,就是节省成本和控制
质量。此
类外包的发包方位处强势,全程可控,也形成了严格而规范的流程。而回首国内企业的
软件工程外包,背景就复杂得多。
有的是“主动外包”,强势出击,客户可控;有的是“被动外包”,策略联盟,短板受制;有的则是“绑架外包”,客户指定,余地甚微。面对不同
类型的外包动机,我们在讨论外包风险时容易陷于甲方店大欺客或丙方反仆为主之类的表象,缺乏对外包目标的准确定位。目标不明,导致以监理为核心的外包管理很容易“左倾”控死(丙方)和“右倾”失控(于丙方),最终结果是无法向甲方兑现自己作为乙方的承诺。
因此,因此我们进行软件工程项目外包时,一定要根据动机类型,结合甲方丙方特点,理清目标定位。继而选择监理策略,确定监理规范与流程。公司通过外包要达到的主要目标可以分为:
1、求名。为了打开行业局面,取得战略突破,在竞标过程中一切为了“中标”,甲方指定能接受。可以无实,但必须有名。中标后非不为,实难为,必须外包。监理的策略底限应该是尽量避免项目失败,控制资本面的风险。
2、追求利润。该软件工程非公司长期发展方向,中标后非难为,实不为。寻求外包,降低成本,获取软件工程项目边际利润。或者整体中标,硬件盈利,软件外包。监理的策略是里程碑产品质量可控,及时发现问题。
3、技术经验。该软件工程为公司发展方向,但技术层面存在“短板”。外包的目标是通过监理掌握技术,吸收精华。监理策略是组成内部项目
团队,技术层面全过程跟踪。行评审审核之名,图技术学习之利。
4、行业业务。该软件工程为公司发展方向,但业务流程模型需要借鉴。与追求技术经验类似,监理策略是组成内部项目团队,技术与业务全程跟踪,通过监理学习先进的行业业务理念与模型等。监理的目标是软件工程的可重复。
显然,不同的项目条件不同,追求的目标不一样。我们在策划外包时,首先应该根据项目具体情况和公司战略取向,确定要达到主要目标。再来策划具体的范围、进度、成本、质量、风险等
关键过程域和知识域,纲举目张。
外包的管理规程
“
项目管理知识体系指南”(PMBOK)、“软件
能力成熟度模型”(
CMM)和国际标准
ISO9000-3中对软件工程项目外包的管理规范都有原则性设计。其中PMBOK体系原则上可以应用在各个行业的,缺乏针对软件领域的特点进行专门的论述。强调的是外包过程管理的一般原则,操作过程不具体。
ISO 9000-3系列是针对软件领域的标准,但只是告诉你要按规定做,不强调效果和后续改善。侧重水平的评估,而如何结合企业发展战略、分析从软件项目外包中能获取什么、已经获取什么等考虑不多。不利于提高组织级的外包管理水平。
CMM则强调软件公司的过程能力的持续改进,重点关注软件的开发过程管理和产品管理。其中的子合同管理对软件外包承诺、能力、过程、测量、验证有比较好的
框架定义。各公司可以根据自身情况,结合内部
软件管理规程,可以制订出合适的软件项目外包管理规程和裁减策略。
SEI还开发了另一个模型——
SA-CMM(软件采办能力成熟度模型)。与CMM 不同的是,SA-CMM关注的是作为甲方的软件能力成熟度。而CMM关注的是作为乙方的软件能力成熟度。软件采办能力成熟度模型也适用于
软件生命周期的各个阶段。
外包管理的组织与过程
基于软件外包管理的复杂性,要确保软件外包的主要目标实现,并能在组织级外包管理水平不断提升,我们必须合理地设计与外包相关的组织结构与角色工程界面。反思部分外包项目管理失控现象,发现企业在软件项目外包管理方面职责不是很清晰,外包的策划、承包商的选择、监理执行等过程中怎么协同,目前主要取决与客户经理和高层意志,其他角色基本上缺位或虚位。
参考CMM理念,结合国内软件工程特点,笔者建议外包(或外包为主)项目还是采用外包管理部门领导下的项目监理负责制比较合适。类似内部实施项目的业务主管部门领导下的项目经理负责制,外包管理部门负责根据项目
需求,定义外包需求;策划外包承包商的选择;外包合同的拟定;推荐并管理各外包项目监理;执行外包合同,监控项目进展;积累外包获取的财富;量化评估外包承包商的业绩;维护外包承包商关系记录等。
市场营销部门在项目转入工程实施阶段后,向项目监理转交客户接口;配合项目监理做好客户沟通管理;配合项目监理组织好项目各里程碑的提交内容的客户认可获取;协同项目监理做好项目验收工作等。
项目管理部门根据公司规范一方面组织项目各方面评审、审批;另一方面从配置、
测试、质量等角度做好项目支持与
度量,为项目监理定量监控项目进度、把握项目质量、规避项目风险提供支撑。
商务渠道部门则配合项目监理做好合同管理,设备采购,款项支付等工作。
各项目的高级管理人员根据项目特点,审批决策外包项目需要实现的主要目标;任命评审项目监理;确定监理策略;选定外包承包商;外包合同批准与中止等。
原文转自:http://www.ltesting.net