轉眼間,工作了4年多了,期間參與或主導的項目差不多有20多個了。短的1、2個月,長的1年半載,有時同時參與4、5個項目,但是一直都沒有好好總結過這些項目的經驗,這幾天和一個好友無意間討論到這方面的事情,所以整理了一下,算是一個總結,也是對自己的一個告誡。

  軟件項目大的特點是不確定性。這是指軟件項目不可能完全在規(guī)定的時間內,按照規(guī)定的預算,由規(guī)定的人員完成。無論之前你做了多么精細的項目計劃,那也不過是一種預測,是一種對未來的估計和假設,在執(zhí)行的過程中肯定會有偏差。這些偏差是所謂的風險。即便你考慮了再多的風險,也肯定會出現(xiàn)一些意料之外的風險。因為這種不確定性,導致了計劃趕不上變化,也導致了平時的工作中的2種傾向:1、變化太快,索性不制定計劃。2、過度強調計劃,往往要將項目中非,嵥榈氖虑槎伎紤]的非常清楚之后再啟動項目。第一種傾向,在我做過的項目里占了2/5,都是在項目開始時制定一份計劃,項目一啟動丟到一邊,項目過程中完全不理會,個人能力強的PM大致還能把握方向和進度,但是問他之前做了些什么額外的工作時,往往回答不出來,等到項目結束,再把當初的計劃改改,做個大概的統(tǒng)計也了事。

  而項目過程中的一系列的常見問題也是導致項目失敗的原因(以下的原因是我做過的項目中總結出來的影響大的5點,按照影響程度的嚴重性,從高到低排列。)

  1、項目經理的管理能力不足

  項目經理的管理能力不足之所以放在第一位,我想大家都清楚原因。項目經理作為一個項目的靈魂,對于進度的把控、團隊成員的組建以及積極性的調動、成本的控制、和客戶的溝通、需求變更的把控、重大事情的決策。。。這些任何一個都能左右一個項目是否成功。我遇到的幾個項目中都是由于項目經理的能力不夠,直接導致項目失敗,而且使得項目成員在項目過程中也疲憊不堪,怨聲載道。其實現(xiàn)在很多項目的項目經理都是由技術骨干兼任,因此他們往往習慣于關注技術開發(fā),而忽視了項目管理工作。項目,本身是為了盈利而生,所以不排斥項目經理兼任項目技術主管或業(yè)務咨詢,但是必須要有將項目管理工作區(qū)分開來的意識和責任感。如果沒有這樣的意識,會造成疏忽項目計劃的制定、上下左右的溝通、專業(yè)資源的分配、項目組織的調整、成本的控制、風險分析等。項目管理工作的忽視,必然導致項目失控。

  2、需求不明確,變化多

  需求的多變是必然的。由于用戶對計算機系統(tǒng)認識的不足,加上一個東西的從無到有,所以往往需求開始都是模糊的,只有隨著項目的發(fā)展和反復的溝通,才能逐漸的明確。如何盡早的引導客戶把需求明確,是項目經理、需求分析人員的工作,是保障項目可以順利實施下去的前提保障,它是一門技術,也是一門思維溝通藝術。需求調研清楚了不代表著萬事大吉。同一個東西,不同的人有著不一樣的理解。開發(fā)人員和客戶之間隔著需求人員這么一層,如何把客戶的意思明白、清楚、不變形的傳遞給開發(fā)人員,這也是大部分項目中頭痛的問題。我們經?梢钥吹皆诋a品開發(fā)的差不多的時候,需求、開發(fā)、測試聚在一起吵架,責任互推。

  3、計劃不充分

  計劃不充分,分為計劃太粗或太細。制定的計劃不嚴謹,隨意性太大,會導致可操作性差,在實施中根本無法遵循,也失去了計劃的作用。有的人會拋棄全局計劃,采取每周制定下周的計劃,這樣也是不可取的,畢竟計劃沒有一個長遠的目標或宏觀上的掌控,只局限于眼前的一點點事情,往往會致使項目失控。我一般采取先制定全盤計劃,再每月制定詳細計劃,當月快結束時,根據實際情況調整下個月的計劃,這樣既有了較長期的把控,也有了和項目目標的對比,同時也不會把自己陷入無止境的修改計劃中。

  4、工作量估計過低

  工作量的估計不足,會直接導致項目延期。要對每項任務,甚至整個項目給出一個合適的工作量估計,需要綜合開發(fā)的技術、人員的生產效率、工作的復雜程度、歷史經驗等多種因素。我遇到的幾個項目中,計劃制訂者往往是憑個人經驗,個人拍腦袋給出來的,問他的憑據是什么,回答往往是個人經驗,有時里面也會包含其個人對自己的自信或自尊心問題,怕給出的時間過多而顯得自己能力不足。拋開這些,我們還應該注意一些平時不可見的工作量,如人員的培訓時間、各個階段的評審時間等等。制定工作量時,不能被客戶給的時間期限或上級的壓力所限制,否則往往是以失敗結束。

  5、項目團隊水平不足

  技術人員的水平如果不能與項目的要求相適應,對項目需求或新技術不是很熟悉,對項目的質量、成本、進度都會產生影響。當進度開始滯后,項目經理常用的方法是增加人手。我之前的一個項目是如此,由于項目經理不能把握需求,需求不斷的增加,于是開始不斷的加班,在這種折磨中,老員工開始紛紛離開,新來的員工不熟悉,進度進展緩慢,項目經理開始大量的加人,但是對系統(tǒng)代碼和需求的不熟悉,往往3、4個人新員工都抵不了1個老員工。于是,開始無限制的加班,在加班的折磨下,新員工又紛紛離開,于是又加人。。。惡性循環(huán),項目被無限的延期。這樣的項目相信大家遇到過不少。

  導致項目失敗的因素還有很多,對于一個團隊來說,一個好的管理者是一個好的開始,但并不等于項目成功。加強自身能力的提升,是每個項目管理者必須有的意識。