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