一個成功的軟件項(xiàng)目首先要有一個好的起點(diǎn),也就是一個合理的項(xiàng)目計(jì)劃;一個好的項(xiàng)目計(jì)劃,離不開一個準(zhǔn)確的、可信的、客觀的項(xiàng)目估算數(shù)據(jù)作為基礎(chǔ)。如何提高估算的準(zhǔn)確性,如何利用項(xiàng)目估算的數(shù)據(jù)來制定項(xiàng)目計(jì)劃,本文就將帶領(lǐng)大家學(xué)習(xí)、理解軟件項(xiàng)目估算的一些最佳實(shí)踐。
為什么要對項(xiàng)目進(jìn)行估算
對于龐大的、多變的軟件項(xiàng)目來說有著太多的不確定性。之所以要先制定項(xiàng)目計(jì)劃,目的就是為了讓項(xiàng)目更加可控。如果項(xiàng)目的計(jì)劃缺乏數(shù)據(jù)進(jìn)行支持,或者根本不進(jìn)行估算,只憑項(xiàng)目管理人員的經(jīng)驗(yàn)進(jìn)行管理,那么項(xiàng)目最終就會變成軟件項(xiàng)目常見的“三拍”現(xiàn)象:“首先公司領(lǐng)導(dǎo)拍拍某個項(xiàng)目經(jīng)理的腦袋,說你來負(fù)責(zé)這個項(xiàng)目;項(xiàng)目經(jīng)理拍拍胸脯說沒問題;最后項(xiàng)目失敗的時候項(xiàng)目經(jīng)理就只能拍拍屁股走人”。
當(dāng)然,這只是個玩笑。不過由此可見項(xiàng)目估算是項(xiàng)目管理人員深入了解項(xiàng)目的第一步,做到“知己知彼,才能百戰(zhàn)不殆”。
常用的軟件估算方法
軟件可以通過主觀和客觀兩種方法對其進(jìn)行估算。
主觀的估算方法可以通過召集項(xiàng)目團(tuán)隊(duì)成員,或者邀請各方面的專家,共同對某個項(xiàng)目的屬性進(jìn)行評估。參與評估的每個人都要單獨(dú)進(jìn)行估算,如果發(fā)現(xiàn)大家對某個項(xiàng)目屬性估算的結(jié)果存在較大偏差,那么就需要做進(jìn)一步的討論,直到取得共識為止。對個別特殊屬性進(jìn)行主觀估算時,一定要有直接干系人的參與,例如:對某個文檔工作量進(jìn)行估算時,最好該文檔的負(fù)責(zé)人參與估算,因?yàn)樗攀亲罱K的執(zhí)行人。
客觀的估算方法是利用公司提供的各種度量數(shù)據(jù)進(jìn)行估算,例如:組織級的生產(chǎn)率,或者其他項(xiàng)目的度量數(shù)據(jù)。本文主要講解項(xiàng)目管理人員如何通過客觀的方法對項(xiàng)目進(jìn)行估算。
項(xiàng)目的哪些屬性可以進(jìn)行估算
軟件項(xiàng)目的屬性有很多,建議至少以下屬性要在項(xiàng)目計(jì)劃時對其進(jìn)行估算:
1、 項(xiàng)目規(guī)模 2、 項(xiàng)目工作量 3、 項(xiàng)目所需資源 4、 項(xiàng)目各階段工作量 5、 項(xiàng)目成本 > 如何對項(xiàng)目規(guī)模進(jìn)行估算
對項(xiàng)目規(guī)模進(jìn)行估算是為了將項(xiàng)目的范圍進(jìn)行量化,項(xiàng)目規(guī)模的估算是整個軟件估算中最核心、最基礎(chǔ)的環(huán)節(jié),也是整個估算的第一步。
軟件項(xiàng)目的規(guī)?梢允褂霉δ茳c(diǎn)估算法和代碼行估算法兩種方式,但是作為項(xiàng)目初期階段,建議使用功能點(diǎn)法進(jìn)行估算會比較合理。具體的功能點(diǎn)估算方法可以參考我之前在ITPUB上發(fā)表的相關(guān)文章。
> 如何對項(xiàng)目工作量進(jìn)行估算
在項(xiàng)目規(guī)模的基礎(chǔ)上,可以利用組織級生產(chǎn)率得到項(xiàng)目總的工作量。例如:一個公司組織級生產(chǎn)率如下圖所示,在2008年中期時,該組織每開發(fā)一個功能點(diǎn)需要花費(fèi)1.5個人/天的工作量。假如該公司某項(xiàng)目有200個功能點(diǎn),那么該項(xiàng)目的工作量就可以通過以下公式計(jì)算出來:
項(xiàng)目工作量= 200 * 1.5 = 300 人/天
> 如何對項(xiàng)目所需資源、各階段工作量進(jìn)行估算
對這些項(xiàng)目屬性進(jìn)行估算的主要方法是通過與組織級度量庫中的歷史數(shù)據(jù)進(jìn)行對比,找到相同規(guī)模的歷史項(xiàng)目,參考其數(shù)據(jù),根據(jù)本項(xiàng)目的特點(diǎn)對相關(guān)屬性進(jìn)行估算。假如本項(xiàng)目與公司之前的某項(xiàng)目A規(guī)模大體相當(dāng),項(xiàng)目A歷史數(shù)據(jù)如表1和表2所示:
表1-項(xiàng)目A使用資源數(shù)
人力資源估算 |
設(shè)計(jì)人員 |
2人 |
需求人員 |
1人 |
開發(fā)人員 |
4人 |
測試人員 |
3人 |
表2-項(xiàng)目A生命周期各階段工作量分布
瀑布模型生命周期各階段 |
立項(xiàng)階段 |
2.00% |
需求階段 |
5.00% |
計(jì)劃階段 |
6.00% |
設(shè)計(jì)階段 |
22.00% |
開發(fā)階段 |
22.00% |
系統(tǒng)測試階段 |
25.00% |
用戶驗(yàn)收階段 |
11.00% |
結(jié)項(xiàng)階段 |
7.00% |
兩個項(xiàng)目的規(guī)模相當(dāng),這是我們進(jìn)行估算的依據(jù),根據(jù)之前對項(xiàng)目總工作量的估算(300人/天),那么就可以得到本項(xiàng)目各個階段的工作量分布,如表3所示:
表3-本項(xiàng)目各生命周期工作量分布
瀑布模型生命周期各階段 |
人/天 |
立項(xiàng)階段 |
2.00% |
6 |
需求階段 |
5.00% |
15 |
計(jì)劃階段 |
6.00% |
18 |
設(shè)計(jì)階段 |
22.00% |
66 |
開發(fā)階段 |
22.00% |
66 |
系統(tǒng)測試階段 |
25.00% |
75 |
用戶驗(yàn)收階段 |
11.00% |
33 |
結(jié)項(xiàng)階段 |
7.00% |
21 |
文章來源:中國項(xiàng)目管理資源網(wǎng)
|