- 相關推薦
論一種加強軟件項目管理的實踐模式
摘要:本文認真分析了目前國內軟件項目管理中出現的問題,以提高軟件質量、降低成本、加強軟件項目的可控性為目標,在深入研究和探討CMM的基礎上結合軟件過程.給出了一種加強軟件項目管理的實踐模式。該實踐模式定義了CMM中的6個關鍵過程域和3個工作組.并從項目的開發時間和質量方面做效率分析,強調了軟件過程對軟件項目管理的重要性。
關鍵詞:軟件項目;軟件過程;CMM;KPA
1.引言
項目管理(PM,projectmanagement)是指利用現有的知識、方法和技術手段,有效地計劃、調度、控制和跟蹤項目的開始、執行、直止終止的過程,是項目順利實現的有效手段。軟件項目管理則是在項目管理的基礎上,結合軟件產品的實際,利用工程的概念和方法來開發與維護軟件,對成本、風險、時間、質量、過程、配置等進行分析、管理、控制,最終目的是為了讓軟件項目的整個生命周期都在管理者的控制范圍內,以預定成本按期、按質完成軟件的開發并交付用戶使用。目前,軟件產品已廣泛應用于各個領域,但是很多軟件項目的成功率并不高.雖然有些公司根據軟件工程理論建立了一些軟件開發管理規范.但并沒有從根本上提高軟件項目管理問題,這就導致軟件產品質量不穩定甚至是項目的失敗,同時也損害了用戶的利益。本文結合我國軟件項目管理的特點并經實踐應用.以提高軟件質量、降低成本、加強軟件項目的可控性為目標,通過對CMM的研究和改進,給出了一個基于CMM加強軟件項目管理的實踐模式,在這個模式中對目前CMM中的KPA做適當的裁減,定義了6個關鍵過程域和3個工作組。
2.軟件項目管理中目前存在的問題
影響軟件項目成功率的因素主要是軟件質量問題,而在整個軟件項目的實施過程中需求不明確、跟蹤和監督不力、缺乏客觀的軟件評審和軟件配置以及風險管理意識不足等都阻礙著軟件質量的提高。
2.1需求不明確
需求管理是軟件項目管理中非常關鍵的一個步驟.需求分析的完整與否可以降低軟件質量、延長項目周期、加大成本。由于用戶對計算機系統認識的不足,對于系統的需求往往比較模糊,遺漏甚至是錯誤的問題經常出現(包括管理流程、業務流程、數據或報表的分析處理等),但這些問題往往沒有暴露給開發人員,而是隨著項目的進展才逐漸明確。對于開發人員來說,需求的變更意味著軟件產品的部分內容必須重新開發,而對于整個軟件項目管理而言,勢必要重新分配資源、調整計劃、估算成本等等,導致軟件產品質量下降。
2.2跟蹤和監督不力
跟蹤和監督主要針對過程而言,也是項目管理中最容易被忽視的環節。軟件項目過程由多個任務構成,大部分任務都有前置任務和后置任務,這就要求項目管理者要嚴格跟蹤和監督每一個任務。任務的完成主要從時間進度和質量兩方面來衡量,還要充分考慮因客戶方引起的一些客觀因素(更改需求分析等)。項目管理者雖然制定了具體的項目進度內容,但如果缺乏有效的跟蹤和監督機制,對于每一個階段所要完成的任務疏于評價,就會影響下階段軟件產品的質量,有時甚至是軟件產品的重新開發,最終影響整個軟件項目。
2.3缺乏客觀的軟件評審
客觀的軟件評審是軟件產品質量的直接保障,軟件評審一直貫穿于整個軟件項目的過程中,對軟件產品的評審應有客戶使用人員和軟件業中的同行來進行。客戶使用人員對軟件產品做階段性的評審可以及時發現軟件產品功能方面的不足,同行評審可以從軟件業的規范及標準去發現問題.軟件評審可以降低軟件開發的成本提高軟件產品的質量。大多情況下項目管理者沒有做任何階段性的評審,通常只是在軟件產品開發基本完成之后來組織評審,果發現了很多問題,但要修改已經非常困難.要花費很長的時間甚至從頭再來。
2.4軟件配置混亂
軟件配置是指軟件產品在各個階段各種版本的文檔、程序及數據的集合,貫穿于整個軟件項目的始終。隨著軟件產品開發的進行,由于各種客觀原因,其中的預算、設計方案、進度等內容都有可能需要大大小小的更改(這些改動可能是合理的),整個改變的過程對軟件項目的參與人員來說必須是可視的,以便提高軟件的可靠性和質量,而這一切都應該有正確的軟件配置來控制如果失去正確的軟件配置管理,那么針對軟件產品發生的任何更改或者是維護都會給軟件項目帶來混亂甚至是失敗。
2.5風險管理意識不足
風險管理是軟件項目中防止失敗的一種重要手段,軟件項目不同的階段存在著不同的風險,并且風險會隨著項目的進展而變化,目前國內的軟件企業大都不注意軟件項目的風險管理。除了社會環境風險、商業風險等這些客觀風險之外.可控的軟件項目風險主要指技術風險。技術風險主要是指與軟件項目本身相關的的技術因素變化帶來的風險,如果在一定的條件下達不到技術條件能夠實現的目標,不但延緩項目的進度而且會增加項目的成本.繼而使整個項目受到影響。
3.通過過程管理加強軟件項目管理的實踐模式
利用cMM fCapabilityMaturityModeforSoftware)的核心思想把軟件項目管理看作一個軟件過程,并根據這一原則對整個軟件項目的開發和管理進行過程監控,監督發現過程中影響項目的關鍵問題并予以解決。軟件過程是指軟件開發人員開發和維護軟件及相關產品的一套行為、方法、實踐及變換過程,包括軟件開發過程和軟件管理過程。CMM把軟件開發機構按照不同開發水平劃分為5個級別。每個等級被分解為幾個KPA(關鍵過程域),KPA是指在某個成熟度等級應重點關注的區域,也是達到此成熟度等級必須解決的關鍵點。①初始級,無過程意義。軟件過程是無序的、隨機的、缺乏總計劃,無預見性,大多數活動是應付危機,經常超期超支,成功取決于個人。②可重復級,具備基本的項目管理。KPA分別是:需求管理、軟件項目計劃、軟件跟蹤與監督、軟件子合同管理、軟件質量保證、軟件配置管理;③已定義級,已定義軟件過程。已將軟件管理和軟件工程兩方面的過程文檔化、標準化,并綜合成該組織的標準軟件過程。KPA分別是:組織過程焦點、組織過程定義、培訓大綱、集成軟件管理、軟件產品工程、組間協調、同行評審;④可管理級,過程可度量。已收集了軟件過程和產品質量的詳細度量方法,軟件過程和產品均可被定量地理解和控制。KPA分別是:定量過程管理、軟件質量管理;⑤優化級,過程控制。通過過程的量化反饋以及新技術、新方法促使過程不斷改進。KPA分別是:缺陷預防、技術更新預防、過程更改管理。
CMM只是一個過程改進的框架.并沒有給出具體實施的辦法。在該模式中對目前CMM中的KPA做適當裁減.定義了6個關鍵過程域:軟件項目計劃(SPP)、需求管理(RM)、軟件項目跟蹤和監督(SPTO)、軟件質量保證(SQA)、軟件配置(SCM)、同行評審(PR),設置了三個工作組:軟件項目過程組(SPPG)、軟件工程組(SEG)、軟件質量保證組(SQAG)。通過工作組對關鍵過程域的操作來加強軟件項目的管理。
3.1定義KPA
3.1.1軟件項目計劃(SPP)
軟
【論一種加強軟件項目管理的實踐模式】相關文章:
淺論一種加強軟件項目管理的實踐模式03-13
論軟件項目的計劃管理03-02
論軟件項目管理的現狀分析和對策03-02
試論軟件項目管理03-02
對軟件項目管理的探討03-22
淺析軟件項目過程管理矩陣模型研究與實踐03-01
論工程項目管理03-19
論施工項目成本管理03-20
研究軟件項目管理的控制03-06