范偉
摘 要:隨著計(jì)算機(jī)應(yīng)用范圍的日益廣泛深人,應(yīng)用軟件的規(guī)模及復(fù)雜程度也日趨大型化、復(fù)雜化,這就導(dǎo)致軟件開(kāi)發(fā)的方式也從早期的單兵作戰(zhàn)式或手工作坊式漸漸轉(zhuǎn)變?yōu)榧瘓F(tuán)化、工廠流水線式的團(tuán)隊(duì)協(xié)作開(kāi)發(fā)方式。這種情況下,軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)成本、人員、進(jìn)度、質(zhì)量、風(fēng)險(xiǎn)等進(jìn)行分析和管理的活動(dòng)。本文從軟件項(xiàng)目管理的重要性談起,研究分析了CMM、CMMI、PSP、TSP四個(gè)軟件項(xiàng)目管理技術(shù),指出了它們的缺陷,最后結(jié)合實(shí)踐提出了一種新穎的軟件項(xiàng)目管理概念。
關(guān)鍵詞:軟件項(xiàng)目管理技術(shù) CMM CMMI PSP TSP
1.軟件項(xiàng)目管理技術(shù)概述
軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)人員(People)、產(chǎn)品(Product)、過(guò)程(Process)和項(xiàng)目(Project)進(jìn)行分析和管理的活動(dòng)。
軟件項(xiàng)目管理的根本目的是為了讓軟件項(xiàng)目尤其是大型項(xiàng)目的整個(gè)軟件生命周期都能在管理者的控制之下,以預(yù)定成本按期,按質(zhì)的完成軟件交付用戶使用。而研究軟件項(xiàng)目管理為了從已有的成功或失敗的案例中總結(jié)出能夠指導(dǎo)今后開(kāi)發(fā)的通用原則,方法,同時(shí)避免前人的失誤。
軟件項(xiàng)目管理的內(nèi)容主要包括如下幾個(gè)方面:人員的組織與管理,軟件度量,軟件項(xiàng)目計(jì)劃,風(fēng)險(xiǎn)管理,軟件質(zhì)量保證,軟件過(guò)程能力評(píng)估,軟件配置管理等。
這幾個(gè)方面都是貫穿、交織于整個(gè)軟件開(kāi)發(fā)過(guò)程中的,其中大家對(duì)軟件項(xiàng)目管理過(guò)程中技術(shù)比較感興趣。
這里我們主要談以下四種主流的軟件項(xiàng)目管理技術(shù)。
1.1 CMM
CMM是指“能力成熟度模型”,是對(duì)于軟件組織在定義、實(shí)施、度量、控制和改善其軟件過(guò)程的實(shí)踐中各個(gè)發(fā)展階段的描述。
CMM是一種用于評(píng)價(jià)軟件承包能力并幫助其改善軟件質(zhì)量的方法,側(cè)重于軟件開(kāi)發(fā)過(guò)程的管理及工程能力的提高與評(píng)估。CMM分為五個(gè)等級(jí):一級(jí)為初始級(jí),二級(jí)為可重復(fù)級(jí),三級(jí)為已定義級(jí),四級(jí)為已管理級(jí),五級(jí)為優(yōu)化級(jí)。 從當(dāng)今整個(gè)軟件公司現(xiàn)狀來(lái)看,最多的成熟度為1級(jí),多數(shù)成熟度為2級(jí),少數(shù)成熟度為3級(jí),極少數(shù)成熟度為4級(jí),成熟度為5級(jí)的更是鳳毛麟角。
其所依據(jù)的想法是:只要集中精力持續(xù)努力去建立有效的軟件工程過(guò)程的基礎(chǔ)結(jié)構(gòu),不斷進(jìn)行管理的實(shí)踐和過(guò)程的改進(jìn),就可以克服軟件生產(chǎn)中的困難。CMM基于組織對(duì)關(guān)鍵過(guò)程域的支持,定義了軟件過(guò)程成熟度的五個(gè)級(jí)別。
級(jí)別1(初始級(jí))描述了不成熟,或者說(shuō)是未定義過(guò)程的組織。級(jí)別2(可重復(fù)級(jí)),級(jí)別3(已定義級(jí)),級(jí)別4(已管理級(jí))和級(jí)別5(優(yōu)化級(jí))分別描述了軟件過(guò)程成熟度級(jí)別遞增的組織。和這些級(jí)別相關(guān)的KPA是:
級(jí)別2:需求管理,軟件項(xiàng)目計(jì)劃,軟件項(xiàng)目跟蹤和監(jiān)控,軟件子合同管理,軟件質(zhì)量保證,軟件配置管理。
級(jí)別3:組織級(jí)過(guò)程焦點(diǎn),組織級(jí)過(guò)程定義,培訓(xùn)大綱,集成軟件管理,軟件產(chǎn)品工程,組間協(xié)調(diào),同行評(píng)審。
級(jí)別4:定量過(guò)程管理,軟件質(zhì)量管理。級(jí)別5:缺陷預(yù)防,技術(shù)更新管理,過(guò)程更改管理。
1.2 CMMI
CMMI即能力成熟度模型集成。CMMI被看做是把各種CMM集成為一個(gè)系列的模型中。CMMI的基礎(chǔ)源模型包括:軟件CMM2.0版(草稿c),EIA一731系統(tǒng)工程,以及IPDCMM(IPD)0.98a版。CMMI也描述了5個(gè)不同的成熟度級(jí)別:
級(jí)別1(初始級(jí))代表了以不可預(yù)測(cè)結(jié)果為特征的過(guò)程成熟度。過(guò)程包括了一些特別的方法、符號(hào)、工作和反應(yīng)管理,成功主要取決于團(tuán)隊(duì)的技能。
級(jí)別2(已管理級(jí))代表了以可重復(fù)項(xiàng)目執(zhí)行為特征的過(guò)程成熟度。組織使用基本紀(jì)律進(jìn)行需求管理、項(xiàng)目計(jì)劃、項(xiàng)目監(jiān)督和控制、供應(yīng)商協(xié)議管理、產(chǎn)品和過(guò)程質(zhì)量保證、配置管理、以及度量和分析。對(duì)于級(jí)別2而言,主要的過(guò)程焦點(diǎn)在于項(xiàng)目級(jí)的活動(dòng)和實(shí)踐。
級(jí)別3(嚴(yán)格定義級(jí))代表了以組織內(nèi)改進(jìn)項(xiàng)目執(zhí)行為特征的過(guò)程成熟度。強(qiáng)調(diào)級(jí)別2的關(guān)鍵過(guò)程域中前后一致的、項(xiàng)目級(jí)的紀(jì)律,以建立組織級(jí)的活動(dòng)和實(shí)踐。
級(jí)別4(定量管理級(jí))代表了以改進(jìn)組織性能為特征的過(guò)程成熟度。3級(jí)項(xiàng)目的歷史結(jié)果可用來(lái)交替使用,在業(yè)務(wù)表現(xiàn)的競(jìng)爭(zhēng)尺度(成本、質(zhì)量、時(shí)間)方面的結(jié)果是可預(yù)測(cè)的。級(jí)別4附加的過(guò)程域包括:①組織級(jí)過(guò)程執(zhí)行:為過(guò)程執(zhí)行設(shè)定規(guī)范和基準(zhǔn);②定量的項(xiàng)目管理:以統(tǒng)計(jì)質(zhì)量控制方法為基礎(chǔ)實(shí)施項(xiàng)目。
級(jí)別5(優(yōu)化級(jí))代表了以可快速進(jìn)行重新配置的組織性能和定量的、持續(xù)的過(guò)程改進(jìn)為特征的過(guò)程成熟度。附加的級(jí)別5過(guò)程域包括:①因果分析和解決方案:主動(dòng)避免錯(cuò)誤和強(qiáng)化最佳實(shí)踐;②組織級(jí)改革和實(shí)施:建立一個(gè)能夠有機(jī)地適應(yīng)和改進(jìn)的學(xué)習(xí)組織。
1.3 PSP
個(gè)人軟件過(guò)程(PSP)是一種可用于控制、管理和改進(jìn)個(gè)人工作方式的自我持續(xù)改進(jìn)過(guò)程,是一個(gè)包括軟件開(kāi)發(fā)表格、指南和規(guī)程的結(jié)構(gòu)化框架。PSP與程序設(shè)計(jì)語(yǔ)言、工具或者設(shè)計(jì)方法相對(duì)獨(dú)立,其原則能夠應(yīng)用到幾乎任何的軟件工程任務(wù)之中。PSP能夠說(shuō)明個(gè)體軟件過(guò)程的原則; 幫助軟件工程師作出準(zhǔn)確的計(jì)劃;確定軟件工程師為改善產(chǎn)品質(zhì)量要采取的步驟;建立度量個(gè)體軟件過(guò)程改善的基準(zhǔn);確定過(guò)程的改變對(duì)軟件工程師能力的影響。PSP為基于個(gè)體和小型群組軟件過(guò)程的優(yōu)化提供了具體而有效的途徑,在軟件設(shè)計(jì)階段,PSP的著眼點(diǎn)在于軟件缺陷的預(yù)防,其具體辦法是強(qiáng)化設(shè)計(jì)約束準(zhǔn)則,而不是設(shè)計(jì)方法的選擇。
1.4 TSP
TSP(群組軟件過(guò)程)是CMU/SEI在PSP基礎(chǔ)上又發(fā)展出的軟件項(xiàng)目管理技術(shù),它主要是指導(dǎo)項(xiàng)目組中的成員如何有效地規(guī)劃和管理所面臨的項(xiàng)目開(kāi)發(fā)任務(wù),并且告訴管理人員如何指導(dǎo)軟件開(kāi)發(fā)隊(duì)伍。
實(shí)施TSP的先決條件有三條:首先,需要有高層主管和各級(jí)經(jīng)理的支持,以取得必要的資源;其次,項(xiàng)目組開(kāi)發(fā)人員需要經(jīng)過(guò)PSP的培訓(xùn)并有按TSP工作的愿望和熱情;第三,整個(gè)開(kāi)發(fā)單位在總體上應(yīng)處于CMM二級(jí)以上,開(kāi)發(fā)小組的規(guī)模以3~20人為宜。
2.軟件項(xiàng)目管理技術(shù)分析
CMM的基于活動(dòng)的度量方法和瀑布過(guò)程的有次序的、基于活動(dòng)的管理規(guī)范有非常密切的聯(lián)系,所以CMM在實(shí)踐中反映出來(lái)的問(wèn)題表現(xiàn)為過(guò)度基于過(guò)程的管理,具有典型的傳統(tǒng)瀑布方法癥狀。雖然CMMI保留了基于活動(dòng)的方法,它的確集成了軟件產(chǎn)業(yè)內(nèi)很多現(xiàn)代的最好的實(shí)踐,因此它很大程度上淡化了和瀑布思想的聯(lián)系,而和疊代思想聯(lián)系得更緊密。
根據(jù)對(duì)軟件開(kāi)發(fā)項(xiàng)目一線的多數(shù)工程師和項(xiàng)目經(jīng)理的調(diào)查分析,我們知道CMM對(duì)現(xiàn)代原理幾乎沒(méi)什么影響,甚至有些現(xiàn)代原理實(shí)際上是和CMM關(guān)鍵過(guò)程域相沖突的?;趯?duì)產(chǎn)業(yè)默認(rèn)實(shí)踐的觀察和分析,CMMI和現(xiàn)代管理原理關(guān)系十分密切,激發(fā)了半數(shù)的疊代軟件管理原則,因此,對(duì)于采用瀑布過(guò)程開(kāi)發(fā)軟件項(xiàng)目的組織來(lái)講,最好采用CMM的軟件項(xiàng)目管理技術(shù),而對(duì)于采用迭代軟件開(kāi)發(fā)過(guò)程開(kāi)發(fā)軟件項(xiàng)目的組織來(lái)說(shuō),還是應(yīng)該采用CMMI軟件項(xiàng)目管理技術(shù)進(jìn)行軟件項(xiàng)目管理。
CMM/CMMI不是萬(wàn)能的,它的成功與否,與組織內(nèi)部有關(guān)人員的積極參與和創(chuàng)造性活動(dòng)密不可分,而且CMM/CMMI并未提供有關(guān)子過(guò)程實(shí)現(xiàn)域所需要的具體知識(shí)和技能。這就需要PSP的管理技術(shù)來(lái)協(xié)作了,PSP專(zhuān)注于為個(gè)體和小型群組軟件過(guò)程的優(yōu)化提供具體而有效的途徑。
實(shí)踐證明,PSP已不能解決現(xiàn)代軟件項(xiàng)目管理中的所有問(wèn)題,這時(shí),擅長(zhǎng)于項(xiàng)目任務(wù)規(guī)劃管理和項(xiàng)目人力資源規(guī)劃管理的TSP恰好可以在這方面做有益的補(bǔ)充。
綜上所述,單純實(shí)施CMM/CMMI,永遠(yuǎn)不能真正做到能力成熟度的升級(jí),達(dá)到軟件項(xiàng)目管理的最佳境界,只有將實(shí)施CM CMMI與實(shí)施PSP和TSP有機(jī)地結(jié)合起來(lái),靈活地應(yīng)用于軟件項(xiàng)目管理,才能發(fā)揮最大的效力,取得最好的效果。
參考文獻(xiàn):
[1] 張海藩 .軟件工程導(dǎo)論[M] .清華大學(xué)出版社 .1998 .1
[2] 郭國(guó)印等。軟件項(xiàng)目管理技術(shù)分析研究 .微處理機(jī).2007年10月 第五期
[3] 楊一平等.軟件能力成熟度模型CMM方法及其應(yīng)用[M].北京:人民郵電出版社,2001..