挣值法在软件项目中成本与进度控制的研究与应用

时间:2022-10-20 11:26:06

挣值法在软件项目中成本与进度控制的研究与应用

摘要:本文提出了采用挣值法对软件项目进行跟踪,并详细介绍了挣值法的基本原理,举例说明挣值法的使用及软件项目的成本进度的控制。

关键词:挣值法

成本

进度

控制

中图分类号:TP3115

文献标识码:A

文章编号:1002-2422(2010)03-0109-03

1基本原理

挣值法又称为挣值分析法,是对项目实施的进度、成本状态进行绩效评估的有效方法,是计算实际花在一个项目上的工作量,以及预计该项目所需成本和完成该项目日期的一种方法。该方法依赖于被称为“已获取价值”的测量方法。

已获取价值是利用成本会计的概念评估项目进展情况的一种方法。传统的项目性能统计是将实际值与计划值进行比较。计算差值,判断差值的情况。但是,实际的执行情况可能不是这么简单。如果实际完成的任务量超过计划所需的任务量,那么实际的花费可能会大于计划的成本,但不能说成本超出了。所以,应该计算实际完成结果的价值,这样就引出了已获取价值的概念,即到目前为止项目实际完成的价值。有了“已获取价值”就可以避免只用实际值与计划值进行简单相减而产生的不一致性。挣值法的模型如图1所示。

1,1输入

BCWS(Budgeted Cost of Work Schedule,计划完成工作的预算成本):是指到目前为止的总预算成本。表示“到目前为止原来计划成本是多少”或者说“到该日期为止本应该完成的工作是多少”,是根据项目计划计算出来的。

ACWP(Actual Cost of Work Performed,已完成工作的实际成本):是指到目前为止,所完成工作的实际成本,说明了“到该日期为止实际花了多少钱”,这可以由项目组统计。

BCWP(Budgeted Cost of Work Performed,已完成工作的预算成本,又称已获取价值):是指到目前为止,已经完成工作的原来预算成本,表示了“到该日期为止完成了多少工作”。

BAC(Budgeted At Completion,工作完成的预算成本):是项目计划中的成本估算结果,是项目完成的预计部总成本。

挣值分析法的原理如图2所示,如果项目一切顺利的话,BCWS、ACWP、BCWP应该重合或接近重合。

1,2模型分析(输出)

(1)进度差异(Sehedule Variance,SV):SV=BCWP-BCWS

SV=0,表示按照进度进行SV0,表示进度超前;

(2)费用差异Coat Variance CV:CV=BCWP-ACWP

CV=0,表示按照预算进行CV>0,表示低于预算;CV

(3)进度效能指标(Schedule Performance Index,SPI):SPI=BCWP/BCWS

SPI表示已完成工作百分比;SPI=1,表示按照进度进行;SPI>1,表示超前于进度:SPI

(4)成本效能指数(Cost Performance Index,CPI):CPI=BCWP/ACWP

CPI表示费用的支出速度。CPI=1,表示按照预算进行:CPI>1,表示低于预算;CPI

(5)工作完成的预测成本(Estimate At Completion,EAC):EAC=BAC/CPl

(6)工作完成的成本差异(Variance At completion,VAC):VAC=BAC-EAC

(7)项目完成的预测时间(Schedule Al Completion,SAC):SAC=完成时的进度计划/SPI

1,3计算已获取价值(BCWP)

这些基本参数值,可以按照一定的时间段来计算。输入的4个参数中,BCWS、ACWP、BAC是可以通过统计直接获取,挣值法的难点在于计算已获取价值BCWP。

如何计算已获取价值是值得研究的问题,目前常用的方法有两种:一是自下而上,这种方法比较费时费力,需要专门的人员及时连续地计算开发出来的产品的价值;二是公式计算,目前BCWP公式计算方法通常可以采用一些规则,主要是50/50规则、0/100规则或其它的经验加权法等。最常用的是5060规则。

50/50规则:当一项工作开始时,假定已经实现一半的价值,当这个工作全部完成时才实现全部价值。如果软件项目的任务划分比较粗,则选择50/30规则比较合适。

0/100规则:当一项工作开始时,不产生任何价值,直到结束时才实现全部的价值。如果软件项目的任务划分比较细,则选择0/100规则比较合适。

2应用举例

一个软件项目,划分为需求分析、软件设计、编码、测试4个子任务,项目总预算为153500,需求分析子任务为75000,软件设计予任务为35000,编码子任务为29000,测试子任务为14500,截止到2008年9月5日,需求分析子任务已经全部完成,软件设计子任务过半,编码子任务刚开始,测试予任务还没有开始,表1是截止到2008年9月5日的计划成本和实际成本。如果采用50/50规则,来分析一下截止到2008年9月5日该软件项目的进度和费用情况。

要分析截止到2008年9月5日该软件项目的进度和费用情况,关键要计算出CV、SV、CPI、SPI等参数。而要计算这几个参数的关键是正确计算BCWP。由于采用50,50规则,需求分析子任务已全部完成,所以其BCWP为75000元。软件设计子任务过半,编码子任务刚开始,但没完成,我们认为实现了50%的预算价值,所以软件设计子任务过半的BCWP=17500,编码子任务的BCWP=14500。测试子任务还没有开始,所以测试子任务的BCWP=0,见表2。

因此,截止到2008年9月5日该软件项目的CV、sv、CPI、SPI的计算结果如下:

BCWS=115650,ACWP=100900,BCWP=107000,

CV=BCWP-ACWP=107000-100900=6100,

SV=BCWP-BCWS=107000-115650=-8650,

CPI=BCWP/ACWP=107000/100900=106%,

SPI=BCWP/BCWS=107000/115650=92.5%。

SPI小于1说明截止到2008年9月5日没有完成计划的工作量,即进度落后一些;但是CPI大于1,说明截止到2008年9月5日费用节省了,完成工作量的价值大于实际花费的价值。

3成本与进度控制

项目跟踪是必要的,因为可以证明计划是否可实施,同时可以证明计划是否可以被完成。通过挣值法可以对进度计划、成本计划进行检验,把计划和跟踪控制作为一个工作循环,那么计划将由于跟踪过程中发现计划的不当之处而得到适时的改进。使用挣值法对软件项目进行定期的跟踪和检验可以及时发现两大类问题并及时进行调整。

(1)计划不合理,主要表现为计划过于粗糙和计划不切合实际。

详细的计划可以提高跟踪的准确性,提高跟踪的效率和效果。粗糙的计划则会加大跟踪工作量,并降低跟踪的效果。出现这种情况时应该及时细化计划,子任务可以细化成更小的二级子任务。具体细化的粒度大小由软件项目的规模和难度决定。

计划的合理性是另外一个很重要的方面,当CPI或SPI的偏差过大时要重点考虑这个问题。计划本身的制定是否合理的决定因素很多,如制定计划的人对此类项目的经验是否足够,开发人员的配备问题和资源的配备问题等等。这些因素决定了软件项目是否能按计划执行。如果发现计划的切合实际条件的应该及时调整纠正。

(2)软件项目执行出问题

一个好的计划没有被很好的执行也会出现很大的问题。如果软件项目跟踪过程中CPI和SPI等指标偏离很大时,也可能是项目执行过程出了问题。执行出问题牵涉很多方面,如开发人员没有按照规范实施项目、人员沟通无效、资源配备不及时和项目经理能力不足等。发现软件项目执行出问题时应该与相关人员一起努力,及时作出决策。

上一篇:振荡器在Proteus仿真中不易起振的原因与对策 下一篇:Web短信平台课程交互辅导系统的设计