淺論一種加強軟件項目管理的實踐模式
摘要:本文認真分析了目前國內(nèi)軟件項目管理中出現(xiàn)的問題,以提高軟件質(zhì)量、降低成本、加強軟件項目的可控性為目標,在深入研究和探討CMM的基礎上結合軟件過程.給出了一種加強軟件項目管理的實踐模式。該實踐模式定義了 CMM中的6個關鍵過程域和3個工作組.并從項目的開發(fā)時間和質(zhì)量方面做效率分析,強調(diào)了軟件過程對軟件項目管理的重要性。
關鍵詞:軟件項目;軟件過程;CMM;KPA
1.引言
項目管理(PM,projectmanagement)是指利用現(xiàn)有的知識、方法和技術手段,有效地計劃、調(diào)度、控制和跟蹤項目的開始、執(zhí)行、直止終止的過程,是項目順利實現(xiàn)的有效手段。軟件項目管理則是在項目管理的基礎上,結合軟件產(chǎn)品的實際,利用工程的概念和方法來開發(fā)與維護軟件,對成本、風險、時間、質(zhì)量、過程、配置等進行分析、管理、控制,最終目的是為了讓軟件項目的整個生命周期都在管理者的控制范圍內(nèi),以預定成本按期、按質(zhì)完成軟件的開發(fā)并交付用戶使用。目前,軟件產(chǎn)品已廣泛應用于各個領域,但是很多軟件項目的成功率并不高.雖然有些公司根據(jù)軟件工程理論建立了一些軟件開發(fā)管理規(guī)范.但并沒有從根本上提高軟件項目管理問題,這就導致軟件產(chǎn)品質(zhì)量不穩(wěn)定甚至是項目的失敗,同時也損害了用戶的利益。本文結合我國軟件項目管理的特點并經(jīng)實踐應用.以提高軟件質(zhì)量、降低成本、加強軟件項目的可控性為目標,通過對CMM的研究和改進,給出了一個基于CMM加強軟件項目管理的實踐模式,在這個模式中對目前 CMM中的KPA做適當?shù)牟脺p,定義了6個關鍵過程域和3個工作組。
2.軟件項目管理中目前存在的問題
影響軟件項目成功率的因素主要是軟件質(zhì)量問題,而在整個軟件項目的實施過程中需求不明確、跟蹤和監(jiān)督不力、缺乏客觀的軟件評審和軟件配置以及風險管理意識不足等都阻礙著軟件質(zhì)量的提高。
2.1需求不明確
需求管理是軟件項目管理中非常關鍵的一個步驟.需求分析的完整與否可以降低軟件質(zhì)量、延長項目周期、加大成本。由于用戶對計算機系統(tǒng)認識的不足,對于系統(tǒng)的需求往往比較模糊,遺漏甚至是錯誤的問題經(jīng)常出現(xiàn)(包括管理流程、業(yè)務流程、數(shù)據(jù)或報表的分析處理等),但這些問題往往沒有暴露給開發(fā)人員,而是隨著項目的進展才逐漸明確。對于開發(fā)人員來說,需求的變更意味著軟件產(chǎn)品的部分內(nèi)容必須重新開發(fā),而對于整個軟件項目管理而言,勢必要重新分配資源、調(diào)整計劃、估算成本等等,導致軟件產(chǎn)品質(zhì)量下降。
2.2跟蹤和監(jiān)督不力
跟蹤和監(jiān)督主要針對過程而言,也是項目管理中最容易被忽視的環(huán)節(jié)。軟件項目過程由多個任務構成,大部分任務都有前置任務和后置任務,這就要求項目管理者要嚴格跟蹤和監(jiān)督每一個任務。任務的完成主要從時間進度和質(zhì)量兩方面來衡量,還要充分考慮因客戶方引起的一些客觀因素(更改需求分析等)。項目管理者雖然制定了具體的項目進度內(nèi)容,但如果缺乏有效的跟蹤和監(jiān)督機制,對于每一個階段所要完成的任務疏于評價,就會影響下階段軟件產(chǎn)品的質(zhì)量,有時甚至是軟件產(chǎn)品的重新開發(fā),最終影響整個軟件項目。
2.3缺乏客觀的軟件評審
客觀的軟件評審是軟件產(chǎn)品質(zhì)量的直接保障,軟件評審一直貫穿于整個軟件項目的過程中,對軟件產(chǎn)品的評審應有客戶使用人員和軟件業(yè)中的同行來進行?蛻羰褂萌藛T對軟件產(chǎn)品做階段性的評審可以及時發(fā)現(xiàn)軟件產(chǎn)品功能方面的不足,同行評審可以從軟件業(yè)的規(guī)范及標準去發(fā)現(xiàn)問題.軟件評審可以降低軟件開發(fā)的成本提高軟件產(chǎn)品的質(zhì)量。大多情況下項目管理者沒有做任何階段性的評審,通常只是在軟件產(chǎn)品開發(fā)基本完成之后來組織評審,果發(fā)現(xiàn)了很多問題,但要修改已經(jīng)非常困難.要花費很長的時間甚至從頭再來。
2.4軟件配置混亂
軟件配置是指軟件產(chǎn)品在各個階段各種版本的文檔、程序及數(shù)據(jù)的集合,貫穿于整個軟件項目的始終。隨著軟件產(chǎn)品開發(fā)的進行,由于各種客觀原因,其中的預算、設計方案、進度等內(nèi)容都有可能需要大大小小的更改(這些改動可能是合理的),整個改變的過程對軟件項目的參與人員來說必須是可視的,以便提高軟件的可靠性和質(zhì)量,而這一切都應該有正確的軟件配置來控制如果失去正確的軟件配置管理,那么針對軟件產(chǎn)品發(fā)生的任何更改或者是維護都會給軟件項目帶來混亂甚至是失敗。
2.5風險管理意識不足
風險管理是軟件項目中防止失敗的一種重要手段,軟件項目不同的階段存在著不同的風險,并且風險會隨著項目的進展而變化,目前國內(nèi)的軟件企業(yè)大都不注意軟件項目的風險管理。除了社會環(huán)境風險、商業(yè)風險等這些客觀風險之外.可控的軟件項目風險主要指技術風險。技術風險主要是指與軟件項目本身相關的的技術因素變化帶來的風險,如果在一定的條件下達不到技術條件能夠?qū)崿F(xiàn)的目標,不但延緩項目的進度而且會增加項目的成本.繼而使整個項目受到影響。
3.通過過程管理加強軟件項目管理的實踐模式
利用cMM fCapabilityMaturityModeforSoftware)的核心思想把軟件項目管理看作一個軟件過程,并根據(jù)這一原則對整個軟件項目的開發(fā)和管理進行過程監(jiān)控,監(jiān)督發(fā)現(xiàn)過程中影響項目的關鍵問題并予以解決。軟件過程是指軟件開發(fā)人員開發(fā)和維護軟件及相關產(chǎn)品的一套行為、方法、實踐及變換過程,包括軟件開發(fā)過程和軟件管理過程。CMM把軟件開發(fā)機構按照不同開發(fā)水平劃分為5個級別。每個等級被分解為幾個KPA(關鍵過程域),KPA是指在某個成熟度等級應重點關注的區(qū)域,也是達到此成熟度等級必須解決的關鍵點。①初始級,無過程意義。軟件過程是無序的、隨機的、缺乏總計劃,無預見性,大多數(shù)活動是應付危機,經(jīng)常超期超支,成功取決于個人。②可重復級,具備基本的項目管理。KPA分別是:需求管理、軟件項目計劃、軟件跟蹤與監(jiān)督、軟件子合同管理、軟件質(zhì)量保證、軟件配置管理;③已定義級,已定義軟件過程。已將軟件管理和軟件工程兩方面的過程文檔化、標準化,并綜合成該組織的標準軟件過程。KPA分別是:組織過程焦點、組織過程定義、培訓大綱、集成軟件管理、軟件產(chǎn)品工程、組間協(xié)調(diào)、同行評審;④可管理級,過程可度量。已收集了軟件過程和產(chǎn)品質(zhì)量的詳細度量方法,軟件過程和產(chǎn)品均可被定量地理解和控制。KPA分別是:定量過程管理、軟件質(zhì)量管理;⑤優(yōu)化級,過程控制。通過過程的量化反饋以及新技術、新方法促使過程不斷改進。KPA分別是:缺陷預防、技術更新預防、過程更改管理。
CMM只是一個過程改進的框架.并沒有給出具體實施的辦法。在該模式中對目前CMM中的KPA做適當裁減.定義了6個關鍵過程域:軟件項目計劃(SPP)、需求管理(RM)、軟件項目跟蹤和監(jiān)督(SPTO)、軟件質(zhì)量保證(SQA)、軟件配置(SCM)、同行評審(PR),設置了三個工作組:軟件項目過程組(SPPG)、軟件工程組 (SEG)、軟件質(zhì)量保證組(SQAG)。通過工作組對關鍵過程域的操作來加強軟件項目的管理。
3.1定義KPA
3.1.1軟件項目計劃(SPP)
軟件項目計劃是為要實施的軟件項目編制軟件過程活動的安排,包括進度控制、成本控制、質(zhì)量控制、風險控制等,也是實施CMM2的核心此階段在安排過程活動的同時開展項目設計的前期工作,設計和界定在整個項目中各階段所需的開發(fā)、質(zhì)量、跟蹤、評審、風險、成本等工作。項目計劃是指導項目過程的具體措施,要在有軟件項目實施經(jīng)驗的人員領導下投人大量的時間和人力資源來完成。制定項目計劃應注意7個問題。①在科學論證的基礎上制定過程,充分調(diào)動人員積極性合理地確定項目組的參加人員;②對軟件項目各程中的任務進行分解,明確項目的里程碑和檢查點;③正確估計軟件項目中的軟件資源、硬件資源、人力資源及其它費用;④正確估計各方面因素帶來的風險并制定應對措施;⑤制定項目實施過程中的跟蹤和監(jiān)督措施;⑥確定軟件的評審和測試方法;⑦詳細的文檔資料。
3.1.2需求管理(RM)
需求分析主要包括面向用戶的用戶需求和面向開發(fā)人員的系統(tǒng)需求.是整個軟件工程的第一步.也是非常關鍵的一個環(huán)節(jié)。需求分析主要針對用戶的業(yè)務流程、系統(tǒng)功能、性能、數(shù)據(jù)分析進行嚴格的定義.是設計一個軟件應用系統(tǒng)的起點與基本依據(jù),通過它來評判軟件產(chǎn)品是否能夠解決用戶問題,也是項目成功與否的標準。就目前國內(nèi)現(xiàn)狀來講,一般簽定軟件項目合同的用戶是主管信息技術的負責人,它所關心的可能是整個系統(tǒng)的目標需求,用戶方中層管理人員關心的是業(yè)務流程需求.終端操作人員則注重軟件本身的易操作性和功能特性,因此.面向用戶的需求一定要和用戶多方人員多溝通、交流.最終通過雙方有關部門人員的論證以文檔資料的形式確定下來。任何一個需求分析因客觀原因可能存在著需求更改的現(xiàn)象,對于這種情況一定要注意需求更改的可控性.要建立需求的基準版本和更改版本控制文檔資料.使受需求變化影響的產(chǎn)品與需求變更一致。但要注意在更改需求的同時要衡量需求的穩(wěn)定性,如果一個需求的變更比較頻繁,意味著本項目并沒有真正了解用戶想要解決的實際問題?梢哉f需求分析的完整性和變更可控性直接影響到軟件過程的改進,它可以降低軟件質(zhì)量、加大軟件開發(fā)的成本、甚至是導致項目的失敗。軟件工程組(SEG)中要明確定義一個需求管理員。
3.1.3軟件項目跟蹤和監(jiān)督(SPTO)
軟件項目的跟蹤和監(jiān)督始終貫穿于整個軟件項目的過程中,是項目得以控制的前提和條件、是軟件質(zhì)量的根本保障,其目的是增加軟件過程中進度、成本、工作量、質(zhì)量、風險等內(nèi)容的可視性,也是實施CMM2的核心。除去市場、法律等不可控制因素外,根據(jù)項目計劃對項目進展的有關情況及影響項目實施的相關因素進行及時、客觀、準確的信息采集,將采集到的需求、成本、進度、風險等內(nèi)容形成文檔并建立一個項目跟蹤信息平臺。項目負責人定期召集軟件過程人員、開發(fā)人員、質(zhì)量保證人員、用戶方有關人員召開開放式的例會,例會的主要內(nèi)容是檢查項目進展、數(shù)據(jù)的分析、認識的偏差、資源的搭配、相關的風險等問題并討論確切的解決辦法,通過跟蹤和監(jiān)督使項目始終處于可視化的受控狀態(tài)。
3.1.4軟件質(zhì)量保證(SQA)
軟件質(zhì)量保證是與軟件產(chǎn)品滿足規(guī)定的和隱含的需要能力有關的特征或特性的組合。對用戶來講主要體現(xiàn)在軟件產(chǎn)品的有效性、一致性、完整性、可靠性和可操作性等方面,對于軟件產(chǎn)品本身來講體現(xiàn)在軟件產(chǎn)品的可移植性、易維護性、健壯性、可重用性等方面。具體實踐中.軟件質(zhì)量保證應在軟件項目計劃、需求分析、跟蹤和監(jiān)督、軟件配置和軟件評審的相互配合下完成.軟件質(zhì)量保證要做到以事先預防和跟蹤為主,事后糾偏為輔。
3.1.5軟件配置(SCM)
軟件配置是針對軟件產(chǎn)品的跟蹤和控制活動.貫穿于整個軟件項目的過程中.目的是建立和維護在整個生命周期內(nèi)軟件產(chǎn)品的完整性和一致性,使整個軟件產(chǎn)品的演進過程處于可控的狀態(tài),繼而提高軟件的可靠性和質(zhì)量。在實踐應用中主要做到五個子項的配置①配置項的標識。標識做到唯一性。便于跟蹤和管理。②版本管理。對整個軟件過程中的文件和目錄提供有效的跟蹤手段。③變更控制。保持并傳遞修改信息。④配置審計。確定整個項目生產(chǎn)周期中產(chǎn)品在技術和管理上的完整性。⑤系統(tǒng)整合。把系統(tǒng)的不同部分集成后完成一組特定的功能。
3.1.6同行評審(PR)
同行評審是根據(jù)預定的規(guī)范和標準對軟件產(chǎn)品進行評審。評審的結果是衡量軟件產(chǎn)品質(zhì)量的依據(jù)。在整個軟件過程中對詳細設計和軟件綜合測試作為兩個關鍵評審點來進行評審,評審的過程中注意要結合本軟件項目的具體要求和標準。
3.2組的定義
在具體的實踐應用中設置了三個組,在降低了人員成本的同時提高了軟件過程改進能力和軟件質(zhì)量。
軟件項目過程組(SPPG)組織具體的項目實施活動,管理并協(xié)調(diào)整個軟件項目的過程,主要完成SPP和SPTO。
軟件工程組(SEG)負責軟件工程的需求分析、概要設計、詳細設計、編碼、測試、維護工作。
軟件質(zhì)量保證組(SQAG)主要完成SPTO、SCM、PR、SQA等工作。
4.實踐模式效率評估
4.1開發(fā)時間
軟件開發(fā)由需求分析、概要設計、詳細設計、編碼、軟件測試、項目維護和軟件集成幾部分內(nèi)容組成,在需求分析和設計階段采用CMM框架實施過程管理所花費的時間要多于沒有實施過程管理花費的時間。首先對項目做大量分析,論證項目的可行性。然后在和用戶做良好溝通、反復論證的基礎上做需求分析,形成文檔資料。這種模式下花費在需求分析和設計上的時間大約占項目總開發(fā)時間的40%,但這兩個階段完成了數(shù)據(jù)流程、算法描述、詳細的規(guī)格說明等內(nèi)容,為代碼編寫、軟件測試、軟件維護等后續(xù)內(nèi)容的工作節(jié)省了時間,軟件項目的開發(fā)周期大大縮短。經(jīng)過評估,采用該實踐模式實施軟件過程管理的軟件項目開發(fā)周期比沒有實施軟件過程管理的軟件項目開發(fā)周期縮短20%。
4.2開發(fā)質(zhì)量
采用CMM標準通過軟件過程管理加強軟件項目管理的實踐模式使軟件質(zhì)量明顯提高、需求分析周密、代碼錯誤率明顯降低、軟件產(chǎn)品完整性好、功能齊全、維護量下降,軟件項目最終得以順利實現(xiàn)。
5.結語
本文給出的通過軟件過程管理加強軟件項目管理的實踐模式優(yōu)點非常明顯.軟件過程改進目標明確,可以有效地提升軟件產(chǎn)品質(zhì)量、節(jié)省開發(fā)時間、降低成本。同時該模式更能體現(xiàn)團隊精神,擺脫了軟件開發(fā)中的個人主義,從整體出發(fā),在強調(diào)過程對整體重要性的同時,進一步降低了軟件過程中的各種風險,使軟件項目始終處在可視化的優(yōu)良受控狀態(tài)中。
【淺論一種加強軟件項目管理的實踐模式】相關文章:
淺論計算機軟件工程項目管理11-17
淺論加強企業(yè)薪酬管理的有效途徑12-08
淺論項目設計與施工階段的造價管理11-15
軟件技術專業(yè)企業(yè)化課堂與項目式實踐教學模式論文02-19
淺論地質(zhì)項目管理與勘查成本核算11-17
關于軟件項目管理的控制研究11-20
關于軟件項目管理及風險分析11-20
淺論市政工程項目施工階段的項目管理03-28
旅游管理專業(yè)實踐教學模式12-04
- 相關推薦