當了一段時間IT項目經理,把一個軟件開發(fā)項目的項目管理的實際過程寫一下供大家討論和參考。IT項目管理跟其它工程項目管理最大的一個不同就是人的管理,項目成員不是簡單的機器,人員的知識技能,團隊建設,項目溝通等內容往往是項目管理的一個很關鍵內容。這個方面可以參考《人有神話》,《軟件工藝》,《最后期限》書籍,我的Blog上也有相關的讀書筆記可以參考。
首先我們用思維導圖把計劃階段的相關活動歸納一下再進行具體的分析:
1.項目目標和范圍
開始一個新項目或版本時候,首先是和用戶一起確認需求,進行項目的范圍規(guī)劃。項目是范圍,進度,質量和資源四要素的平衡,用戶對項目進度要求和優(yōu)先級高的時候,我們往往要縮小項目范圍,對用戶需求進行優(yōu)先級排序,排除優(yōu)先級低的需求。另外我們做項目范圍規(guī)劃的一個重要依據(jù)就是我們的歷史經驗數(shù)據(jù),對項目特征的清楚認識,項目范圍規(guī)劃初期需求你進行一個較宏觀的估算,否則你很難判斷清楚或給用戶承諾在現(xiàn)有資源情況下,你3個月時間里面是否可以完成20個或更多用戶功能。
正規(guī)過程好像是先確認項目范圍,然后根據(jù)WBS->進度計劃確認實際的項目周期,但實際情況往往很難如此,用戶往往對進度的關注度大于對范圍的關注度,一個項目半年或一年都看不到具體的產品出來用戶肯定是無法接受的,所以我們的軟件項目一般也是按版本增量迭代進行開發(fā)。
另外這里需要強調下項目目標的確定,項目的目標不能簡單理解為在某個時間點完成所有功能。項目另外一個重要目標就是項目的質量目標,你完成的這個項目需要達到那個等級的質量標準,交出的產品BUG泄漏率要控制在什么范圍內等內容。項目的質量目標不會影響到我們的范圍,但會影響到我們后續(xù)評審,測試等時間的安排,直接影響到項目的進度。
PMBOK里已經明確提到項目范圍定義的另一個重要目的就是項目的績效測量和驗收準則,你交付項目的時候用戶會根據(jù)用戶需求說明書內容對項目進行驗收,所有我們項目的范圍的定義必須是明確,量化,可驗證和可測試的,這樣才能夠避免后期無謂的糾紛。
另外在概述階段需要分析項目的假設和約束,假設和約束又分為技術方面和非技術方面,在這里我們分析的所有假設都可能成為項目的風險。
2.項目進度的確定
項目的目標和范圍確定后,需要開始確定項目的過程,項目整個過程中采用何種生命周期模型?項目過程是否需要對組織級定義的標準過程進行裁剪等相關內容。項目過程定義是進行WBS分解前必須確定的一個環(huán)節(jié),你采用瀑布模型和增量迭代模型對WBS分解和進度計劃安排顯然是完全不同的。
項目過程確認清楚后開始進行項目的WBS分解,WBS分解一般是項目組的核心成員參加,但項目經理應該是起主導和協(xié)調作用。WBS分解方法一般有基于過程和基于成功兩種方式,但兩種方式可以混合使用,比如在高層分解的時候先分解出子系統(tǒng)和工作包,在底層的時候再按照需求,設計,編碼和測試各個過程進行分解。WBS的最底層工作單元需要是可以獨立核實的產品,需要去下達計劃和任務,工作單元需要有明確的責任人,因此有時候在沒有做仔細的估算時候我們很難讓工作單元滿足這些要求,這樣就難免在進行估算過程中還要對WBS進行優(yōu)化和調整。
WBS分解完成后可以開始進行工作單元的估算,估算一般有專家法,三點法和功能點法估算,由于我們的項目采用專家法估算,因此更需要項目核心成員和有經驗的成員參加,估算一般會針對工作單元的單位和復雜度進行估算,最后估算出項目的總規(guī)模,再除以項目的生產率后得到項目的工作量數(shù)據(jù)。專家法估算一般會進行很多輪,直到所有指標都收斂(收斂標準是組織或項目事先確定清楚了,如偏差&l