摘要:本文提出了采用掙值法對軟件項(xiàng)目進(jìn)行跟蹤,并詳細(xì)介紹了掙值法的基本原理,舉例說明掙值法的使用及軟件項(xiàng)目的成本與進(jìn)度的控制。
關(guān)鍵詞:掙值法
成本
進(jìn)度
控制
中圖分類號(hào):TP3115
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1002-2422(2010)03-0109-03
1基本原理
掙值法又稱為掙值分析法,是對項(xiàng)目實(shí)施的進(jìn)度、成本狀態(tài)進(jìn)行績效評估的有效方法,是計(jì)算實(shí)際花在一個(gè)項(xiàng)目上的工作量,以及預(yù)計(jì)該項(xiàng)目所需成本和完成該項(xiàng)目日期的一種方法。該方法依賴于被稱為“已獲取價(jià)值”的測量方法。
已獲取價(jià)值是利用成本會(huì)計(jì)的概念評估項(xiàng)目進(jìn)展情況的一種方法。傳統(tǒng)的項(xiàng)目性能統(tǒng)計(jì)是將實(shí)際值與計(jì)劃值進(jìn)行比較。計(jì)算差值,判斷差值的情況。但是,實(shí)際的執(zhí)行情況可能不是這么簡單。如果實(shí)際完成的任務(wù)量超過計(jì)劃所需的任務(wù)量,那么實(shí)際的花費(fèi)可能會(huì)大于計(jì)劃的成本,但不能說成本超出了。所以,應(yīng)該計(jì)算實(shí)際完成結(jié)果的價(jià)值,這樣就引出了已獲取價(jià)值的概念,即到目前為止項(xiàng)目實(shí)際完成的價(jià)值。有了“已獲取價(jià)值”就可以避免只用實(shí)際值與計(jì)劃值進(jìn)行簡單相減而產(chǎn)生的不一致性。掙值法的模型如圖1所示。
1,1輸入
BCWS(Budgeted Cost of Work Schedule,計(jì)劃完成工作的預(yù)算成本):是指到目前為止的總預(yù)算成本。表示“到目前為止原來計(jì)劃成本是多少”或者說“到該日期為止本應(yīng)該完成的工作是多少”,是根據(jù)項(xiàng)目計(jì)劃計(jì)算出來的。

ACWP(Actual Cost of Work Performed,已完成工作的實(shí)際成本):是指到目前為止,所完成工作的實(shí)際成本,說明了“到該日期為止實(shí)際花了多少錢”,這可以由項(xiàng)目組統(tǒng)計(jì)。
BCWP(Budgeted Cost of Work Performed,已完成工作的預(yù)算成本,又稱已獲取價(jià)值):是指到目前為止,已經(jīng)完成工作的原來預(yù)算成本,表示了“到該日期為止完成了多少工作”。
BAC(Budgeted At Completion,工作完成的預(yù)算成本):是項(xiàng)目計(jì)劃中的成本估算結(jié)果,是項(xiàng)目完成的預(yù)計(jì)部總成本。
掙值分析法的原理如圖2所示,如果項(xiàng)目一切順利的話,BCWS、ACWP、BCWP應(yīng)該重合或接近重合。
1,2模型分析(輸出)
(1)進(jìn)度差異(Sehedule Variance,SV):SV=BCWP-BCWS
SV=0,表示按照進(jìn)度進(jìn)行SV<0,表示項(xiàng)目進(jìn)度落后;SV>0,表示進(jìn)度超前;
(2)費(fèi)用差異Coat Variance CV:CV=BCWP-ACWP
CV=0,表示按照預(yù)算進(jìn)行CV>0,表示低于預(yù)算;CV<0,表示超出于預(yù)算;
(3)進(jìn)度效能指標(biāo)(Schedule Performance Index,SPI):SPI=BCWP/BCWS
SPI表示已完成工作百分比;SPI=1,表示按照進(jìn)度進(jìn)行;SPI>1,表示超前于進(jìn)度:SPI<1,表示落后于進(jìn)度;
(4)成本效能指數(shù)(Cost Performance Index,CPI):CPI=BCWP/ACWP
CPI表示費(fèi)用的支出速度。CPI=1,表示按照預(yù)算進(jìn)行:CPI>1,表示低于預(yù)算;CPI<1,表示超出預(yù)算:
(5)工作完成的預(yù)測成本(Estimate At Completion,EAC):EAC=BAC/CPl
(6)工作完成的成本差異(Variance At completion,VAC):VAC=BAC-EAC
(7)項(xiàng)目完成的預(yù)測時(shí)間(Schedule Al Completion,SAC):SAC=完成時(shí)的進(jìn)度計(jì)劃/SPI
1,3計(jì)算已獲取價(jià)值(BCWP)

這些基本參數(shù)值,可以按照一定的時(shí)間段來計(jì)算。輸入的4個(gè)參數(shù)中,BCWS、ACWP、BAC是可以通過統(tǒng)計(jì)直接獲取,掙值法的難點(diǎn)在于計(jì)算已獲取價(jià)值BCWP。
如何計(jì)算已獲取價(jià)值是值得研究的問題,目前常用的方法有兩種:一是自下而上,這種方法比較費(fèi)時(shí)費(fèi)力,需要專門的人員及時(shí)連續(xù)地計(jì)算開發(fā)出來的產(chǎn)品的價(jià)值;二是公式計(jì)算,目前BCWP公式計(jì)算方法通??梢圆捎靡恍┮?guī)則,主要是50/50規(guī)則、0/100規(guī)則或其它的經(jīng)驗(yàn)加權(quán)法等。最常用的是5060規(guī)則。
50/50規(guī)則:當(dāng)一項(xiàng)工作開始時(shí),假定已經(jīng)實(shí)現(xiàn)一半的價(jià)值,當(dāng)這個(gè)工作全部完成時(shí)才實(shí)現(xiàn)全部價(jià)值。如果軟件項(xiàng)目的任務(wù)劃分比較粗,則選擇50/30規(guī)則比較合適。
0/100規(guī)則:當(dāng)一項(xiàng)工作開始時(shí),不產(chǎn)生任何價(jià)值,直到結(jié)束時(shí)才實(shí)現(xiàn)全部的價(jià)值。如果軟件項(xiàng)目的任務(wù)劃分比較細(xì),則選擇0/100規(guī)則比較合適。
2應(yīng)用舉例
一個(gè)軟件項(xiàng)目,劃分為需求分析、軟件設(shè)計(jì)、編碼、測試4個(gè)子任務(wù),項(xiàng)目總預(yù)算為153500,需求分析子任務(wù)為75000,軟件設(shè)計(jì)予任務(wù)為35000,編碼子任務(wù)為29000,測試子任務(wù)為14500,截止到2008年9月5日,需求分析子任務(wù)已經(jīng)全部完成,軟件設(shè)計(jì)子任務(wù)過半,編碼子任務(wù)剛開始,測試予任務(wù)還沒有開始,表1是截止到2008年9月5日的計(jì)劃成本和實(shí)際成本。如果采用50/50規(guī)則,來分析一下截止到2008年9月5日該軟件項(xiàng)目的進(jìn)度和費(fèi)用情況。
要分析截止到2008年9月5日該軟件項(xiàng)目的進(jìn)度和費(fèi)用情況,關(guān)鍵要計(jì)算出CV、SV、CPI、SPI等參數(shù)。而要計(jì)算這幾個(gè)參數(shù)的關(guān)鍵是正確計(jì)算BCWP。由于采用50,50規(guī)則,需求分析子任務(wù)已全部完成,所以其BCWP為75000元。軟件設(shè)計(jì)子任務(wù)過半,編碼子任務(wù)剛開始,但沒完成,我們認(rèn)為實(shí)現(xiàn)了50%的預(yù)算價(jià)值,所以軟件設(shè)計(jì)子任務(wù)過半的BCWP=17500,編碼子任務(wù)的BCWP=14500。測試子任務(wù)還沒有開始,所以測試子任務(wù)的BCWP=0,見表2。
因此,截止到2008年9月5日該軟件項(xiàng)目的CV、sv、CPI、SPI的計(jì)算結(jié)果如下:
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日沒有完成計(jì)劃的工作量,即進(jìn)度落后一些;但是CPI大于1,說明截止到2008年9月5日費(fèi)用節(jié)省了,完成工作量的價(jià)值大于實(shí)際花費(fèi)的價(jià)值。
3成本與進(jìn)度控制
項(xiàng)目跟蹤是必要的,因?yàn)榭梢宰C明計(jì)劃是否可實(shí)施,同時(shí)可以證明計(jì)劃是否可以被完成。通過掙值法可以對進(jìn)度計(jì)劃、成本計(jì)劃進(jìn)行檢驗(yàn),把計(jì)劃和跟蹤控制作為一個(gè)工作循環(huán),那么計(jì)劃將由于跟蹤過程中發(fā)現(xiàn)計(jì)劃的不當(dāng)之處而得到適時(shí)的改進(jìn)。使用掙值法對軟件項(xiàng)目進(jìn)行定期的跟蹤和檢驗(yàn)可以及時(shí)發(fā)現(xiàn)兩大類問題并及時(shí)進(jìn)行調(diào)整。
(1)計(jì)劃不合理,主要表現(xiàn)為計(jì)劃過于粗糙和計(jì)劃不切合實(shí)際。
詳細(xì)的計(jì)劃可以提高跟蹤的準(zhǔn)確性,提高跟蹤的效率和效果。粗糙的計(jì)劃則會(huì)加大跟蹤工作量,并降低跟蹤的效果。出現(xiàn)這種情況時(shí)應(yīng)該及時(shí)細(xì)化計(jì)劃,子任務(wù)可以細(xì)化成更小的二級子任務(wù)。具體細(xì)化的粒度大小由軟件項(xiàng)目的規(guī)模和難度決定。
計(jì)劃的合理性是另外一個(gè)很重要的方面,當(dāng)CPI或SPI的偏差過大時(shí)要重點(diǎn)考慮這個(gè)問題。計(jì)劃本身的制定是否合理的決定因素很多,如制定計(jì)劃的人對此類項(xiàng)目的經(jīng)驗(yàn)是否足夠,開發(fā)人員的配備問題和資源的配備問題等等。這些因素決定了軟件項(xiàng)目是否能按計(jì)劃執(zhí)行。如果發(fā)現(xiàn)計(jì)劃的切合實(shí)際條件的應(yīng)該及時(shí)調(diào)整糾正。
(2)軟件項(xiàng)目執(zhí)行出問題
一個(gè)好的計(jì)劃沒有被很好的執(zhí)行也會(huì)出現(xiàn)很大的問題。如果軟件項(xiàng)目跟蹤過程中CPI和SPI等指標(biāo)偏離很大時(shí),也可能是項(xiàng)目執(zhí)行過程出了問題。執(zhí)行出問題牽涉很多方面,如開發(fā)人員沒有按照規(guī)范實(shí)施項(xiàng)目、人員溝通無效、資源配備不及時(shí)和項(xiàng)目經(jīng)理能力不足等。發(fā)現(xiàn)軟件項(xiàng)目執(zhí)行出問題時(shí)應(yīng)該與相關(guān)人員一起努力,及時(shí)作出決策。