软件外包项目生命周期及各阶段的风险识别研究

  • 投稿沈星
  • 更新时间2015-09-24
  • 阅读量724次
  • 评分4
  • 80
  • 0

江义火,蔡伟鹏

(泉州信息工程学院,福建 泉州 362000)

摘要:本文探讨了软件外包项目的生命周期,研究了项目风险管理过程,重点对项目生命周期各阶段的风险因素进行识别,以期能够提升软件外包项目的风险管理水平.

教育期刊网 http://www.jyqkw.com
关键词 :软件外包;生命周期;风险管理

中图分类号:F490文献标识码:A文章编号:1673-260X(2015)02-0114-03

根据商务部服贸司统计,2013年中国共签订承接服务外包合同167424份,合同金额954.9亿美元,同比增长55.8%;执行金额638.5亿美元,同比增长37.1%.软件外包(software outsourcing,简称SO)产业作为服务外包产业的重要组成部分,占比超50%,且处于上升趋势.中国软件企业是世界软件产业分工中的重要成员,但是软件开发失败率却一直都很高.根据Standish Group对超过8000个软件项目的统计表明,失败原因中管理与技术问题分别占65%和35%[1],因此要提高软件外包项目的成功率,风险管理是关键.

软件外包活动中涉及到委托方和承包商,两者都面临着外包风险,中国企业作为承包商需要采取积极的态度对软件外包项目进行风险管理和控制.本文从承包商视角在分析软件外包生命周期的基础上,对风险管理过程进行探讨,并对生命周期各阶段的风险因素进行识别,为项目承包商进行风险管理提供借鉴,以期能够提升项目风险管理水平,从而提高项目的成功率.

1 软件外包项目的内涵

服务外包是指企业将其非核心的业务外包出去,利用外部最优秀的专业化团队来承接其业务,从而使其专注核心业务,达到降低成本、提高效率、增强企业核心竞争力和对环境应变能力的一种管理模式.它包括商业流程外包(BPO)、信息技术外包(ITO)和知识流程外包(KPO).软件外包作为服务外包的重要组成部分,指企业为了专注核心竞争力业务和降低软件项目成本,将软件项目中的全部或部分工作发包给提供外包服务的企业完成的软件需求活动,涉及以软件为载体的BPO、ITO和KPO,主要包括企业应用软件设计与开发、应用软件系统集成、测试与维护以及应用系统的数据服务等.

软件服务外包有在岸和离岸之分,在岸外包(Onshore Outsourcing,也称为境内外包),是指外包商与其外包供应商来自同一个国家;而离岸外包(Offshore Outsourcing)指外包商与其供应商来自不同国家,外包工作跨国完成.境内外包更强调核心业务战略、技术和专门知识、从固定成本转移至可变成本、规模经济等;离岸外包则主要强调成本节省、技术熟练的劳动力的可用性,利用较低的生产成本来抵消较高的交易成本.目前,中国企业从事的软件外包绝大多数为离岸外包业务,凭借人力成本优势作为外包“接包方”,从日本和欧美等国企业(“发包方”)承接软件外包项目的技术工作.

2 软件外包项目的生命周期

国内外相关学者对软件外包管理过程做了不少研究,如:Mahnke Volker将软件外包全过程划分为10个阶段:外包决策,外包管理,合同前,合同签订,合同后,活动识别,承包方选择,合同执行,监控和测试,关系管理[2].Kliem提出的软件外包过程包括外包决策、寻找承包方、承包方的选择与评价、与承包方谈判、签订合同、合同的执行及产品过程验收7个阶段[3].雷吉川,袁清清认为IT外包项目包括立项阶段,启动阶段,实施阶段,收尾阶段四个阶段[4].

目前,对软件外包项目管理过程的研究多数是从发包方的角度出发,从承包商的角度进行研究的文献很少.国内学者曹萍等从承包商视角,将软件外包项目过程划分为4个大的阶段:项目投标阶段,合同签订阶段,合同实施阶段,验收和评价阶段,但其划分还不够全面.

本文通过对软件外包项目的特点和关键过程进行分析,将项目生命周期划分为5个阶段(如图1所示):项目选择阶段(S1)、项目投标阶段(S2)、项目签约阶段(S3)、项目执行阶段(S4)、项目交付阶段(S5).

在项目选择阶段,企业要积极的寻找外包项目来源,综合考虑备选项目所需资质、人力、进度和质量要求,进行成本效益分析,初步确定需要进行投标的项目.在项目投标阶段,企业要成立项目投标小组,积极与发包方进行沟通,并根据发包方要求编写项目投标书,参与投标、讲标和答疑等环节.若能中标,则进入项目签约阶段;否则,回到上一个阶段继续寻找新的项目.在项目签约阶段,要与发包方进行洽谈,重点围绕商务和技术层进行谈判,双方共同确定项目的功能和技术要求、开发进度计划、项目质量要求及项目费用等相关事项,最终形成书面合同进行签订.项目执行阶段,是软件外包项目生命周期中最重要的阶段,所有的项目成果均在此阶段产生,包括了软件开发服务的大部分环节,绝大部分工作任务由承包方企业完成.承包方在此阶段,要认真做好项目需求获取与确认,以及项目计划与实施方面的工作,加强风险管理,严格把控项目质量、进度和成本.项目交付阶段,作为软件外包项目的收尾工作,要根据签订的合约,制定项目交付计划,准备项目交付物,接收发包方和第三方的审查和验收.

3 软件外包项目全生命周期的风险管理过程

Boehm[5]和Chaette[6]最早将风险管理引入软件项目管理,二人提出了各自的风险管理框架,为软件项目风险管理的研究奠定了基础.风险管理包括风险评估和风险控制两个基本步骤,其中风险评估包含风险识别和分析等工作[7].结合软件外包项目生命周期,对风险管理过程进行研究,有助于提高软件外包项目的风险管理可操作性,从而增强抗击风险的能力.

软件外包项目风险管理贯穿项目生命周期的各个阶段,随着项目的推进每个阶段的风险管理的侧重点和对项目的影响程度均不同,但在生命周期每个阶段都应加强风险管理.在项目生命周期的各阶段的风险管理都包括风险因素识别、风险分析、风险应对策略及风险监控处理等过程,如图2所示.

风险识别是确定何种风险可能会对项目产生影响,主要任务包括识别并确定项目的潜在风险有哪些,引起这些风险的主要因素,以及项目风险可能引起的后果.风险识别是风险管理的第一步,在充分识别项目所面临的各种风险后,进入到风险分析过程.风险分析包括风险估计和评价,风险估计是对风险事件的发生概率和给项目所带来的损失大小进行量化分析.风险评价是在风险估计的基础上,对各风险事件后果进行评价,并确定严重程度顺序,最终得到各种风险因素和项目总体风险水平.风险应对策略是指在风险分析的基础上,针对已识别的风险和总体情况,制订相应的应对措施和整体策略.风险应对策略主要有风险规避、风险转移、风险减轻和风险接受等4种方法.风险监控是对风险的发展与变化情况进行全程监督,并根据需要进行应对策略的调整.风险监控跟踪已识别的危险,监测残余风险并识别新的风险,保证风险计划的执行,并评价这些计划对减轻风险的有效性.

4 软件外包项目生命周期各阶段的风险因素识别

4.1 项目选择阶段风险因素识别

作为项目承包方项目选择是企业运营的首要任务,选择合适的项目是企业经营发展的前提.该阶段主要风险包括:①外包项目内容的不确定性.明确外包项目所涉及的工作任务、技术要求和生产成本等内容,以免项目不合适带来的损失.②外包项目发包方的不确定性.在选择外包项目时,不仅要看项目本身,还要对发包方进行评估,以免因发包方的财政能力薄弱、管理现状不良等,造成承接项目受损.③投标项目选择不当.因为信息不充分或判断失误等原因,选择了不当的项目,很可能导致在项目投标环节失败,即使投标成功也会使承包商面临较高的风险.

4.2 项目投标阶段风险因素识别

通过项目投标成功获得外包合同是软件外包承包企业生存的根本,项目投标阶段的风险主要是项目不能中标及可能导致不中标的关键因素,该阶段主要风险包括:①项目报价不合理.项目报价偏高,发包方可能不能接收,在投标中失去竞争优势;报价偏低,虽有利于中标,但可能会影响项目的开展和质量.②项目投标团队组成的不合理性.项目投标团队组成不合理,将不利于投标过程中的竞争.承包方应组建由技术人员、项目管理专家、财务人员及设备采购人员组成的专业投标团队.③项目投标分析的不全面性.项目投标分析不全面,将会导致投标过程判断错误或不准确.投标团队应对发包方、竞争对手、市场信息等因素进行收集、分析和评价,并根据招标文件要求编制标书.

4.2 项目签约阶段风险因素识别

成功与发包方进行项目签约,对于承包方至关重要,但项目签约阶段同时也是风险来源和风险控制的关键环节,该阶段的主要风险因素包括:①项目服务范围和要求描述不清晰.外包合同双方都期望项目签约过程中合理规避风险,项目服务范围和要求描述不全面、不清晰,都不利于项目的推进,并很可能导致项目最终失败.②付款进度和金额不合适.对于承包方来讲,资金是项目执行阶段的保障,如果进度和金额不合适,很可能严重影响项目的进度和质量.③合同缺乏柔性.因为在经济全球化趋势下,外包环境是一种动态环境,因此应签订柔性的合同,以适应技术进步、行业变动等外包环境的变化,从而提高外包成功的概率.

4.4 项目执行阶段风险因素识别

承包商是外包项目的实施方,用户方希望实施方做得更好,但实施方却想做得更少.在软件外包关系中,虽然在追求软件外包项目的成功上两者的目标是一致的,但发包方和外包商作为独立的法人主体都在追求自身效用的最大化.由于主观和客观方面的原因,在项目执行阶段,承包方将面临更多可能发生的风险.该阶段主要存在的风险因素包括:①需求风险.如:客户需求的不断变更,需求或表述不准确,发包方对需求分析支持不够等.②进度控制风险.如:由于承包商的自身管理、技术水平偏低及其他因素,可能导致项目进度延误.③开发工具和技术风险.如:选用的开发工具和技术手段不合适,导致项目返工或功能实现达不到合同要求.④人力资源风险.如:团队人员流失,成员能力不足,整体协作不力,导致人员不能满足项目需求等风险.⑤财务预算风险.如:由于经验不足或估算方法不当等原因,导致财务预算不足,影响到项目的完成.

4.5 项目交付阶段风险因素识别

项目交付阶段作为软件外包的最后一个环节,也是检验和确认项目成果的过程,顺利通过项目验收,完成项目交付,收到合同规定的款项是承包商的目标.但要实现该阶段的目标,可能面临以下风险:①项目验收风险.由于合同条款表述不清晰,项目任务完成达不到要求,与发包方、客户沟通不畅等,都很可能导致项目验收过程缓慢,甚至不合格;②财务收款风险.项目即使交付,也可能由于发包方或客户财务状况不佳,或者对项目的完成不满意,导致付款拖延或不能足额支付.③客户评价风险.项目完成后,客户心中对承包方都会有一定的评价,如果项目完成过程不顺利,让客户感到承包方能力不足或不用心等,很可能会对今后是否继续与承包方合作产生影响.客户评价太低,会导致承包方商誉受损,严重影响今后外包任务的开展.

5 结语

作为软件外包项目的承包商,需要在项目生命周期的各阶段,在识别项目风险因素的基础上继续采用定性或定量的分析方法对风险进行评价.同时根据风险分析评价的结论,确定各种风险因素和项目总体风险水平,制定相应的风险应对策略.并实时对风险的发展与变化情况进行全程监督,并根据需要进行应对策略的调整.基于生命周期理论对软件外包项目进行管理,能够提升项目风险管理水平,可以及时地发现并减少项目风险,提高软件外包项目的成功率.

教育期刊网 http://www.jyqkw.com
参考文献

〔1〕The Standish Group.Extreme chaos[DB/OL].[2010-01-20].http//:www. standishgroup.com.

〔2〕Mahnke Volker,Overby Mikkel Lucas,Vang Jan.Strategic outsourcing of IT services,theretical stocktaking and empirical challenges[J].Industry and Inovations,2005,12(2):205-253.

〔3〕KLIEMRL.Managing the risks of outsourcing agreements[J].Information Systems Management,1999,16(3):91-93.

〔4〕雷吉川,袁清清.基于生命周期的IT服务外包项目风险控制研究[J].信息系统工程,2011(12):70-72.

〔5〕Boehm B W.Software Risk Management[M].Washingt on DC: IEEE Computer Society Press,1989.

〔6〕Charette RN . Software Engineering RiskAnalysis and Management[M].New York: McGraw Hill, Inc.,1989.

〔7〕Boehm B W . Sof tware risk managemen t : Principles and practices [J].IEEE Software,1991,8(1):32-41.