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