應(yīng)該盡量避免,而第二種情況一般是難以估計(jì)的。需求變更時(shí)需重新估算,和客戶簽訂需求變更協(xié)議。
我們一般會(huì)充分估計(jì)前期需求調(diào)研工作量以及需求細(xì)化工作量,對(duì)于需求變更則暫不考慮,因?yàn)橐坏┳兏覀儠?huì)和客戶確認(rèn)需求變更的費(fèi)用。但有些項(xiàng)目有很特殊,項(xiàng)目報(bào)價(jià)中預(yù)留了少量的需求變更費(fèi)用,這時(shí)估算中就需要適當(dāng)考慮需求變更了。
4.軟件設(shè)計(jì)方面的工作。
不少項(xiàng)目為了“趕”進(jìn)度,設(shè)計(jì)文檔很少,然則項(xiàng)目真的很簡(jiǎn)單、不需要仔細(xì)考慮設(shè)計(jì)的情況是非常少的!
軟件設(shè)計(jì)工作包括:
1)系統(tǒng)架構(gòu)設(shè)計(jì)。
2)技術(shù)方案選擇。
3)關(guān)鍵模塊設(shè)計(jì)。
4)數(shù)據(jù)庫設(shè)計(jì)。
5)用戶體驗(yàn)設(shè)計(jì)。
以上內(nèi)容具體項(xiàng)目可以有所取舍,但不可能全部都不用考慮。
另外不要忘記了以下兩方面的工作:
1)各類設(shè)計(jì)工作產(chǎn)品的討論、確認(rèn)、評(píng)審工作。
2)設(shè)計(jì)細(xì)化與優(yōu)化工作。設(shè)計(jì)是需要持續(xù)改進(jìn)的,不要忘記這些工作。
5.編碼方面的工作。
要注意不要遺漏代碼返工、代碼評(píng)審、代碼調(diào)試、修復(fù)缺陷的工作量。
需求、設(shè)計(jì)沒有做好,編碼質(zhì)量不過關(guān),這些會(huì)嚴(yán)重增加代碼返工、代碼調(diào)試、修復(fù)缺陷的工作量。代碼首次完成的時(shí)間如果是100小時(shí),那么后面代碼調(diào)試、修復(fù)缺陷等所需要的時(shí)間可能是200小時(shí)以上,往往我們估算時(shí)只考慮了前面的100小時(shí)。
6.測(cè)試方面的工作。
測(cè)試工作包括測(cè)試計(jì)劃、測(cè)試用例、測(cè)試文檔評(píng)審、測(cè)試環(huán)境準(zhǔn)備、測(cè)試數(shù)據(jù)準(zhǔn)備、執(zhí)行測(cè)試、回歸測(cè)試等內(nèi)容。
軟件測(cè)試一般要經(jīng)歷多輪,我們估算往往只考慮了第一輪,就好象軟件只需要測(cè)試一回就不用再測(cè)試了。而測(cè)試環(huán)境準(zhǔn)備、測(cè)試數(shù)據(jù)準(zhǔn)備這些工作也很容易在估算時(shí)“忘記”了。
7.實(shí)施方面的工作。
實(shí)施工作包括實(shí)施計(jì)劃、實(shí)施方案的準(zhǔn)備,編寫管理員手冊(cè)、用戶手冊(cè),熟悉系統(tǒng),搭建實(shí)施環(huán)境并進(jìn)行演練,在客戶現(xiàn)場(chǎng)安裝、部署、調(diào)試系統(tǒng),培訓(xùn)客戶,協(xié)助系統(tǒng)上線,推動(dòng)驗(yàn)收等工作。
我們公司通常的做法是:
1)系統(tǒng)在客戶處部署后,會(huì)推動(dòng)客戶進(jìn)行初步驗(yàn)收,初驗(yàn)標(biāo)準(zhǔn)是系統(tǒng)的所有功能跑就可以了。初驗(yàn)成功,客戶需要支付相應(yīng)的項(xiàng)目款項(xiàng)。
2)初驗(yàn)后要協(xié)助客戶讓系統(tǒng)正式上線,讓客戶真正用上這套系統(tǒng),推動(dòng)最終驗(yàn)收。
影響終驗(yàn)主要有兩個(gè)因素,一個(gè)是客戶在使用系統(tǒng)過程中會(huì)提出各式各樣的問題,如果在需求范圍內(nèi)應(yīng)該都予以滿足;而另外一個(gè)影響因素是客戶會(huì)因?yàn)楦鞣N各樣的原因推遲使用系統(tǒng),或者是使用不充分,讓項(xiàng)目終驗(yàn)遙遙無期。估算時(shí)需要充分考慮這兩個(gè)影響因素。
8.維護(hù)方面的工作。
項(xiàng)目終驗(yàn)后,一般都要提供半年到一年的維護(hù)服務(wù),維護(hù)器后項(xiàng)目還會(huì)有最后一筆款項(xiàng)。
維護(hù)期比較長,事情繁雜,一個(gè)不小心就很容易估算不足。
維護(hù)的工作一般有:
1)用戶培訓(xùn);
2)協(xié)助客戶錄入資料;
3)修復(fù)被破壞的數(shù)據(jù)以及數(shù)據(jù)庫;
4)修改客戶或內(nèi)部發(fā)現(xiàn)的軟件缺陷;
5)代碼重構(gòu),提高部分程序的性能與可靠性;
6)修改一些界面文字或顯示風(fēng)格;
7)回答客戶反饋的一些安裝與操作疑難問題;
8)提供合同中所要求的其它特殊軟件維護(hù)服務(wù)。
在維護(hù)期,往往還需要發(fā)布數(shù)個(gè)小版本來解決客戶的問題。
9.項(xiàng)目管理方面的工作。
項(xiàng)目管理工作主要有編制項(xiàng)目計(jì)劃、持續(xù)更新項(xiàng)目計(jì)劃、跟蹤計(jì)劃執(zhí)行、各種工作協(xié)調(diào)、指導(dǎo)項(xiàng)目組成員完成工作等等。
項(xiàng)目管理工作量一般占整個(gè)項(xiàng)目工作量的10-20%,項(xiàng)目不明確的東西越多、項(xiàng)目組成員水平越不足、項(xiàng)目組成員之間工作磨合度越不好,管理工作量就越大。
項(xiàng)目管理在項(xiàng)目進(jìn)行整個(gè)過程都需要持續(xù)進(jìn)行,一般來說前期工作量會(huì)比較大,版本發(fā)布前后階段工作量也會(huì)比較大。項(xiàng)目管理前期工作抓得