接上文
• 具體實施:
一.利用專案管理的理論和實踐指南
軟體開發所具有的獨特的風險和困難
降低或消除任意性、建立運作流程的可重複性
利用專案管理協助建立合理的軟體運作流程和相應的規章制度
建立合理和科學的開發計劃
建立合理的規章制度
專案管理的理論
九大領域知識的利用
五個項目的流程階段
PMI 對專案管理領域知識和工作任務的定義:
軟體開發的成功專案管理有賴於對領域知識和流程管理的綜合運用
對軟體開發執行專案管理是在五個運作流程中分別利用九個領域知識執行綜合性的管理
每個流程階段都會用到幾個領域知識具體哪些領域知識的應用視具體的項目而定,但絕大多數都需要用到中心領域知識進行管理多次迴圈往複是軟體開發流程的特點每個流程階段可能被重複的可能性很大。
軟體專案管理應該期望流程的迴圈重複發生專案管理所共有的十大工作任務
從決定項目的啟動、確定項目的範圍、確定項目工作的重要性和優先順序、...到項目的結束收尾。
綜合使用專案管理的領域知識和流程管理的實踐
專案管理的十大工作在軟體開發項目中的運用
決定項目的啟動
確定項目的範圍
制定專案工作的重要性和優先順序
確定具體的項目工作任務和工作單元
分配項目資源
估算完成工作任務單元的時間
制定項目時間表
計算並管理項目的費用
項目執行的管理
品質管理–測試
追蹤進度
項目狀態通報
執行更改控制
執行風險管理
執行發行管理
項目的結束和收尾
完善的軟體開發專案管理的執行順序和工作總結
二.軟體開發項目的計劃制定
軟體開發項目的計劃必須包括兩個部分的計劃
軟體本身的計劃:需要開發什麼軟體、具備什麼功能、構架、介面、測試等等的設計?
開發項目的計劃:誰來開發具體的功能、具體開發工作的資源、時間、順序、控制等等的安排?
完善的軟體開發計劃是將兩個因素給串聯在一起
由所要開發的具體功能來決定專案計劃
不同功能的重要性和優先權決定開發工作任務的順序
開發項目的時間表應該由從下到上來制定:由具體開發工作的時間估算來算出整個項目的時間表
兩個計劃應該各有自己的計劃檔案
功能計劃:設計規範書
專案計劃:項目時間表
進行完善的軟體開發項目的計劃
進行項目工作任務分解
進行工作任務分解和順序組合的目的
在詳細的工作分解基礎上建立完善的開發項目時間表
三.計算和利用項目的分解和關鍵性通道的信
利用繪製項目網狀圖進行工作任務時間的計算
項目網狀圖的標準
利用項目關鍵性通道的資訊進行工作任務的重新安排
分解工作任務、安排並列執行計畫、縮短整體時間量
計算項目關鍵性通道的實踐
典型的項目:幾十到上百個工作任務用粘貼紙(Post-it)排列
一個會議主持人;每個任務用一個粘貼紙代表;粘在白板上,用筆畫連接線;
團隊先確定工作任務;
編排工作順序;
計算關鍵通道;
並列工作安排;
好處:
1)極為靈活的重新編排;
2)讓項目團隊成員從一開始就注意和理解工作任務之間的依賴
計算項目關鍵性通道(Critical Path)的重要性
它是專案計劃中最為關鍵的管理手段和本領之一
專案管理通常這樣對付關鍵性通道及任務:
將最佳的項目資源(人力、費用、裝置等)用在關鍵性工作任務上
進行風險管理時特別注意關鍵性通道上的工作任務
對項目的進度進行追蹤時特別注意關鍵性通道上的工作
當別的專案工作或團隊需要借用資源時,出借非關鍵工作任務的資源、或出借有寬鬆時間的工作資源
利用關鍵性通道和寬鬆時間的資訊:
對付縮短時間表的手段:利用寬鬆時間、分解工作任務、安排同步並進的工作計劃
提早完成關鍵性工作任務
四.理解和運用軟體開發流程的生命週期
• 應用的結果
如果你能夠立刻開始所有這些步驟,那很好。但是,即使你只能開始遵循其中的一些步驟,那麼你所遵循的任何步驟都能夠讓你儘可能的避免和控制專案範圍蔓延。用那種方式,你就能夠更好的控制你的項目,而不是讓你的項目控制你。
• 總結
藉助於專案管理的實踐指南意味著在軟體開發項目的流程中綜合使用專案管理的領域知識
專案管理的成功依賴於完善的專案計劃,而軟體開發的專案計劃必須具備以實際工作任務估算為基礎的時間表
最佳的項目時間表的制定是從下到上、對每個具體工作做了切合實際的估算後的整體綜合
懂得計算工作任務關鍵性通道,是制定並靈活控制管理開發時間表的關鍵技巧
理解和正確應用軟體生命週期的特點並做好每個階段的管理是軟體開發項目成功的基礎。
全篇完
我是李鳴(Aicken) 請您繼續關注我的下一篇文章。