一個(gè)成功的軟件項(xiàng)目首先要有一個(gè)好的起點(diǎn),也就是一個(gè)合理的項(xiàng)目計(jì)劃;一個(gè)好的項(xiàng)目計(jì)劃,離不開一個(gè)準(zhǔn)確的、可信的、客觀的項(xiàng)目估算數(shù)據(jù)作為基礎(chǔ)。對(duì)于龐大的、多變的軟件項(xiàng)目來說有著太多的不確定性。之所以要先制定項(xiàng)目計(jì)劃,目的就是為了讓項(xiàng)目更加可控。 但在執(zhí)行過程中,出現(xiàn)各種矛盾和問題,導(dǎo)致預(yù)算實(shí)施起來非常不宜操作。如何提高估算的準(zhǔn)確性呢?在管理過程中想必大家都會(huì)遇到以下問題:
1、軟件項(xiàng)目預(yù)算要作到什么程度,才算是一個(gè)合格的預(yù)算?
2、由于做預(yù)算,需要對(duì)項(xiàng)目進(jìn)行深入分析,作出工作量核算,需要投入人員與時(shí)間,那么作預(yù)算書是不是要有預(yù)算?
3、預(yù)算在軟件項(xiàng)目開發(fā)和項(xiàng)目管理中應(yīng)該是什么樣的流程?怎樣才能做好預(yù)算?
對(duì)軟件項(xiàng)目的費(fèi)用預(yù)算,主要從以下幾個(gè)方面著想:
1、工作場(chǎng)所使用的預(yù)算,包括自建場(chǎng)所和租用場(chǎng)所2種。
2、硬件費(fèi)用,對(duì)純軟件項(xiàng)目,主要是PC機(jī),工作站,服務(wù)器等。
3、軟件費(fèi)用, 包括操作系統(tǒng)(如NT),辦公軟件(如LOTUS NOTES),軟件開發(fā)軟件(如NT,ORBIX開發(fā)LICENSE,VC++等)。
4、軟件開發(fā)人員報(bào)酬,即開發(fā)人員工資,獎(jiǎng)金等。
5、軟件開發(fā)人員出差費(fèi)用,如外出調(diào)研,參加研討會(huì)等。
以上因素的1,4實(shí)際上都是由軟件項(xiàng)目的規(guī)模和開發(fā)周期決定的。如何預(yù)測(cè)軟件規(guī)模,在CMM中有幾種比較流行的預(yù)測(cè)方法,如WIDEBAND DELPHI,COCOMO。
這里以WIDEBAND DELPHI為例簡單介紹軟件規(guī)模預(yù)測(cè)(詳細(xì)流程可以參考相關(guān)軟件項(xiàng)目管理材料):
1、將軟件項(xiàng)目根據(jù)概要需求分割成功能點(diǎn)(FUNCTION POINT),越細(xì)越好。
2、由至少3名領(lǐng)域?qū)<覍?duì)每個(gè)功能點(diǎn)進(jìn)行邏輯代碼行預(yù)測(cè)。針對(duì)每個(gè)功能點(diǎn)可進(jìn)行多輪預(yù)測(cè)直到大家的結(jié)果的誤差不超過20%。
3、總結(jié)所有的預(yù)測(cè)結(jié)果,得到此項(xiàng)目的邏輯代碼量。
4、根據(jù)業(yè)界人均日代碼量(指整個(gè)生命周期,非只編碼階段)經(jīng)驗(yàn)值或本公司對(duì)相關(guān)項(xiàng)目的經(jīng)驗(yàn)值,以及在各個(gè)軟件開發(fā)階段(指需求分析,設(shè)計(jì),編碼,測(cè)試等)工作量的百分比分布,以及每月的工作日,就知道需要多少人月來開發(fā)這個(gè)項(xiàng)目。
5、然后在根據(jù)市場(chǎng)需求時(shí)間,項(xiàng)目的人員到位情況,就能定出項(xiàng)目計(jì)劃和進(jìn)度表(包括項(xiàng)目起始結(jié)束時(shí)間,每個(gè)階段的進(jìn)度安排,每個(gè)月的投入人員,等等)。
6、這樣,以上的1和4的費(fèi)用預(yù)測(cè)就出來了。
至于其它因素,要看項(xiàng)目的具體情況而定,不難得到。
軟件項(xiàng)目預(yù)算要做到什么程度,要看實(shí)際情況。嚴(yán)格來講,在項(xiàng)目實(shí)施過程中所要涉及的人、財(cái)、物都要折算成現(xiàn)金表現(xiàn)方式,明確表示出要多少人、多少物資花多少時(shí)間,才能完成此項(xiàng)目。并且最重要的是,所有人、財(cái)、物最后的表現(xiàn)方式均為多少錢。
但是這種方法本身實(shí)施起來就要消耗一定的資源,如果公司內(nèi)部已有一個(gè)統(tǒng)一完善的資源數(shù)據(jù)庫,實(shí)施比較容易。但如你所說,你們公司剛剛開始實(shí)行預(yù)算制,恐怕是沒有這樣的數(shù)據(jù)庫的。如果為一個(gè)小項(xiàng)目大動(dòng)干戈,就有點(diǎn)得不償失了。因此,實(shí)際上,在制定預(yù)算當(dāng)中所消耗的資源,也是要納入考慮的,雖然這些并不表現(xiàn)在項(xiàng)目預(yù)算表上。
對(duì)于大型項(xiàng)目,只有通過