|
基于CMM成熟度模型,包括中小企業(yè)在內(nèi)的軟件企業(yè)如何進(jìn)行軟件過程改造,如何在具體項(xiàng)目中引入并實(shí)施CMM的標(biāo)準(zhǔn)成為人們關(guān)注的重點(diǎn)。CMM的實(shí)施核
心焦點(diǎn)不在于軟件的開發(fā)技術(shù)層面,而在于工程過程層面和工程管理層面。所謂工程過程層面是指將工程開發(fā)的整個(gè)過程所涉及的相關(guān)議題作為過程學(xué)的體系來研究
和執(zhí)行。過程學(xué)本身既不同于通常所說的軟件工程技術(shù),(如編碼,操作系統(tǒng)等等),也不同于一般所言的工程管理學(xué),軟件過程既是對(duì)軟件工程這一領(lǐng)域中所涉及
的流程按其獨(dú)特特性進(jìn)行專門描述。事實(shí)上,任何企業(yè)在開發(fā)工程產(chǎn)品的實(shí)踐中,都有開發(fā)過程產(chǎn)生,雖然很多企業(yè)并未對(duì)其進(jìn)行記錄或關(guān)注。按照工程過程學(xué)派的
觀點(diǎn),沒有正確的過程就不可能有正確的產(chǎn)品產(chǎn)生,因此對(duì)開發(fā)組織的過程需要規(guī)范和改進(jìn)。 由于軟件過程必然與工程管理相關(guān),因而它不象具體的開發(fā)技術(shù)問題那樣容易規(guī)劃并著手實(shí)施,特別是國(guó)內(nèi)廣大的中小軟件企業(yè)和部門,在采納某一過程體系進(jìn)行開發(fā)流程的改造時(shí),應(yīng)特別注意如下幾方面的問題,將其作為過程實(shí)施開端的要領(lǐng)加以掌握: 1.不可急于求成和盲目樂觀。任何新體系的采納和改進(jìn)都必然涉及對(duì)舊有體系的重組和調(diào)整,需要投入相當(dāng)?shù)臎Q心和時(shí)間。如果企業(yè)在充分評(píng)估后決定了以CMM工程標(biāo)準(zhǔn)來規(guī)范建構(gòu)自身的軟件開發(fā)行為,則應(yīng)該在次序改進(jìn)的前提下盡早實(shí)施企業(yè)開發(fā)過程調(diào)整以便有充裕時(shí)間理解和評(píng)估前期改造的成效。 2.必須懂得CMM作為一套標(biāo)準(zhǔn),它指明的是該作什么(What)而非怎樣去做(How),同時(shí)CMM也代表了一種對(duì)軟件生產(chǎn)過程進(jìn)行理解和分析的獨(dú)到觀點(diǎn)(Philosophy)。CMM著重于過程中的關(guān)鍵要素,而非面面俱到,它主要不是為了解決某個(gè)具體項(xiàng)目的問題,也不能保證在此框架下產(chǎn)品開發(fā)100%成功,CMM所述的軟件過程集合了工程過程和管理過程等方面,對(duì)它的過程改進(jìn)要靠許多細(xì)小的階段性的步驟而非一蹴而就的革新。 3.CMM1.1版主要針對(duì)大型軟件企業(yè),這些企業(yè)的開發(fā)工作通常關(guān)涉軟件生產(chǎn)過程的方方面面。對(duì)于20人以下的小型企業(yè),1.1版中的一些環(huán)節(jié)可能并不適用。 4.企業(yè)在采納CMM過程改進(jìn)的同時(shí),可以引入新技術(shù)與自動(dòng)化工具幫助軟件開發(fā)的實(shí)現(xiàn),不過,對(duì)過程的改進(jìn)要求企業(yè)全面投入并需較長(zhǎng)周期,而技術(shù)引進(jìn)則相對(duì)周期較短。但如果企業(yè)只是依靠技術(shù)改進(jìn)而不注重過程改進(jìn),長(zhǎng)遠(yuǎn)看來,企業(yè)可能收獲甚少。 5."知己知彼,百戰(zhàn)不殆"。實(shí)施改進(jìn)之前,企業(yè)應(yīng)對(duì)自身當(dāng)前所有的軟件能力水平及過程狀態(tài)有盡可能的客觀、詳盡的了解??梢詤⒖急疚暮蟾狡髽I(yè)開發(fā)能力自測(cè)表進(jìn)行初步診斷,在明了自身實(shí)際過程等級(jí)之后,企業(yè)應(yīng)確定需要達(dá)到的等級(jí)目標(biāo)并找到主要差距所在。企
業(yè)要想達(dá)到的等級(jí)目標(biāo)包括它所特定的過程目標(biāo)及核心過程域(KPA)。這一等級(jí)應(yīng)符合企業(yè)自身開發(fā)水平與項(xiàng)目特征。在企業(yè)明了了自身實(shí)際等級(jí)與目標(biāo)等級(jí)之
間的差距之后,應(yīng)制定規(guī)劃,決定改進(jìn)次序及程度,可參考的決策因素包括:目標(biāo)與能力的平衡,投入工期與質(zhì)量的保證,企業(yè)總體發(fā)展與當(dāng)前項(xiàng)目開發(fā)的平衡,員
工素質(zhì)條件,最薄弱環(huán)節(jié)與最急需改進(jìn)環(huán)節(jié),還有最易見效的環(huán)節(jié),等等。 6.如有可能,在企業(yè)內(nèi)部成立專門的過程改進(jìn)規(guī)劃組,并配合企業(yè)外聘的咨詢機(jī)構(gòu)或顧問,擬訂出詳細(xì)的過程實(shí)施方案,同時(shí)注意在實(shí)施過程中對(duì)計(jì)劃進(jìn)行修正和調(diào)節(jié)。在此,應(yīng)將改進(jìn)方案指定得盡量具體詳細(xì),這包括:
CMM模式即可用于描述軟件機(jī)構(gòu)實(shí)際具備的能力成熟度水平,也可用于指明軟件企業(yè)改進(jìn)軟件工程所需著力之處,它說明了努力的方向,又允許企業(yè)自己選擇恰
當(dāng)?shù)姆绞饺ミ_(dá)到這一目的。實(shí)施CMM的經(jīng)驗(yàn)告訴軟件工程人員,在軟件項(xiàng)目開發(fā)中,更多的問題和錯(cuò)誤來源于工程安排的次序,工程規(guī)劃和工程管理而不是技術(shù)上
的how to
do。軟件工程的過程學(xué)不斷分析和改善已有工程經(jīng)驗(yàn),擬定出盡可能完善的開發(fā)過程,并按開發(fā)生命周期確定重點(diǎn)環(huán)節(jié)加以管理,最終達(dá)到以量化數(shù)據(jù)來建立能力
成熟度等級(jí)的目標(biāo)。良好的工程過程保證了有序的開發(fā)實(shí)施,避免了以往開發(fā)人員被動(dòng)救火的方式,并將個(gè)人主觀因素減低至最少。開發(fā)人員的個(gè)人創(chuàng)造性從獨(dú)立任
意的發(fā)揮消解并轉(zhuǎn)移到如何創(chuàng)建性地運(yùn)用和完善工程過程上來。 作為一種模型,CMM實(shí)際上是對(duì)軟件機(jī)構(gòu)工程過程的理論和數(shù)據(jù)模擬,在對(duì)它的應(yīng)用中,主要包括軟件產(chǎn)品供應(yīng)方和應(yīng)用方兩大類。 目前,世界范圍內(nèi)已采納CMM標(biāo)準(zhǔn)的企業(yè)紛紛以此標(biāo)準(zhǔn)決定軟件項(xiàng)目合同的承接與分包。實(shí)踐中,許多中小企業(yè)在接納CMM體系時(shí),采納了保留企業(yè)部分原有工程過程指標(biāo)并加以修改的辦法。 卡萊基·梅隆大學(xué)軟件研究所提出了一套實(shí)施CMM標(biāo)準(zhǔn)的方法,按照他們的建議,IDEAL是企業(yè)開始引入CMM體系的良好參照模式,它包括: I--啟動(dòng)(Initiating),表示開發(fā)機(jī)構(gòu)應(yīng)為CMM的引入準(zhǔn)備好前期基礎(chǔ)設(shè)施和程序。
如有可能,企業(yè)在咨詢機(jī)構(gòu)或咨詢師的協(xié)助下可以加快CMM體系引入的過程,但企業(yè)必須同時(shí)著力于培訓(xùn)自身理解工程過程的人才。較好的方法包括在開發(fā)組織
內(nèi)部分項(xiàng)目形成CMM研討小組以促進(jìn)開發(fā)組及開發(fā)人員之間的經(jīng)驗(yàn)交流。顯而易見,實(shí)施CMM的成效應(yīng)根據(jù)機(jī)構(gòu)自身特有的實(shí)際情況作判斷,正確的實(shí)施應(yīng)該從
質(zhì)和量?jī)煞矫鎸?duì)過程的各環(huán)節(jié)發(fā)生作用。CMM體系在中小企業(yè)的應(yīng)用中并未要求逐字照章對(duì)應(yīng)每一項(xiàng)核心過程域和核心實(shí)踐來進(jìn)行,機(jī)構(gòu)可以用裁減的辦法對(duì)其應(yīng)
用程度作修正,也可選用闡述的辦法將某項(xiàng)具體的實(shí)施工作等同為特定的核心實(shí)施。 根據(jù)SEI的研究數(shù)據(jù),絕大多數(shù)軟件項(xiàng)目的成功都遵循了下述的工程原則: |
|
|