在關系到軟件項目成功與否的眾多因素中,軟件的目標與項目計劃、成本估算、進度計劃、人員分配、軟件配置管理、風險管理、軟件質(zhì)量管理和軟件工程文件規(guī)范等都是與項目管理直接相關的因素。由此可見,軟件研發(fā)項目管理的意義至關重要。
軟件項目管理是包括項目計劃、項目組織和控制的一系列活動。而軟件計劃就是對軟件開發(fā)過程的詳盡描述與安排。
一、軟件開發(fā)項目的特點
了解軟件開發(fā)項目的特點對于項目的計劃制定和管理控制是非常必要的。與其他類型項目的共同點:項目成功與否不僅取決于項目過程中所采用的技術方法工具,還取決于項目管理的水平,特別是計劃與控制的水平。與其他類型項目的不同點:
(1) 軟件產(chǎn)品和其他產(chǎn)品不同,軟件產(chǎn)品是一種"邏輯"產(chǎn)品,是無形的,沒有物理屬性的,看不見、摸不著、難以理解。
(2) 需求難以明確且頻繁變更:由于用戶的成熟度或責任心的原因,用戶開始無法給出明確的需求。在開發(fā)過程中,需求可能要經(jīng)常修改,因此需要經(jīng)常地修改程序與文檔。
(3) 難以在早期發(fā)現(xiàn)問題:需求不明確,加上后期修改可能沒有進行全局性的考慮,產(chǎn)生的問題難以從早期的文檔中直觀地發(fā)現(xiàn),需要等系統(tǒng)設計出來后才會發(fā)現(xiàn)。
(4) 項目成員對文檔的重視不夠,符合用戶需求的高質(zhì)量軟件,需要依賴于大量準確規(guī)范的文檔編輯工作,但項目組成員對它并不感興趣,很少有人愿意認真去做,因而直接影響了軟件的質(zhì)量。
(5) 勞動密集型+智力密集型:軟件開發(fā)過程需要大量高強度的腦力勞動,這些勞動非常細致、高度復雜、容易出錯,質(zhì)量難以用簡單的度量來衡量,使得軟件的正確性難以保證。對于不深入地掌握軟件工程知識或缺乏軟件開發(fā)實踐經(jīng)驗的人員,是難以做好軟件開發(fā)項目管理工作的。
二、項目計劃目的與作用
根據(jù)軟件能力成熟度模型(簡稱 CMM)集成 CMMI,軟件開發(fā)項目計劃的目的是:建立和維護定義項目活動的計劃。 項目計劃屬于 CMMI 的第二級,其過程域包括開發(fā)項目計劃、與相關人員交流、獲取對計劃的承諾、維護計劃。項目計劃為實施和監(jiān)控項目活動提供了基線。
1. 項目計劃的目標blog
(1) 項目計劃的第一個目標:建立估計值,即建立和維護項目計劃因素的估計值。為此應該確定項目范圍,即通過建立高層工作分解結(jié)構(gòu)來估計項目范圍;監(jiān)理工作產(chǎn)品和任務屬性的規(guī)模與復雜度;確定項目的生命周期階段,以此來限定計劃范圍;基于估算的原理進行對工作產(chǎn)品和任務的項目工作量和成本的估算。
(2) 項目計劃的第二個目標:開發(fā)項目計劃文檔,即文檔化項目計劃、維護項目計劃,并以此作為項目管理的基線。為此應該建立和維護項目的預算和進度表;要識別和分析項目風險;確定如何采集和管理項目數(shù)據(jù);確定實施計劃所需要的各種資源;確定項目實施所必需的知識和技能;確定各項任務或活動的承擔人;編寫項目計劃文檔。
(3) 項目計劃的第三個目標:獲得并維持所有項目干系人對項目的承諾。為此應當評審影響項目的所有計劃,使所有項目干系人理解項目承諾;必要時調(diào)整項目計劃以適應有效的和已經(jīng)估計的資源;獲取所有項目干系人特別是項目任務或活動的承擔人對項目計劃的承諾。
項目計劃是項目實施的基礎。通過所有項目干系人認可的項目計劃形成文件,便于本企業(yè)高層領導、相關管理部門領導、相關參與部門領導、項目組成員、客戶、協(xié)作單位、分包單位等所有項目干系人之間的交流溝通。項目計劃是項目組為實現(xiàn)項目目標而科學地預測并確定項目生命周期的行動方案。任何項目計劃都是為了解決 3 個問題:
① 確定項目目標;
② 確定為了達成項目目標的各項行動的順序和時間;
③ 確定項目中每項行動所需要的資源。
所以制定項目計劃