第一級(jí):初始級(jí)
在初始級(jí),企業(yè)一般不具備穩(wěn)定的軟件開(kāi)發(fā)與維護(hù)的環(huán)境。常常在遇到問(wèn)題的時(shí)候,就放棄原定的計(jì)劃而只專注于編程與測(cè)試。
第二級(jí):可重復(fù)級(jí)
在這一級(jí),建立了管理軟件項(xiàng)目的政策以及為貫徹執(zhí)行這些政策而定的措施。基于過(guò)往的項(xiàng)目的經(jīng)驗(yàn)來(lái)計(jì)劃與管理新的項(xiàng)目。
第三級(jí):定義級(jí)
在這一級(jí),有關(guān)軟件工程與管理工程的一個(gè)特定的、面對(duì)整個(gè)企業(yè)的軟件開(kāi)發(fā)與維護(hù)的過(guò)程的文件將被制訂出來(lái)。同時(shí),這些過(guò)程是集成到一個(gè)協(xié)調(diào)的整體。這就稱為企業(yè)的標(biāo)準(zhǔn)軟件過(guò)程。
第四級(jí):定量管理級(jí)
在這一級(jí),企業(yè)對(duì)產(chǎn)品與過(guò)程建立起定量的質(zhì)量目標(biāo),同時(shí)在過(guò)程中加入規(guī)定得很清楚的連續(xù)的度量。作為企業(yè)的度量方案, 要對(duì)所有項(xiàng)目的重要的過(guò)程活動(dòng)進(jìn)行生產(chǎn)率和質(zhì)量的度量。軟件 產(chǎn)品因此具有可預(yù)期的高質(zhì)量。
第五級(jí):(不斷)優(yōu)化級(jí)
在這個(gè)等級(jí),整個(gè)企業(yè)將會(huì)把重點(diǎn)放在對(duì)過(guò)程進(jìn)行不斷的優(yōu)化。企業(yè)會(huì)采取主動(dòng)去找出過(guò)程的弱點(diǎn)與長(zhǎng)處,以達(dá)到預(yù)防缺陷 的目標(biāo)。同時(shí),分析有關(guān)過(guò)程的有效性的資料,作出對(duì)新技術(shù)的 成本與收益的分析,以及提出對(duì)過(guò)程進(jìn)行修改的建議。
CMM第一級(jí):初始級(jí)
◆ 特征
(1)軟件過(guò)程的特點(diǎn)是雜亂無(wú)章,有時(shí)甚至混亂,幾乎沒(méi)有定義過(guò)程的規(guī)則或步驟。
(2)過(guò)分的承諾,常作出良好的承諾:如“按照軟件工程方式,有序的工程來(lái)工作”;或達(dá)到高目標(biāo)的許諾。但實(shí)際上卻出現(xiàn)一系列問(wèn)題。
(3)遇到危機(jī)就放棄原計(jì)劃過(guò)程,反復(fù)編碼和測(cè)試。
(4)成功完全依賴個(gè)人努力和杰出的專業(yè)人才,取決于超常的管理人員和杰出有效的軟件開(kāi)發(fā)開(kāi)發(fā)人員。具體的表現(xiàn)和成果都源 于或者說(shuō)是決定于個(gè)人的能力和他們先前的經(jīng)驗(yàn)、知識(shí)以及他們的進(jìn)取心和積極程度。
(5)能力只是個(gè)人的特性,而不是開(kāi)發(fā)組織的特性。依靠著個(gè)人的品質(zhì)或承受著巨大的壓力;或找竅門(mén)取得成果。但此類人一旦離去,對(duì)組織的穩(wěn)定作用也消失。
(6)軟件過(guò)程是不可確定的和不可預(yù)見(jiàn)的。軟件成熟性程度處于第一級(jí)軟件組織的軟件過(guò)程在實(shí)際的工作過(guò)程中被經(jīng)常的改變(過(guò)程是隨意的)。這類組織也在開(kāi)發(fā)產(chǎn)品,但其成果是不穩(wěn)定的,不可預(yù)見(jiàn)的,不可重復(fù)的。也就是說(shuō),軟件的計(jì)劃、預(yù)算、功能和產(chǎn)品的質(zhì)量都是不可確定和不可預(yù)見(jiàn)的。
◆ 過(guò)程
(1)極少存在或使用穩(wěn)定的過(guò)程
(2)所謂“過(guò)程”,往往是“就這么干”而言。
(3)各種條例,規(guī)章制度互不協(xié)調(diào),甚至互相矛盾。
◆ 人員
(1)依賴個(gè)人努力和杰出人物。一旦優(yōu)秀人物離去,項(xiàng)目就無(wú)法繼續(xù)。
(2)人們的工作方式如同“救火”,就是在開(kāi)發(fā)過(guò)程中不斷地出現(xiàn)危機(jī),以及不斷的“救火”。
◆ 技術(shù)
引進(jìn)新技術(shù)是極大風(fēng)險(xiǎn)。
◆ 度量
不收集數(shù)據(jù)或分析數(shù)據(jù)。
◆ 改進(jìn)方向
(1)建立項(xiàng)目管理過(guò)程,實(shí)施規(guī)范化管理,保障項(xiàng)目的承諾。
(2)首要任務(wù)是進(jìn)行需求管理,建立客戶與軟件項(xiàng)目之間的共同理解,使項(xiàng)目真正反映客戶的要求。
(3)建立各種軟件項(xiàng)目計(jì)劃、如軟件開(kāi)發(fā)計(jì)劃、軟件質(zhì)量保證計(jì)劃、軟件配置管理計(jì)劃、軟件測(cè)試計(jì)劃、風(fēng)險(xiǎn)管理計(jì)劃及過(guò)程改進(jìn)計(jì)劃。
(4)開(kāi)展軟件質(zhì)量保證活動(dòng)(SQA)。
CMM第二級(jí):可重復(fù)級(jí)
◆ 特征
(1)進(jìn)行較為現(xiàn)實(shí)的承諾,可按以前在同類項(xiàng)目上的成功經(jīng)驗(yàn)建立的必要過(guò)程準(zhǔn)則來(lái)確保再一次的成功。
(2)主要是逐個(gè)項(xiàng)目地建立基本過(guò)程管理?xiàng)l例來(lái)加強(qiáng)過(guò)程能力。
(3)建立了基本的項(xiàng)目管理過(guò)程來(lái)跟蹤成本、進(jìn)度和功能。
(4)管理工作主要跟蹤軟件經(jīng)費(fèi)支出、進(jìn)度及功能。識(shí)別在承諾方面出現(xiàn)的問(wèn)題。
(5)采用基線(BASELINE)來(lái)標(biāo)志進(jìn)展、控制完整性。
(6)定義了軟件項(xiàng)目的標(biāo)準(zhǔn),并相信它,遵循它。
(7)通過(guò)子合同建立有效的供求關(guān)系。
◆ 過(guò)程
(1)軟件開(kāi)發(fā)和維護(hù)的過(guò)程是相對(duì)穩(wěn)定的,但過(guò)程建立在項(xiàng)目一級(jí)。
(2)有規(guī)則的軟件過(guò)程是在一個(gè)有效的工程管理系統(tǒng)的控制之下,先前的成功經(jīng)驗(yàn)可以被重復(fù)。
(3)問(wèn)題出現(xiàn)時(shí),有能力識(shí)別及糾正。承諾是可實(shí)現(xiàn)的。
◆ 人員
(1)項(xiàng)目的成功依賴于個(gè)人的能力以及管理層的支持。
(2)理解管理的必要性及對(duì)管理的承諾。
(3)注意人員的培訓(xùn)問(wèn)題。
◆ 技術(shù)
建立技術(shù)支持活動(dòng),并有穩(wěn)定的計(jì)劃。
◆ 度量
每個(gè)項(xiàng)目建立資源計(jì)劃。主要是關(guān)心成本、產(chǎn)品和進(jìn)度。有相應(yīng)的管理數(shù)據(jù)。
◆ 改進(jìn)方向
(1)不再按項(xiàng)目制定軟件過(guò)程,而是總結(jié)各種項(xiàng)目的成功經(jīng)驗(yàn),使之規(guī)則化,把具體經(jīng)驗(yàn)歸納為全組織的標(biāo)準(zhǔn)軟件過(guò)程。把改進(jìn)組織的整體軟件過(guò)程能力的軟件過(guò)程活動(dòng),作為軟件開(kāi)發(fā)組織的責(zé)任。
(2)確定全組織的標(biāo)準(zhǔn)軟件過(guò)程,把軟件工程及管理活動(dòng)集成到一個(gè)穩(wěn)固確定的軟件過(guò)程中。從而可以跨項(xiàng)目改進(jìn)軟件過(guò)程效果,也可作為軟件過(guò)程剪裁的基礎(chǔ)。
(3)建立軟件工程過(guò)程小組(SEPG)長(zhǎng)期承擔(dān)評(píng)估與調(diào)整軟件過(guò)程的任務(wù),以適應(yīng)未來(lái)軟件項(xiàng)目的要求。
(4)積累數(shù)據(jù),建立組織的軟件過(guò)程庫(kù)及軟件過(guò)程相關(guān)的文檔庫(kù)。
(5)加強(qiáng)培訓(xùn)。
CMM第三級(jí):確定級(jí)
◆ 特征
(1)無(wú)論管理方面或工程方面的軟件過(guò)程都已文件化、標(biāo)準(zhǔn)化,并綜合成軟件開(kāi)發(fā)組織的標(biāo)準(zhǔn)軟件過(guò)程。
(2)軟件過(guò)程標(biāo)準(zhǔn)被應(yīng)用到所有的工程中,用于編制和維護(hù)軟件。有的項(xiàng)目也可根據(jù)實(shí)際情況,對(duì)軟件開(kāi)發(fā)組織的標(biāo)準(zhǔn)軟件過(guò)程進(jìn)行剪裁。
(3)在從事一項(xiàng)工程時(shí),產(chǎn)品的生產(chǎn)過(guò)程、花費(fèi)、計(jì)劃以及功能都是可以控制的,從而軟件質(zhì)量也可以控制。
(4)軟件工程過(guò)程組(SEPG)負(fù)責(zé)軟件活動(dòng)。
(5)在全組織范圍內(nèi)安排培訓(xùn)計(jì)劃。
◆ 過(guò)程
(1)整個(gè)組織全面采用綜合性的管理及工程過(guò)程來(lái)管理。軟件工程和管理活動(dòng)是穩(wěn)定的和可重復(fù)的,具有連續(xù)性的。
(2)軟件過(guò)程起了預(yù)見(jiàn)及防范問(wèn)題的作用,能使風(fēng)險(xiǎn)的影響最小化。
◆ 人員
(1)以項(xiàng)目組的方式進(jìn)行工作。如同綜合產(chǎn)品團(tuán)隊(duì)。
(2)在整個(gè)組織內(nèi)部的所有人對(duì)于所定義的軟件過(guò)程的活動(dòng)、任務(wù)有深入了解,大大加強(qiáng)了過(guò)程能力。
(3)有計(jì)劃地按人員的角色進(jìn)行培訓(xùn)。
◆ 技術(shù)
在定性基礎(chǔ)上建立新的評(píng)估技術(shù)。
◆ 度量
(1)在全過(guò)程中收集使用數(shù)據(jù)。
(2)在全項(xiàng)目中系統(tǒng)性地共享數(shù)據(jù)。
◆ 改進(jìn)方向
(1)開(kāi)始著手軟件過(guò)程的定量分析,以達(dá)到定量地控制軟件項(xiàng)目過(guò)程的效果。
(2)通過(guò)軟件的質(zhì)量管理達(dá)到軟件的質(zhì)量目標(biāo)。
CMM第四級(jí):管理級(jí)
◆ 特征
(1)制定了軟件過(guò)程和產(chǎn)品質(zhì)量的詳細(xì)而具體的度量標(biāo)準(zhǔn),軟件過(guò)程和產(chǎn)品質(zhì)量都可以被理解和控制。
(2)軟件組織的能力是可預(yù)見(jiàn)的,原因是軟件過(guò)程是被明確的度量標(biāo)準(zhǔn)所度量和操作。不言而喻,軟件產(chǎn)品的質(zhì)量就可以預(yù)見(jiàn)和得以控制。
(3)組織的度量工程保證所有項(xiàng)目對(duì)生產(chǎn)率和質(zhì)量進(jìn)行度量、并作為重要的軟件過(guò)程活動(dòng)。
(4)具有良好定義及一致的度量標(biāo)準(zhǔn)來(lái)指導(dǎo)軟件過(guò)程,并作為評(píng)價(jià)軟件過(guò)程及產(chǎn)品的定量基礎(chǔ)。
(5)在開(kāi)發(fā)組織內(nèi)已建立軟件過(guò)程數(shù)據(jù)庫(kù),保存收集到的數(shù)據(jù),可用于各項(xiàng)目的軟件過(guò)程。
◆ 過(guò)程
(1)開(kāi)始定量地認(rèn)識(shí)軟件過(guò)程。
(2)軟件過(guò)程的變化小,一般在可接受的范圍內(nèi)。
(3)可以預(yù)見(jiàn)軟件過(guò)程中和產(chǎn)品質(zhì)量方面的一些趨勢(shì)。一旦質(zhì)量經(jīng)度量后超出這些標(biāo)準(zhǔn)或是有所違反,可以采用一些方法去改正,以達(dá)到良好的目標(biāo)。
◆ 人員
每個(gè)項(xiàng)目中存在強(qiáng)烈的群體工作意識(shí)。因?yàn)槊咳硕剂私鈧€(gè)人的作用與組織的關(guān)系,因此能夠產(chǎn)生這種群體意識(shí)。
◆ 技術(shù)
不斷的在定量基礎(chǔ)上評(píng)估新技術(shù)。
◆ 度量
(1)在全組織內(nèi)進(jìn)行數(shù)據(jù)收集與確定。
(2)度量標(biāo)準(zhǔn)化。
(3)數(shù)據(jù)用于定量地理解軟件過(guò)程及穩(wěn)定軟件過(guò)程。
◆ 改進(jìn)方向
(1)缺陷防范,不僅僅在發(fā)現(xiàn)了問(wèn)題時(shí)能及時(shí)改進(jìn),而且應(yīng)采取特定行動(dòng)防止將來(lái)出現(xiàn)這類缺陷。
(2)主動(dòng)進(jìn)行技術(shù)變動(dòng)管理、標(biāo)識(shí)、選擇和評(píng)價(jià)新技術(shù),使有效的新技術(shù)能在開(kāi)發(fā)組織中施行。
(3)進(jìn)行過(guò)程變動(dòng)管理,定義過(guò)程改進(jìn)的目的,經(jīng)常不斷地進(jìn)行過(guò)程改進(jìn)。
CMM第五級(jí):優(yōu)化級(jí)
◆ 特征
(1)整個(gè)組織特別關(guān)注軟件過(guò)程改進(jìn)的持續(xù)性、預(yù)見(jiàn)及增強(qiáng)自身,防止缺陷及問(wèn)題的發(fā)生,不斷地提高他們的過(guò)程處理能力。
(2)加強(qiáng)定量分析,通過(guò)來(lái)自過(guò)程的質(zhì)量反饋和吸收新觀念,新科技,使軟件過(guò)程能不斷地得到改進(jìn)。
(3)根據(jù)軟件過(guò)程的效果,進(jìn)行成本/利潤(rùn)分析,從成功的軟件過(guò)程中吸取經(jīng)驗(yàn),加以總結(jié)。把最好的創(chuàng)新成績(jī)迅速向全組織轉(zhuǎn)移, 對(duì)失敗的案例,由軟件過(guò)程小組進(jìn)行分析以找出原因。
(4)組織能找出過(guò)程的不足并預(yù)先改進(jìn),把失敗的教訓(xùn)告知全體組 織以防止重復(fù)以前的錯(cuò)誤。
(5)對(duì)軟件過(guò)程的評(píng)價(jià)和對(duì)標(biāo)準(zhǔn)軟件過(guò)程的改進(jìn),都在全組織內(nèi)推 廣。
◆ 過(guò)程
(1)不斷地系統(tǒng)地改進(jìn)軟件過(guò)程。
(2)理解并消除產(chǎn)生問(wèn)題的公共根源,在任何一個(gè)系統(tǒng)中都可找到:由于隨機(jī)變化造成重復(fù)工作、進(jìn)而導(dǎo)致時(shí)間浪費(fèi)。為了防止浪 費(fèi)人力可能導(dǎo)致的系統(tǒng)變化。要消除“公共”的無(wú)效率根源,防止浪費(fèi)發(fā)生。盡管所有級(jí)別都存在這些問(wèn)題,但這是第五級(jí)的焦點(diǎn)。
◆ 人員
(1)整個(gè)組織都存在自覺(jué)的強(qiáng)烈的團(tuán)隊(duì)意識(shí)。
(2)每個(gè)人都致力過(guò)程改進(jìn),人們不再以達(dá)到里程碑的成就而滿足, 而要力求減少錯(cuò)誤率。
◆ 技術(shù)
基于定量的控制和管理,事先主動(dòng)考慮新技術(shù)、追求新技術(shù)。可以實(shí)現(xiàn)軟件開(kāi)發(fā)中的方法和新技術(shù)的革新、以防止出現(xiàn)錯(cuò)誤,不斷提 高產(chǎn)品的質(zhì)量和生產(chǎn)率。
◆ 度量
利用數(shù)據(jù)來(lái)評(píng)估,選擇過(guò)程改進(jìn)。
◆ 改進(jìn)方向
保持持續(xù)不斷的軟件過(guò)程改進(jìn)。
CMM總結(jié):五層結(jié)構(gòu)圖
我們看到,在第五級(jí)上,技術(shù)和過(guò)程的改進(jìn)像普通商業(yè)活動(dòng)一樣有計(jì)劃、有管理地進(jìn)行。由于組織不斷的致力于改進(jìn)過(guò)程的能力,所以軟件開(kāi)發(fā)組織的能力可持續(xù)改進(jìn)。這種改進(jìn)不僅表現(xiàn)在對(duì)存在的軟件過(guò)程逐步改進(jìn),不表現(xiàn)在采用新技術(shù)和新方法方面的革新。
畫(huà)一個(gè)圖吧:(CMM的五層結(jié)構(gòu)圖)
????????? -----------------
???????? /?? 優(yōu) 化 級(jí)???? /
??????? /????? (5)?????? /
??????? -----------------
?????????????? ↑
?????????????? | 不斷改進(jìn)的過(guò)程
?????????????? |
????????? -----------------
???????? / 可 管 理 級(jí)??? /
??????? /????? (4)?????? /
??????? -----------------
?????????????? ↑
?????????????? | 能預(yù)見(jiàn)的過(guò)程
?????????????? |
????????? -----------------
???????? /?? 確 定 級(jí)???? /
??????? /????? (3)?????? /
??????? -----------------
?????????????? ↑
?????????????? | 標(biāo)準(zhǔn)一致的過(guò)程
?????????????? |
????????? -----------------
???????? /? 可 重 復(fù) 級(jí)?? /
??????? /????? (2)?????? /
??????? -----------------
?????????????? ↑
?????????????? | 有紀(jì)律的過(guò)程
?????????????? |
????????? -----------------
???????? /? 初 始 級(jí)????? /
??????? /???? (1)??????? /
??????? -----------------