qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          項目估算與計劃不是一般的難(下)

          計劃是如何做出來的?

            一、要站在戰(zhàn)略的高度。

            有時候我會問項目經(jīng)理這樣的問題:

            1、項目預(yù)算是多少?(注意前文提到的預(yù)算與估算的差別哦,預(yù)算是指公司打算花多少錢做這個項目。)
            2、合同要求在什么時候驗收?
            3、驗收一次進(jìn)行還是分初驗、終驗?

            有些項目經(jīng)理答不出了,他們沒有去關(guān)注合同中的要點,也沒有向高層取得項目的戰(zhàn)略指示。

            一般情況下,在項目初期,你應(yīng)該搞清楚這些戰(zhàn)略層面的內(nèi)容:

            1、合同價錢是多少,公司打算賺多少錢?
            2、公司為什么要做這個項目?想賺錢?想維持客戶關(guān)系?想積累業(yè)務(wù)和技術(shù)?本項目是公司戰(zhàn)略的其中一步?
            3、項目的工期要求。
            4、項目的驗收辦法、驗收標(biāo)準(zhǔn)。
            5、項目是如何收款的,客戶每次的付款條件是什么?

            你可以通過看合同,向公司高層請示,了解到這些關(guān)鍵信息。當(dāng)然很多公司合同是保密的,你可能無法直接看到合同,但你可以直接問高層領(lǐng)導(dǎo)嘛,盡量獲取上述關(guān)鍵信息。做項目就像打仗,秦國名將白起沒有一次敗仗,主要是因為他每次打仗之前,都會處在戰(zhàn)略高度來審視國與國之間的大勢。你要做好項目,先要把握項目的大勢!

            二、明確計劃的“輸入”。

            要做好計劃,你還需要了解清楚以下內(nèi)容:

            1、系統(tǒng)的需求。通常需求是不明確的,能明確多少算多少,同時你需要有計劃地去搞清楚。

            2、系統(tǒng)的設(shè)計。通常設(shè)計也是不明確的,你需要安排很多前期技術(shù)研究。

            3、項目組當(dāng)前的能力情況。

            4、為成功完成項目,項目組還需提升哪些知識和技能。

            以上這些內(nèi)容,是項目計劃的“輸入”,良好的輸入是優(yōu)質(zhì)計劃的基本保證。

            三、用估算來控制計劃,由計劃來調(diào)整估算。

            估算如果做得好,其實計劃就完成大部分了,你需要利用估算來指導(dǎo)計劃。為了說明“估算指導(dǎo)計劃”,下面我會虛擬一個例子。

            某項目估計完工需要1000人日的工作量,其估算明細(xì)如下:

            1、項目管理150人日。
            2、需求150人日。
            3、設(shè)計150人日。
            4、編碼250人日
            5、測試100人日。
            6、實施200人日。

            根據(jù)估算,你安排了詳細(xì)的進(jìn)度計劃,進(jìn)度計劃中的各任務(wù)可以分為六類:項目管理、需求、設(shè)計、編碼、測試、實施。請注意每一類工作量的總和,不能超過對應(yīng)的估算,你需要用各子估算來控制這六類子任務(wù)。

            不少項目在安排具體進(jìn)度計劃時,忘記做這個檢查,有時候進(jìn)度計劃的總工時沒有超出預(yù)算,但可能編碼方面的任務(wù)已經(jīng)超出了編碼的預(yù)算了。

            在具體計劃時,往往會發(fā)現(xiàn)估算時遺漏考慮的內(nèi)容,這時很有可能實際計劃的總工時會超出估算,或者是某類別的工時超出相應(yīng)的子估算。這是很正常的事情,項目組對項目的認(rèn)識是逐步深入的,不太可能在估算時就100%考慮周到。遇到這樣的情況,我們通常這樣處理:如果僅是某類別工時超出相應(yīng)的子估算,如果能從別的子估算挪一點過來“補數(shù)”,而總估算不受影響,則不需要申請估算調(diào)整;但如果總估算受到影響,則需要申請變更估算。

            前文講述估算時提到,會因為需求不能全部明確、設(shè)計也不能全部明確,估算往往不能一次完成,這時只需要估算能估算的部分就可以了。但我們需要隨著項目的開展,認(rèn)識的加深,持續(xù)更新估算。估算與計劃的關(guān)系是:估算指導(dǎo)計劃,計劃反過來促進(jìn)估算更新。

           四、制定可執(zhí)行可檢查的進(jìn)度計劃。

            具體工作任務(wù)的制定是很講技巧的,如何做到“可執(zhí)行可檢查”是關(guān)鍵,下面是制定進(jìn)度計劃的一些技巧:

            1、每個任務(wù)的時長不要超過5天。

            我們公司的項目,任務(wù)時長往往是在兩三天內(nèi)。

            2、任務(wù)只有完成與未完成兩種狀態(tài)。

            所謂任務(wù)完成90%之類的說法是不靠譜,任務(wù)應(yīng)該足夠細(xì)分,不要安排周期長的任務(wù),這樣能更好控制項目進(jìn)展。

            3、每個任務(wù)都有可供檢查的工作產(chǎn)物。

            不要籠統(tǒng)安排“研究什么什么技術(shù)點”之類的任務(wù),必須明確工作產(chǎn)物,如:研究某某技術(shù)點,編寫研究報告,提交演示程序。而任務(wù)完成標(biāo)準(zhǔn)就是:這些工作產(chǎn)物能達(dá)到期望的要求。

            4、一個任務(wù)一個人負(fù)責(zé)。

            一般不要安排類似“小甲與小乙共同完成某設(shè)計文檔”之類的工作,多人同時負(fù)責(zé)一個事情,效率會很低,效果也不太好。

            盡管實際工作中有可能需要多人同時做一個事情,你可以:

            1)再次將任務(wù)分解,落實到具體的人頭上,如上述任務(wù)可以分解為兩個任務(wù):小甲完成設(shè)計文檔的章節(jié)1、2、3,小乙完成章節(jié)4、5、6。

            2)如果任務(wù)實在不好再分解,就只安排一個人去做。

            在我們公司,一般只有評審任務(wù)是多人參與的,別的任務(wù)都會落實到具體的人頭上。

            五、細(xì)化近期計劃,定下遠(yuǎn)期計劃大節(jié)點。

            我曾經(jīng)負(fù)責(zé)一個房地產(chǎn)公司的成本管理系統(tǒng),當(dāng)時需求還沒有全部明確、技術(shù)也很不成熟,就被要求做出該項目的全部詳細(xì)計劃。我當(dāng)時很郁悶,一個月后某一天誰干什么的事情也要計劃出來嗎?我只能明確近期一兩周的具體工作,而遠(yuǎn)期的工作我只能定出大概,以后的事情可變因素太多,現(xiàn)在寫出所謂具體工作,其實是毫無價值的,浪費時間。

            近期兩周內(nèi)的工作能明確的工作,必須按照上述第四點的要求制定詳細(xì)的明確的可執(zhí)行的可檢查的任務(wù),而對于將來的工作,則需要定出關(guān)鍵節(jié)點,如什么時候發(fā)布什么版本,什么時候驗收。

            六、讓項目組各成員詳細(xì)計劃自己的工作。

            在項目經(jīng)理主持下,項目組全體共同來制定進(jìn)度計劃框架,明確任務(wù)的先后關(guān)系。而對于每個人的具體任務(wù),則可以在項目經(jīng)理的指導(dǎo)下,由每個人自己來確定。

            項目組由項目管理、需求、設(shè)計、編碼、測試、實施等各專業(yè)人才組成,每個人承擔(dān)起自己專業(yè)方面的管理工作,項目管理其實是項目組成員每個人的事情,不是只由項目經(jīng)理一個人來負(fù)責(zé)。

            七、持續(xù)更新計劃。

            計劃不是死的,是活的!項目計劃不是一次成型就固定不變的,項目組需要持續(xù)更新計劃細(xì)化計劃,要隨時保證近期的任務(wù)都已經(jīng)明確,而遠(yuǎn)期的任務(wù)如果能明確也應(yīng)當(dāng)盡量明確。任何項目組成員都可以發(fā)起計劃更新,項目經(jīng)理要推動大家管理好自己工作,讓大家主動更新計劃。

            這里要談?wù)動媱澴兏鼏栴},談到計劃變更很多人會“聞虎色變”,我們先要看看看什么叫“計劃變更”?

            “計劃變更”要與“計劃調(diào)整和細(xì)化”區(qū)別開來,調(diào)整和細(xì)化是指根據(jù)實際情況,不斷的適時地去修改計劃。任務(wù)微調(diào)是很經(jīng)常和很正常的時間,某某任務(wù)稍微延長一天,某某任務(wù)比計劃提早一天完成,某項目組成員請假等影響因素,都需要我們?nèi)フ{(diào)整計劃。與此同時,我們應(yīng)當(dāng)不讓去細(xì)化中遠(yuǎn)期的任務(wù),至少要一直保證近期的任務(wù)都是明細(xì)化的。

            而計劃變更是指,項目關(guān)鍵節(jié)點受到影響的重大變化,關(guān)鍵節(jié)點一般有:需求規(guī)格說明書通過評審的時間點、版本發(fā)布時間點、驗收時間點等。這些關(guān)鍵節(jié)點的變化,會影響合同條款的履行,會影響公司的戰(zhàn)略規(guī)劃。通常是因為內(nèi)因或外因?qū)е掠媱澴兏瑑?nèi)因一般有:遺漏重要需求、軟件設(shè)計出現(xiàn)重大失誤、代碼質(zhì)量不過關(guān);而外因一般有:客戶的需求變更,客戶未能做好項目上線準(zhǔn)備,第三方未能及時完成相關(guān)工作(如:硬件提供商未能及時發(fā)貨)。

            在我們公司,計劃調(diào)整和細(xì)化只需要項目組內(nèi)達(dá)成一致便可,而計劃變更則需要報高層審批。


           如何跟蹤計劃?

            計劃做出來不是用來看的,而是要執(zhí)行計劃!跟蹤計劃執(zhí)行的難度和工作量比起做計劃要高出好多倍。

            計劃跟蹤并不是對照進(jìn)度計劃,按時間檢查每個人的任務(wù)完成情況這么簡單,下面介紹一些計劃跟蹤的關(guān)鍵要點。

            1、建立便捷的項目組內(nèi)溝通機制。

            很多人強調(diào)加強溝通,雖然大家的意識算是加強了,但還是收不到理想效果。程序員不善溝通的特點(理科生往往是不善溝通),不是一下子能改變的。下面一些最佳實踐供大家參考:

            1)所有人的工作產(chǎn)品必須share!我們要求大家的文檔要提交到項目網(wǎng)站,而代碼滿足提交條件的,每天都需要提交。工作產(chǎn)品不能幾天都只存在自己電腦上,哪天你不上班了,大家就無法接手。

            2)每天站立會議。

            口頭溝通是最有效的溝通辦法,我在很多項目中實施了每天站立會議的做法,要求大家簡要地說明工作情況及遇到的問題,需要大家提供什么支援等。每次會議,如果有決議和代辦事項,我都會安排記錄下來,并將會議記錄公布在項目網(wǎng)站上。

            3)有問題即反饋!

            很多項目組成員喜歡遇到問題就悶頭干活,不好意思問,也好像是怕被主管認(rèn)為能力低。遇到問題有可能是任務(wù)本身有問題,也有可能是你的認(rèn)識不到位,某些知識不具備等導(dǎo)致的。實際工作中遇到問題是很正常的事情,如果沒有人提出問題,這反而是項目的最大問題。我強調(diào)任何人都可以提問題和大家討論,任何人都可以發(fā)起項目會議討論問題。問題如果不在產(chǎn)生時消除,將來必定會因此徒增很多項目工作量。

            2、建立項目組成員的自信。

            我?guī)ьI(lǐng)過很多項目團(tuán)隊,很多項目組成員是新手,甚至是應(yīng)屆生,項目團(tuán)隊中新手太多是很大的挑戰(zhàn)!在中國基本上不可能每個項目團(tuán)隊一開始就是最強陣容的,大部分項目團(tuán)隊是新老結(jié)合,中高低搭配的。我強調(diào)每個人的重要性,對于新手要給出更多的機會,更多的指導(dǎo),更多的鼓勵!犯錯不要緊,犯錯多也不要緊,只要錯誤不是重復(fù)的,這就是好事!只要去做事情,就有機會犯錯,只要做未做過的事情,犯錯機會也會更大一點,關(guān)鍵是總結(jié)和進(jìn)步!

            3、質(zhì)量投資,減少返工。

            項目時間緊,大家就會一頭扎到編碼中,想盡快弄出個東西來。“謀定而后動”“磨刀不負(fù)砍柴工”等大道理大家都懂,但事到臨頭還是明知故犯,結(jié)果往往是工作質(zhì)量低、返工一大堆!

            要培養(yǎng)大家零缺陷意義,零缺陷意識包括零缺陷文檔、零缺陷代碼、零缺陷發(fā)布。我經(jīng)常和大家強調(diào),做一個事情只有兩種選擇,一種就是不做,一種就是認(rèn)真做好!不要搞什么60分萬歲,不要應(yīng)付完成,任何帶有缺陷的工作,會在將來帶來無窮無盡的“后患”。一步一個腳印,欲速則不達(dá)。

            除了向大家灌輸這種思想并要求大家這樣去做,作為項目經(jīng)理還需要盡早檢查和指導(dǎo)大家的工作。比方說:我安排小甲完成某模塊的設(shè)計文檔,我不會等文檔完成才去看,我會先要求小甲思考后找我口頭說明他的思路,大致沒有問題我就讓他動手寫文檔,而且我要求項目組所有人寫文檔都必需在線完成,我會隨時檢查文檔的質(zhì)量。(說明:我們用SharePoint來管理項目文檔,Word、Excel等文檔都可以在項目網(wǎng)站上在線編輯。)

            絕大部分項目是分秒必爭的,保證大家用正確的方法做正確的事情,才能最大限度地減少返工。不過上面提到的檢查辦法確實有點夸張,我一般對于新手才會這樣檢查,當(dāng)新手已經(jīng)成長起來,你對他有信心,就不需要檢查得這么密了。

            4、不斷思考減少工作量的辦法。

            失敗的項目特點,往往是無用功太多,返工太多!

            軟件項目的特點是“兩不明確兩大限死”:需求不明確、設(shè)計不明確、工期限死、預(yù)算限死。要成功完成項目,不能光靠所謂的項目管理知識,你需要熟悉這個軟件開發(fā)的方方面面,想出降低工作量的方法。

            能極大降低工作量的兩個方面:

            1)需求方面:抓住本質(zhì)需要,盡量簡化需求,優(yōu)先實現(xiàn)穩(wěn)定的需求。

            穩(wěn)定的需求是指我們基本能明確,客戶將來不太可能會變化的需求,這些需求應(yīng)該優(yōu)先實現(xiàn)。

            2)設(shè)計方面:采用成熟設(shè)計,重用組件,采用能降低編碼和實施工作量的設(shè)計。

            通過以上兩方面降低工作量,光靠項目管理知識是辦不到的,你需要在這兩方面有資深的經(jīng)驗,你需要發(fā)動項目組全體人員的智慧,一起想出簡化工作的辦法。

           5、密切留意需要客戶和第三方完成的工作。

            我們公司的項目在開發(fā)階段還算比較順利,因為一切都是自己來掌控的,但一旦涉及到客戶或者第三方,問題就非常多。下面是常見的一些問題及應(yīng)對辦法:

            1)確認(rèn)需求規(guī)格說明書,特別是一旦要求客戶簽字蓋章,就會左推右推。我們會跟客戶說明簽字是表示對前面工作的確認(rèn),不代表將來不允許變更。

            2)客戶不能及時準(zhǔn)備好實施所需的軟硬件環(huán)境。我們會提前很多提醒客戶,并盡可能幫助可以搭建實施環(huán)境。

            3)系統(tǒng)上線后,客戶無法及時組織人員參加培訓(xùn),推動系統(tǒng)正式使用。我們一般會走高層路線,讓客戶高層推動系統(tǒng)上線。

            4)系統(tǒng)需要用到的服務(wù)器或相關(guān)硬件不能及時采購。我們會事先做好供應(yīng)商選擇,挑選合適的供應(yīng)商。

            不要忽視客戶和第三方的工作,一般需要打很大的提前量來進(jìn)行預(yù)防性管理。

            優(yōu)秀項目經(jīng)理是怎樣煉成的?

            軟件項目經(jīng)理往往是權(quán)力小而責(zé)任重大,軟件項目的“兩不明確兩大限死”特點,讓我們做項目猶如走鋼絲,而且要高速地走鋼絲!

            你的綜合實力決定你能否成為優(yōu)秀的項目經(jīng)理!項目經(jīng)理是練出來的,下面談?wù)勎业捏w會。

            1、你需要有扎實而豐富的軟件工程實踐經(jīng)驗。

            想成為優(yōu)秀項目經(jīng)理,從編碼切入可能是最好的打基礎(chǔ)辦法。我編寫VB與C#的代碼都有若干年時間,編碼的工作其實不只是編碼的,你還需要考慮測試,你還需要思考軟件是否符合需求,考慮軟件如何安裝部署等。只要你能堅持3年以上的編碼工作,相信你一定會有軟件工程的多方面經(jīng)歷,如需求、測試、實施,這些經(jīng)歷都是你寶貴的財富!如果你是從測試、實施切入,你可能難以獲取軟件編碼、軟件設(shè)計、軟件技術(shù)方面的經(jīng)驗。

            2、學(xué)習(xí)軟件開發(fā)牛人總結(jié)出來的項目管理知識。

            關(guān)于項目管理的資料書籍很多,強烈建議大家重點閱讀軟件開發(fā)牛人總結(jié)出來的經(jīng)驗。如果你還沒有實際工作經(jīng)驗,大學(xué)中學(xué)習(xí)的軟件工程知識,可能還能“忽悠”一下你。但如果你已經(jīng)有實際工作經(jīng)驗了,建議你一邊工作一邊學(xué)習(xí)資深軟件開發(fā)人員的著作,會讓你產(chǎn)生極大的共鳴,讓你思考如何工作得更好。我最開始看的一批項目管理書是微軟資深開發(fā)人員編寫的,大家找實用項目管理知識書一定要注意作者有沒有多年的實際軟件項目管理經(jīng)驗。

            3、主動承擔(dān)項目管理工作。

            我剛開始的三年編碼生涯,基本上是出于“無人管理”狀態(tài)下完成一個技術(shù)含量較高的桌面程序。當(dāng)時沒有人帶領(lǐng)我做這個軟件,我完全是靠自己一邊探索,一邊前進(jìn),這無疑是給了我自己管理自己的鍛煉機會。不要等別人來管理你,你首先應(yīng)該要會自己管理自己!如果你能管好自己,你就應(yīng)該主動申請帶領(lǐng)團(tuán)隊完成一些工作。項目經(jīng)理可以說是訓(xùn)練綜合素質(zhì)的最好職位,無論你將來升任部門經(jīng)理、高層領(lǐng)導(dǎo),甚至做老板,還是回頭鉆研技術(shù),項目經(jīng)理一職絕對是你以后成功的超級助力器!

            4、持續(xù)總結(jié),不斷進(jìn)步。

            總結(jié)使人進(jìn)步!你應(yīng)該利用一切機會思考和改進(jìn)。很多人不喜歡寫文章,這一個很大的問題,寫文章其實不需要什么文采,關(guān)鍵是你腦袋中有沒有東西?我主要通過以下幾種途徑來幫助自己總結(jié):

            1)在項目中我會編寫計劃、需求、設(shè)計等各種文檔。

            2)我平時會整理出很多文章。

            3)我會整理出很多課程,在公司的每日培訓(xùn)中與大家分享。

            本文介紹了我在項目估算與計劃的實踐體會,希望能為大家?guī)碛幸娴膯l(fā)。

          posted on 2011-11-23 17:45 順其自然EVO 閱讀(306) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2011年11月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 兴山县| 修文县| 湟中县| 台湾省| 永川市| 远安县| 清苑县| 五常市| 高要市| 河源市| 海南省| 平乡县| 准格尔旗| 黔江区| 资源县| 仙桃市| 东海县| 新巴尔虎右旗| 夏河县| 治县。| 湖南省| 文登市| 乌拉特中旗| 苏尼特右旗| 新巴尔虎左旗| 嘉善县| 花莲市| 巩义市| 襄汾县| 五家渠市| 平江县| 苗栗市| 云浮市| 两当县| 安远县| 合江县| 吴旗县| 岐山县| 酉阳| 杭锦后旗| 黄石市|