沈佳蓓
【摘 要】項目管理對于以應用開發為主的軟件企業是行之有效的管理方法。本文結合實際工作進行分析。
【關鍵詞】軟件;項目管理
一、項目管理的重要性
軟件項目管理是一種科學的管理手段,它是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。軟件項目管理的范圍不僅包括傳統的軟件開發過程,還應該包括開發前的準備工作以及運行中的維護工作和對項目的總結工作,因此具有極其重要的作用。
項目管理對于軟件開發項目的重要性主要在于:項目管理可以幫助軟件開發合理配置人力資源;項目管理可幫助軟件開發團隊形成順暢有效的溝通機制;項目管理可以幫助明確軟件需求;項目管理可以使軟件項目計劃周密可行;項目管理可以幫助健全完備的文檔資料;項目管理有助于嚴格控制風險。目前的軟件開發正逐步趨向于復雜化、多元化,大多數開發團隊中都會出現同時開發多個版本、開發/維護工作并存、多地點同時開發等情況,給軟件開發管理帶來了前所未有的困難。如果管理不善,必將造成版本混亂,各個開發人員的工作相互交叉、干擾,整個開發團隊的工作在一種無秩序的不良狀況下運行,嚴重影響軟件產品開發的進度和質量。因此國內的軟件企業也紛紛認識到項目管理的重要性,引入CMMI軟件成熟度模型。
作為項目管理人員,我參與了較多軟件的需求、設計和開發過程,深刻的感覺到了項目管理在軟件項目實施中的重要作用。項目管理在軟件項目中的應用不僅使參加項目的相關人員自身價值和能力都得到了提升,同時也讓承建公司在后期實施類似項目的時候,可以用更少的資金、更少的資源、在合適的周期內對項目進行更好控制。
二、軟件項目管理的想法和體會
項目管理的精髓在于控制,通過控制可以衡量項目朝目標方向的進展、監控偏離計劃的偏差,以采取糾正的措施使進展和計劃相匹配,使項目符合既定的目標。項目的控制階段超越項目生命周期的其他階段,它涉及到9個項目管理知識領域中的7個領域,包括項目的整體變更控制、項目的范圍管理、項目的時間管理、項目的成本管理、項目的質量管理、項目的溝通管理、項目的風險管理。
下面結合實際工作著重就項目范圍變更控制及項目進度控制兩方面進行分析:
1.項目范圍變更的控制。項目管理最重要也是最難做的一件工作就是確定項目的范圍。在以往做過的項目中,經常會遇見這樣的問題:業主方并不了解他們真正的需求是什么,于是在項目實施的過程中不斷提出新需求,使整個項目跌入需求變化的怪圈。在蘇州市某行業業務系統中,我們監理方會同開發方在項目的開始階段做了充分的需求調研,讓業主方將所有的想法盡可能的闡述清楚,并把所有的需求羅列出來。同時要求開發方在取得客戶信任的基礎上,充分的挖掘客戶潛在的需求,理解客戶業務,使用客戶的語言,站在客戶的角度思考問題。最終,開發方在充分需求分析的基礎上,做了良好的需求管理,并在軟件需求規格說明書經過正式的評審之后納入基線,建立需求功能矩陣。另外,對于需求的變更,要求開發方嚴格遵循文檔化的變更流程,使軟件的開發計劃、工作產品和活動與需求保持一致。通過軟件的需求追溯,使項目在變更影響分析、跟蹤、再設計、測試等方面都有了很好的依據,同時保證了產品的完整性和準確性。因此,范圍管理水平是項目成敗的關鍵,范圍管理水平低下是導致項目失敗的主要因素之一。對于軟件項目來說,要實現高水平的項目范圍管理,重點要做好用戶參與、明確的需求說明以及范圍變更管理的程序設置等工作。
2.項目的進度控制。項目建設過程中,工期托延的情況時常發生。因而合理地安排項目時間是項目管理中一項關鍵內容。它的目的是保證按時完成項目、合理分配資源、發揮最佳工作效率。其實計劃和實際狀態之間總會存在一些差異,也就是“計劃跟不上變化”,有的人因此得出結論“計劃沒用”。其實,沒有“計劃”便無從談“變化”,沒有計劃就無法記錄偏差和修正計劃。工作中計劃的作用是協調工作、分析變化,如果不根據計劃執行并進行必要的控制,計劃沒有什么意義,也就是說控制過程中計劃才能發揮作用。進度控制可以分成四個步驟:計劃、執行、檢查和行動。首先是制定計劃,項目一開始首先要有明確項目目標、可交付產品的范圍定義文檔和項目的工作分解結構WBS。由于一些是明顯的、項目所必須的工作,而另一些工作則具有一定的隱蔽性,所以要以經驗為基礎,列出完整的完成項目所必需的工作,同時要有專家審定過程,以此為基礎才能制定出可行的項目進度計劃,以進行合理的時間管理和進度控制。在徐州某大型項目建設過程中,我們要求開發方首先將項目工作分解為更小、更易管理的活動,這些小的活動應該是能夠保障完成交付產品的可實施的詳細任務。要求開發方在項目實施中,將所有活動列成一個明確的活動清單,并且讓項目團隊的每一個成員能夠清楚有多少工作需要處理。活動清單采取文檔形式,以便于項目其他過程的使用和管理。當然,隨著項目活動分解的深入和細化,工作分解結構WBS需要修改。另外還需在產品描述、活動清單的基礎上,找出項目活動之間的依賴關系和特殊領域的依賴關系、工作順序。在這里,我們要求開發方既考慮團隊內部希望的特殊順序和優先邏輯關系,也考慮內部與外部、外部與外部的各種依賴關系以及為完成項目所要做的一些相關工作,例如平臺的開發必須在集成測試之前完成等。
除此之外,設立項目里程碑是排序工作中很重要的一部分。里程碑是項目中關鍵的事件及關鍵的目標時間,是項目成功的重要因素。徐州某大型項目建設過程中,監理方會同開發方設定了里程碑事件,將軟件需求書的最終評審、設計的完成、編碼階段的完成等關鍵任務作為項目的里程碑,使項目進度控制取得了良好的成效,在較短工期內順利完成了系統建設目標。
三、結論
管理在軟件工程項目中的地位和作用與其它工程項目一樣,是十分重要的。軟件項目管理始終貫穿于軟件生命周期的全過程。在軟件開發過程中,我們只有理論聯系實踐,積極從實踐中積累經驗,注意項目管理中的關鍵因素,實施有效的管理,才能使軟件項目獲得成功。
參考文獻:
[1]《軟件開發中的項目管理》 百度文庫.