項(xiàng)目估算與計(jì)劃不是一般的難(上)
摘要:
估算、計(jì)劃、計(jì)劃跟蹤是項(xiàng)目管理的主要工作,難度之高超乎你想象!光靠學(xué)習(xí)項(xiàng)目管理理論難以管好項(xiàng)目,而往往真能管好項(xiàng)目的都是那些在具體項(xiàng)目中打滾出來的實(shí)干人士。本文將會(huì)讓你全面學(xué)習(xí)項(xiàng)目估算、計(jì)劃、計(jì)劃跟蹤的知識(shí),體驗(yàn)實(shí)際項(xiàng)目管理的難度,學(xué)到提高項(xiàng)目管理水平的一些方法。本文有點(diǎn)長(zhǎng),麻煩你慢慢閱讀了!
大綱:
1、從建筑工程說起
2、估算要估啥?
3、估算如何做出來?
4、計(jì)劃有什么內(nèi)容?
5、計(jì)劃是如何做出來的?
6、如何跟蹤計(jì)劃?
7、優(yōu)秀項(xiàng)目經(jīng)理是怎樣煉成的?
正文:
從建筑工程說起
大家都喜歡用建筑工程與軟件工程做比較,但我們常常所說的建筑工程只是指建筑施工部分,而不是一個(gè)完整的建設(shè)項(xiàng)目。我們常常將施工項(xiàng)目管理與軟件項(xiàng)目管理進(jìn)行比較,這是不合適的。
一個(gè)完整的建設(shè)項(xiàng)目,由甲方提出需求,設(shè)計(jì)院根據(jù)需求設(shè)計(jì)出圖紙,再由造價(jià)公司進(jìn)行估價(jià),然后公開招標(biāo),最后由建筑公司承擔(dān)建設(shè)。相對(duì)于軟件項(xiàng)目,建筑工程有以下特點(diǎn):
1、從需求到竣工,經(jīng)歷需求、設(shè)計(jì)、估價(jià)、建設(shè)等環(huán)節(jié),每個(gè)環(huán)節(jié)由不同專業(yè)的公司或人員完成。
2、每個(gè)環(huán)節(jié)簽署不同的合同,每個(gè)環(huán)節(jié)對(duì)應(yīng)不同的乙方。而軟件項(xiàng)目從需求到開發(fā)完成,基本上是簽署一個(gè)合同,只有一個(gè)乙方。
3、整個(gè)過程可以認(rèn)為是瀑布型的,需求和設(shè)計(jì)會(huì)在前期確定,后期基本上不會(huì)變動(dòng)。而軟件項(xiàng)目就沒有這么理想了,需求和設(shè)計(jì)不斷在變。
4、建筑工程只會(huì)采用最成熟的技術(shù),可行性和設(shè)計(jì)方案要經(jīng)過反復(fù)論證,你看看港珠澳大橋就論證了好多年了。而軟件項(xiàng)目往往要采用不成熟的技術(shù),邊設(shè)計(jì)邊嘗試。
5、建筑工程的估算是在需求與設(shè)計(jì)都確定的基礎(chǔ)上估算的。而軟件項(xiàng)目不確定的東西太多,估算無法一次成型。
軟件項(xiàng)目管理可能是最復(fù)雜的一種項(xiàng)目管理,因?yàn)檐浖?xiàng)目具備這樣的特點(diǎn):
1)需求、設(shè)計(jì)不明確。
2)項(xiàng)目組需要在需求設(shè)計(jì)不明確的基礎(chǔ)上,承擔(dān)需求、設(shè)計(jì)、編碼、實(shí)施等全部工作。
如果你是這樣項(xiàng)目的項(xiàng)目經(jīng)理,對(duì)你來說是多么大的挑戰(zhàn)啊!
建筑行業(yè)發(fā)展了這么多年,整個(gè)建設(shè)工程的各個(gè)環(huán)節(jié)已經(jīng)有很多專業(yè)的公司,有很多設(shè)計(jì)院、造價(jià)公司、建筑公司等。而軟件行業(yè),幾乎很少見到專業(yè)的需求分析公司、軟件設(shè)計(jì)公司。這既是軟件行業(yè)的特點(diǎn)決定的,也是甲方習(xí)慣決定的。我們公司在一些項(xiàng)目嘗試和客戶簽署兩份合同,第一份合同只做需求的工作,而第二份合同則完成實(shí)現(xiàn)與編碼,但客戶往往不會(huì)接受。
軟件項(xiàng)目管理難歸難,但我們還是要去面對(duì)的,我們應(yīng)該如何應(yīng)對(duì)軟件項(xiàng)目的估算與計(jì)劃呢?
估算要估啥?
很多人問如何才能做好估算?這個(gè)問題是問如何正確做事情的問題,而實(shí)際上要回答好這個(gè)問題,先要回答估算要估算什么內(nèi)容的問題,也就是什么是正確的事情問題。
對(duì)于估算要區(qū)分以下幾種情況:
1、甲方對(duì)項(xiàng)目的估算
甲方想做某個(gè)系統(tǒng),會(huì)根據(jù)自己對(duì)系統(tǒng)的估計(jì)以及自己的預(yù)算估計(jì)出一個(gè)價(jià)錢。甲方往往不能準(zhǔn)確對(duì)項(xiàng)目進(jìn)行估算,項(xiàng)目的價(jià)錢往往是來自預(yù)算,而所有甲方都是想在有限的預(yù)算內(nèi)辦更多的事情。很多項(xiàng)目需要招標(biāo),其實(shí)重要目的就是希望找出性價(jià)比最高的軟件公司。
2、乙方在投標(biāo)階段對(duì)項(xiàng)目的估算
作為軟件公司,要判斷該項(xiàng)目需要多少的成本,然后稍微“放大”成本作為投標(biāo)價(jià),這樣公司才能有利可圖。
然則現(xiàn)實(shí)情況很殘酷:
1)需求大多數(shù)是不明確的,甚至甲方對(duì)項(xiàng)目的期望都沒有想清楚,這樣軟件公司無從估算。
2)很多招標(biāo)其實(shí)甲方都“隱含”一個(gè)預(yù)算價(jià),如果軟件公司的報(bào)價(jià)超出這個(gè)價(jià)錢,你就別想中標(biāo)了。而這個(gè)預(yù)算價(jià)往往會(huì)小于軟件公司對(duì)項(xiàng)目的估算,讓你難以決定這項(xiàng)目做還是不做好!
這個(gè)階段的估算是最難做的,除了考慮項(xiàng)目實(shí)際工作量,還要考慮項(xiàng)目是否要賺錢、客戶關(guān)系等因素。
在我們公司,對(duì)于已經(jīng)產(chǎn)品化的項(xiàng)目,估價(jià)比較容易,這其實(shí)是一個(gè)積累的過程。而對(duì)于全新的以前沒有多少經(jīng)驗(yàn)的項(xiàng)目,估價(jià)其實(shí)也是很難做得很好的,我們往往是由項(xiàng)目經(jīng)驗(yàn)與技術(shù)經(jīng)驗(yàn)都實(shí)力雄厚的總經(jīng)理來“拍腦袋”拍出來的。所謂“拍腦袋”,其實(shí)不代表亂猜,是以雄厚的經(jīng)驗(yàn)和強(qiáng)大的知識(shí)為前提的。
3、項(xiàng)目組開展項(xiàng)目時(shí)對(duì)項(xiàng)目的估算
當(dāng)我們要真刀真槍開干時(shí),項(xiàng)目組需要對(duì)項(xiàng)目的實(shí)際工作量有充分的認(rèn)識(shí),并以此為基礎(chǔ)來做好項(xiàng)目工作。
我們常常所說的項(xiàng)目估算問題,就是指這第三種情況,后文我們將重點(diǎn)講述這種情況。
項(xiàng)目估算到底要估什么呢?
項(xiàng)目的成本包括:人工費(fèi)、差旅費(fèi)、業(yè)務(wù)費(fèi)用、招待費(fèi)用、采購費(fèi)用。
人工費(fèi):
包括項(xiàng)目組各人的薪金,以及公司運(yùn)作分?jǐn)偟巾?xiàng)目組各人頭上的運(yùn)作成本。公司運(yùn)作成本包括非項(xiàng)目組人員的人工、場(chǎng)地設(shè)備費(fèi)用、水電通訊費(fèi)用、人員培訓(xùn)招聘費(fèi)用、人員閑適成本、研究失敗時(shí)的成本、商務(wù)活動(dòng)的成本等。
一般來說,項(xiàng)目組只需要估算出實(shí)際的項(xiàng)目工時(shí)就可以了,工時(shí)再乘以一個(gè)折合的人工成本單價(jià)就是項(xiàng)目的人工成本了。
差旅費(fèi):項(xiàng)目組成員因項(xiàng)目出差的交通費(fèi)、住宿費(fèi)、通訊費(fèi)、差旅補(bǔ)貼等。
業(yè)務(wù)費(fèi)用:公司領(lǐng)導(dǎo)、銷售人員與客戶進(jìn)行商務(wù)談判、聯(lián)絡(luò)所花費(fèi)的費(fèi)用,例如送禮、回扣等的費(fèi)用。這筆費(fèi)用往往還很大呢,不過項(xiàng)目組一般不需要估算這部分費(fèi)用。
招待費(fèi)用:項(xiàng)目組成員因工作需要,和客戶相關(guān)人員吃飯、娛樂的相關(guān)費(fèi)用。例如:需求調(diào)研期間和客戶吃飯;項(xiàng)目實(shí)施階段因推動(dòng)驗(yàn)收和客戶一起加班,加班后請(qǐng)客戶吃飯。這筆費(fèi)用一般不會(huì)很大,一頓飯一般就是幾十到一百多元,一個(gè)項(xiàng)目也不會(huì)請(qǐng)很多次吃飯。
采購費(fèi)用:采購項(xiàng)目所需的軟硬費(fèi)用,如數(shù)據(jù)庫平臺(tái)、服務(wù)器等,如果項(xiàng)目部分內(nèi)容要外包出去,那還要包括外包的費(fèi)用。有時(shí)候這筆費(fèi)用會(huì)比較巨大,但這些費(fèi)用都很容易估計(jì)。
以上費(fèi)用最難估計(jì)的就是人工費(fèi),人工費(fèi)我們以工作量來考慮,下文開始我們重點(diǎn)講解項(xiàng)目工作量的估算。
如何估計(jì)項(xiàng)目的工作量呢?
簡(jiǎn)單地說,我們需要將項(xiàng)目的所有工作進(jìn)行分解,直到每個(gè)分解后的工作都能估計(jì)出具體的所需時(shí)間來。
那項(xiàng)目的“所有工作”包含什么呢?回答這個(gè)問題其實(shí)就是回答“估算要估啥?”這個(gè)問題了。
一般情況下,項(xiàng)目工作包括以下內(nèi)容:
1、項(xiàng)目前期工作。
包括商務(wù)談判、技術(shù)方案準(zhǔn)備、投標(biāo)準(zhǔn)備、前期需求調(diào)研、前期技術(shù)研究等工作。當(dāng)你接手項(xiàng)目的時(shí)候,這些工作往往已經(jīng)做了,你估算項(xiàng)目工作量時(shí),不要忘記這些已經(jīng)花費(fèi)的工作量。
2、商務(wù)方面的工作。
從客戶開始有意向做這個(gè)項(xiàng)目,一直到項(xiàng)目驗(yàn)收、維護(hù),整個(gè)過程中都會(huì)貫穿商務(wù)活動(dòng)。前期的商務(wù)活動(dòng)有商務(wù)談判、投標(biāo)準(zhǔn)備、合同簽署等,而簽訂合同后的商務(wù)活動(dòng)有項(xiàng)目請(qǐng)款和催款、促進(jìn)驗(yàn)收等。某些商務(wù)活動(dòng)屬于灰色地帶,如請(qǐng)客、送禮等,這些往往是花費(fèi)巨大的。一般來說我們不需要估算灰色地帶的商務(wù)活動(dòng),灰色地帶的商務(wù)活動(dòng)公司的高層會(huì)考慮的了,但我們需要對(duì)正常的商務(wù)活動(dòng)進(jìn)行估算。
3、需求調(diào)研方面的工作。
需求調(diào)研是一個(gè)“反復(fù)”的過程,一般來說能在前期確定80%已經(jīng)是很了不起的成績(jī)。
需求調(diào)研的工作量一般由三部分組成:前期調(diào)研的工作量,后期需求細(xì)化的工作量,后期需求變更的工作量。
前期調(diào)研的工作包括:項(xiàng)目組內(nèi)部討論、確認(rèn),與客戶討論、確認(rèn)需求,編寫需求規(guī)格說明書及組織評(píng)審等工作。
需求細(xì)化是指對(duì)之前已確定需求的進(jìn)一步具體化、優(yōu)化或輕微調(diào)整,如:界面細(xì)節(jié)的確認(rèn)、各業(yè)務(wù)概念的具體化等。需求細(xì)化一般是可預(yù)見可估計(jì)的。
需求變更是指對(duì)之前已確認(rèn)需求的“否定”,變更的原因主要有兩種情況:一是之前需求調(diào)研工作沒有能做好,理解錯(cuò)客戶的真正意圖或者是遺漏重要的需求;二是客戶業(yè)務(wù)情況發(fā)生變化,與之前情況已經(jīng)不同。第一種情況應(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ù)期比較長(zhǎng),事情繁雜,一個(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)目管理前期工作抓得緊抓得好,會(huì)大大減輕后期的工作量。
10、配置管理方面的工作。
什么叫配置管理?簡(jiǎn)單說就是對(duì)工作產(chǎn)品的管理,包括對(duì)各類文檔、各種記錄、代碼、數(shù)據(jù)庫、腳本、安裝程序、組件等等的管理。
軟件生產(chǎn)過程的工作產(chǎn)品可分為兩類:中間產(chǎn)物和最終產(chǎn)物。
中間產(chǎn)物有:
1)工程類:需求文檔、設(shè)計(jì)文檔、測(cè)試方案、代碼、數(shù)據(jù)庫腳本、數(shù)據(jù)庫、測(cè)試腳本等。
2)管理類:開發(fā)計(jì)劃、測(cè)試計(jì)劃、培訓(xùn)計(jì)劃、采購計(jì)劃、實(shí)施計(jì)劃等。
3)記錄類:會(huì)議記錄、郵件、缺陷等。
最終產(chǎn)物是指最終會(huì)交付給客戶的東西,一般有:組件、安裝程序、數(shù)據(jù)庫、用戶手冊(cè)、管理員手冊(cè)等。
針對(duì)不同的工作產(chǎn)品應(yīng)采取不同的針對(duì)性管理辦法,很多公司會(huì)制定單獨(dú)的配置管理計(jì)劃。
11、質(zhì)量保證方面的工作。
嚴(yán)格來說,質(zhì)量保證是靠項(xiàng)目組全體來保證的,這里所說的質(zhì)量保證是“狹義”的質(zhì)量保證,是指:要確保項(xiàng)目組按照既定的規(guī)定、過程、標(biāo)準(zhǔn)來工作,需按照既定的格式要求產(chǎn)出相應(yīng)工作產(chǎn)品。
對(duì)于以上十一點(diǎn),實(shí)際項(xiàng)目估算中往往出現(xiàn)這樣的問題:
1)忘記包含項(xiàng)目前期工作的工作量。
2)沒有考慮商務(wù)、維護(hù)、配置管理、質(zhì)量保證方面的工作。
3)需求調(diào)研、軟件設(shè)計(jì)、編碼、測(cè)試、實(shí)施方面的工作估計(jì)過少。
4)項(xiàng)目管理方面的工作量估計(jì)不足。
posted on 2011-11-23 17:30 順其自然EVO 閱讀(190) 評(píng)論(0) 編輯 收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄