1 什么是軟件項目管理
軟件項目管理是在一定的約束條件下,以高效率地實現(xiàn)項目業(yè)主的目標為目的,以項目經理負責制為基礎和以項目為獨立實體進行經濟核算,并按照項目內在的邏輯規(guī)律進行有效的計劃、組織、協(xié)調、控制的系統(tǒng)管理活動。
2 軟件項目管理的特點
軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,合理地配置和使用各種資源,而對人員、進度、質量、風險等進行分析和管理,以達到既定目標的過程。軟件項目管理的根本目的是為了讓軟件項目尤其是大型項目的整個軟件生命周期都能在管理者的控制之下,以預定成本按期,按質的完成軟件交付用戶使用。軟件項目管理更強調項目經理的作用和團隊的合作精神,更加關注人的因素,關注客戶服務,著重于提高軟件項目研發(fā)的效率和質量。
3 做好軟件項目前期管理
3.1 項目計劃管理
在軟件項目管理過程中一個關鍵的活動是制定項目計劃,它是軟件開發(fā)工作的第一步。項目計劃的目標是為項目負責人提供一個框架,使之能合理地估算軟件項目開發(fā)所需的資源、經費和開發(fā)進度,并控制軟件項目開發(fā)過程按此計劃進行。主要進行的工作包括:確定詳細的項目實施范圍、定義遞交的工作成果、評估實施過程中主要的風險、制定項目實施的時間計劃、成本和預算計劃、人力資源計劃等。
3.2 項目需求管理
需求管理是每個軟件開發(fā)的基礎,是一種用于查找、記錄、組織和跟蹤系統(tǒng)需求變更的系統(tǒng)化方法,可用于獲取、組織和記錄系統(tǒng)需求并使客戶和項目團隊在系統(tǒng)需求變更上保持一致。軟件需求主要包括業(yè)務需求、用戶需求、功能需求和非功能需求、軟件需求規(guī)格說明。需求分析包括提煉、分析和仔細審查已收集到的需求,為最終用戶所看到的系統(tǒng)建立一個概念模型以確保所有的風險承擔者都明白其含義并找出其中的錯誤、遺漏或其他不足的地方。在項目需求分析階段,雙方必須全面地盡可能細致地討論項目的應用范圍、業(yè)務流程、性能要求、操作界面要求、與其他軟件的接口要求,以及對項目進行評估的各種評價標準。
3.3 項目團隊管理
建立項目團隊是項目開發(fā)過程的開始,一切工作都是由項目團隊的成員完成的在整個項目的運行過程中,需要很多不同的角色參與到項目中,完成不同階段的任務。所以在建立項目團隊的過程中要把握好人員角色的劃分,盡量發(fā)揮項目成員特長是項目經理進行工作分配要考慮的問題。各項目成員的知識技能評估,個性特點分析,優(yōu)點和缺點是要事先分析和考慮的內容。團隊的管理是項目管理的關鍵,也是項目成功的基本保障。
3.4 生命周期模型
生命周期模型指軟件開發(fā)全部過程、活動和任務的結構框架。軟件開發(fā)包括需求、設計、編碼和測試等階段,有時也包括維護階段。目前軟件開發(fā)實踐中使用的各種生命周期模型,主要如下:
1)瀑布模型。需要對每一個階段進行驗證,瀑布模型要求每一個階段都有明確的文檔產出,對于嚴格的瀑布模型每一個階段都不應該重疊,而應該是在評審通過,相關的產出物都已經基線后才能夠進入到下一個階段。采用瀑布模型可以保證系統(tǒng)在整體上的充分把握,使系統(tǒng)具備良好的擴展性和可維護性。但對于前期需求不明確,而又很難短時間明確清楚的項目則很難很好的利用瀑布模型。
2)螺旋模型。首先螺旋模型是遵從瀑布模型的。即需求->架構->設計->開發(fā)->測試的路線。螺旋模型最大的價值在于整個開發(fā)過程是迭代和風險驅動的。通過將瀑布模型的多個階段轉化到多個迭代過程中,以減少項目的風險。螺旋模型實現(xiàn)了隨著項目成本投入不斷增加,風險逐漸減小。以幫我我們加強項目的管理和跟蹤,在每次迭代結束后都需要對產出物進行評估和驗證,當發(fā)現(xiàn)無法繼續(xù)進行