基于成本收益的软件项目成本风险控制研究

时间:2022-07-25 08:30:22

基于成本收益的软件项目成本风险控制研究

【摘要】 在软件项目开发过程中,成本控制是软件项目追求利益最大化的常用手段,由于多种因素的影响造成了成本的不确定性风险。可在软件项目增量式开发方法下,利用COCOMOⅡ成本估算模型与实物期权的软件预期收益计算方法相结合的成本收益分析方法,对软件开发过程进行持续监控,达到控制成本风险的目的。

【关键词】 成本风险;COCOMOⅡ模型;实物期权;成本收益分析

成本费用是项目开发过程中的一个重要指标。软件开发项目是一类充满风险的项目,在软件开发过程中,存在有多种不确定性因素,这主要是因为软件开发项目不像其他工程项目拥有实体性,软件开发项目是项智力活动。这些不确定性因素的存在往往给项目带来不同程度的损失,一个项目是否有必要进行,最主要的判断标准是该项目在未来的时间内获得收益,即项目是以未来的收益为驱动力的,如果项目在进行到一定过程中时发现已无任何的价值可言,则项目注定失败。

在项目的进行过程中,追求项目的未来利益最大化是项目的终极目标,控制或压缩成本便成了软件项目承包商常常采用的战术方针。这样也就带来了一系列的问题,如如何控制成本、前期开发的浪费使得后期开发成本增加等,这时就需要成本风险控制。

一、成本收益分析

成本收益分析是指以货币单位为基础对投入与产出进行估算和衡量的方法。它是一种量入为出的经济理念,它要求对未来行动有预期目标,并对目标的几率有所把握。它探究如何以最小成本取得最大的收益,是以追求效益最大化为目标。采用成本收益分析方法完成符合软件公司进行项目的目标――追求项目的利益最大化。

在进行成本收益分析之前,本文先对软件项目开发方法进行界定:在所采用的开发方法为增量式开发方法。所谓增量式开发,是指每个阶段开发系统一部分相对独立的特性,每一阶段的产品称为一个“版本”。构造出每个阶段的验收测试,当验收测试通过时,就可以确认这部分工作已经全部完成了。

(一)软件开发项目成本估算

采用Bohem的COCOMOⅡ软件成本估算模型。COCOMOⅡ估算模型是在项目确定开发后,对软件产品提供了模块―子系统―系统的三级层次分解结构,把成本驱动变量放在相应的层次上考虑。通过源代码行数或功能点数来计算工作量和进度,使用五个规模因子和17个成本驱动因素进行调整。

其计算公式为:E=A×KLOCB×EAF,常数KLOC取值为2.55, 即千源代码行,此处是表示以千源代码行计数的级,采用专家打分法对这四个成本驱动变量进行打分。

在上面的计算公式中 是以人月为单位的工作量,为了能够准确地评估项目的成本值,需要将人月转化为货币单位(如元)。在单位转化的过程中,可以根据历史项目的统计计算出每人月费用c,如若累计投入工作量为160人月,每人月费用为10000元,则该项目的投入成本为1600万元。转化为以货币单位的计算公式:

C=A×KLOCB×EAF×c(公式1)

(二)软件开发项目的预期收益计算

采用实物期权的思想对软件开发项目的预期收益进行估算。实物期权是金融期权在实物领域的扩展,其标的物(基本资产)一般是某投资项目的价值,实物期权也往往是某项投资或管理的选择权。拥有了实物期权,其持有者就可以在一定期限内根据基本资产的价值变动,灵活选择投资方案或管理活动。实物期权根据对行权期的不同限制分为欧式(只有在期权到期日才可行使权)和美式(可在到期前的任何时刻行权)。如果把软件开发投资看成是经济价值和期权价值的组合,每一个项目开发阶段是期权(项目成本)向项目收益的转换。以下采用欧式期权方式:

其中option(si,sr,T)为待计算期权值;si表示软件项目的成本;sr表示软件项目的回报;p代表延期行权的机会成本,以直接现金流或持有收益率形式体现;T是距离可以行权的时间; r是无风险收益率;N函数是标准正态分布函数;v2=vi2+vr2+2vivrpir,其中vi,vr分别表示si,sr变化率的标准偏差,pir表示si,sr的协相关系数。

二、成本收益法在成本风险控制中的应用分析

根据介绍,可以运用以上的计算公式,分别计算出估算成本C和期权值option(si,sr,T)。在软件开发过程中,采用增量式开发方法,有利于观察并记录实际成本值,当每一个“版本”测试完成后,记录下该版本所发生的实际成本值C'。由此,可以得知:

1.当期权值option(si,sr,T)

2.当期权值option(si,sr,T)>0时,如果实际发生的成本

C'-C>option(si,sr,T),表示此软件版本的开发在预期范围内处于亏本的状态,需要加大对成本风险的控制,需要增加成本投入以期后续工作能够顺利进行;如果C'-C

通过分析,可以将成本风险根据成本期权比较值,设置不同的成本风险警戒线。当option(si,sr,T)0时,设置风险上限指标,其值为C+option(si,sr,T)。其他情况下,根据实际需要设置不同的风险警戒线,其原则是设置的风险警戒线越多,对成本风险的预防与控制就越有效。

采用成本收益分析法能够符合企业或者项目的最终目标――追求利益最大化的原则,本文采用该方法持续对软件开发项目中的成本风险进行分析,根据分析结果设置成本风险控制警戒线,采取不同的风险规避措施。还应注意到,估算成本与期权值的计算是根据项目开发人员的经验估计出来的,这样的估算存在主观性因素,这样的风险也不容忽视。

参考文献

[1]赵忠令,周荣华.成本――收益分析:探视道德行为的新视角[J]. 苏州大学(哲学社会科学版).2000(2):32~36

[2]刘亚峰,韩金仓.软件项目成本收益评估探讨[J].兰州商学院学报.2003(3):107~109

[3]Tom DeMaro,Timothy Lister.与熊共舞――软件项目风险管理[M].清华大学出版社,2004:127~141

[4] B.M.Bohem. Software Engineering Economics[M].机械工业出版社,2004:265~372

[5]覃征,杨利英,高勇民.软件项目管理[M].清华大学出版社,2004:56~77

[6]Ram L. Kumar. Managing risk in IT project: an options perspective. Information & Management 40,2002:63~74

上一篇:集群竞争力的风险研究 下一篇:建设工程安全生产管理条例中安全监理的探讨