工期緊,活兒只能湊合了;超支,趕緊砍內容,別弄那么多;資源有限,人手奇缺,往后拖吧。
這是我們身邊項目運作時常發生的狀況。
所有的項目經理都會做預算,都會設置檢查點,都知道又要無休止的協調。但真正執行起來,千變萬化的現實讓他們經常無所適從。
時間、質量、成本 難平衡!
在紙上畫一個等邊三角形。在各個邊上標上時間、質量、成本。我們會看到,任何一方的移動必定帶動其他的變形。這個三角形中間又是什么呢?是范圍管理,也是項目范圍。這個三角也是我們常說的“項目管理三角形”。時間、成本、質量是項目管理的三要素。有一種比喻更能說明三要素之間的關系。
小高為了取悅新認識的女朋友,精心設計了歐洲8日游,旅游花光了他多年的積蓄,旅游結束后,他再也沒有財力去繼續下一步的發展了。用項目管理的話說,這是不計成本的惡果。
過了一段時間后,他又攢了一些錢,這次他不和新女朋友旅游了,他請這個姑娘看了場電影—《第一滴血》。看完后,女朋友覺得小高有暴力傾向,又分手了。這一次,小高敗在不講質量。
第三次,小高知道女孩子一般喜歡看歌舞劇,他準備請第三個女朋友去看半年后才上演的《天鵝湖》,戰線一直拉著,女朋友愛上了別人——時間拖得太久了。
這個比喻形象地說明了項目管理中的難題:如何平衡三要素之間的關系?
一般來說,管理者都希望項目完成的時間要快,完成的成本要低,完成后的質量要好。可是這三個要素是彼此互斥的。能夠完美做到以上三個要素的項目,少之又少。上世紀60年代初,肯尼迪總統下令要十年內把人送上月球,并安全帶回來。這個龐大的計劃,要快,必須趕在前蘇聯之前完成;要好,絕不能出現任何差錯;并且在預算上有限制。
結果,在各方為這個項目大開綠燈之后,美國果真搶先把人類送上月球,并平安帶了回來。當然,我們平常的項目不可能集所有人力、物力、財力等所有資源,并且得到至高無上的尚方寶劍。
因此,在一般的項目上,這三個要素,彼此之間是魚與熊掌的關系。要兼顧的難度,會按照幾何級數上升。這樣一個三角難題,我們怎么去解呢?可以試著從兩方面著手。
第一,先弄清楚什么是“好”,什么是“快”,什么是“便宜”。
什么是好項目?一般來說,項目的結果使企業的收入增加、支出減少、服務加強,是好項目。
那么,什么是“快”?在項目管理上,時間是的。項目經理容易犯的錯誤,是在完工日期的預測上,為了討好上司而盡量樂觀。同時,他們總用歷史數據或別人的經驗影響自己的預測,也使得項目工期的變化比較大。
要達到預期完工的要求,項目經理要把一個規模大、時間長的項目,分成不同的階段完成。在每個階段,又要根據每階段不同的重點分別來做完工預測。工程分得越細,預測的準確性越高。這道理很普通,但需要很周詳的計劃和分析。
至于什么是“省”?當然,省錢不是項目管理中重要的目的。一個項目該花多少錢,是早算出來的。一般來說,如果實際的花費和預估的花費差別在30%以內,是能接受的范圍;超過30%,預算有問題。項目經理在預算方面遭受的壓力,比什么都大,因此,在做預算的時候,必須面對現實,而且一定要掌握一個原則—項目的“漲價”必不可少,做預算時打出點富余是正經。
三個要素互相制約,找準一個平衡點,才能讓三者平衡。很多時候,由于外在和內在的壓力,取舍是免不了的。要做好取舍分析,項目經理要懂得六件事:
第一,要很清楚地了解項目沖突的基本原因;第二,重新確認項目的目的;第三,了解項目現處的環境及目前狀況;第四,尋求可行的其它方法;第五,選擇佳的其他方法;第六,重新策劃項目計劃。
工作分解咋控制?
“計劃趕不上變化!”一個項目經理感嘆道。
的確,項目中有相當多的不確定因素,項目經理辛辛苦苦做的WBS(工作分解結構),可能因為客戶的改變,甚至領導的一句話,分崩離析了。一些公司高層沒有經過仔細考慮,也沒有充分征求各個方面的意見,在制定總體計劃時比較隨意,修改起來更是“信手拈來”。項目經理也常常借口工作忙等理由,拖延制定詳細的WBS,甚至有項目經理認為,不應該制定詳細的WBS。
而沒有詳細WBS的危害也是明顯的:造成計劃與控制管理脫節,無法進行有效的進度控制管理,終導致項目延期或成本上升。可以說,沒有WBS或者是隨意的不負責任的WBS的項目是一種無法控制的項目。面對各種潛在的變化,項目經理應該怎樣制定WBS呢?
首先項目經理應該對WBS有正確的認識,制定WBS是一個對項目逐漸了解掌握的過程,通過這個過程,項目經理可以知道哪些要素是明確的,哪些是要逐漸明確的,通過漸近明細不斷完善。漸近明細也是項目的一個特點,因此WBS的制定需要在一定條件的限制和假設之下采用漸近明細的方式進行不斷完善。
再者,制定WBS需要有一個現實的方法。一個大型的軟件開發項目,通常是采用二次WBS方法。即根據總體WBS,在需求調研階段結束、概要設計完成后,再專門針對詳細設計或編碼階段制定二次WBS 。
一個方面,需求的顆粒度在一開始往往是比較粗的,因此根據功能點對于整體項目規模的估計誤差范圍也是比較大的,只能據此制定總體的WBS。另一個方面,需求和編碼工作分解不是一一對應的,一個需求的功能點可能對應多個代碼模塊,而多個需求的功能點也可能只對應一個或少數代碼模塊。只有在概要設計完成以后才能準確地得到詳細設計或編碼階段的二次WBS。