成熟度模型
能力成熟度模型(Capability Maturity Model,英文縮寫為CMM)是一種開發(fā)模型。Carnegie Mellon大學(xué)的研究人員從美國(guó)國(guó)防部合同承包方那里收集數(shù)據(jù)并加以研究,提出了CMM。美國(guó)國(guó)防部資助了這項(xiàng)研究。Carnegie Mellon以該模型為基礎(chǔ),創(chuàng)辦了軟件工程研究所(SEI)。CMM的目標(biāo)是改善現(xiàn)有軟件開發(fā)過(guò)程,也可用于其它過(guò)程。
它是對(duì)于軟件組織在定義、實(shí)施、度量、控制和改善其軟件過(guò)程的實(shí)踐中各個(gè)發(fā)展階段的描述。CMM的核心是把軟件開發(fā)視為一個(gè)過(guò)程,并根據(jù)這一原則對(duì)軟件開發(fā)和維護(hù)過(guò)程進(jìn)行監(jiān)控和研究。
CMM是一種用于評(píng)價(jià)軟件承包能力以改善軟件質(zhì)量的方法,側(cè)重于軟件開發(fā)過(guò)程的管理及工程能力的提高與評(píng)估。分為五個(gè)等級(jí):一級(jí)為初始級(jí),二級(jí)為可重復(fù)級(jí),三級(jí)為已定義級(jí),四級(jí)為已管理級(jí),五級(jí)為優(yōu)化級(jí)。
其假設(shè)是:只要集中精力持續(xù)努力去建立有效的軟件工程過(guò)程的基礎(chǔ)結(jié)構(gòu),不斷進(jìn)行管理的實(shí)踐和過(guò)程的改進(jìn),就可以克服軟件生產(chǎn)中的困難。
歷史
1984年,美國(guó)國(guó)防部資助建立了卡內(nèi)基·梅隆大學(xué)軟件研究所(SEI);1987年,SEI發(fā)布第一份技術(shù)報(bào)告介紹軟件能力成熟度模型(CMM)及作為評(píng)價(jià)國(guó)防合同承包方過(guò)程成熟度的方法論;1991年,SEI發(fā)表1.0版軟件CMM(SW-CMM)。
CMM自1987年開始實(shí)施認(rèn)證,現(xiàn)已成為軟件業(yè)權(quán)威的評(píng)估認(rèn)證體系。CMM包括5個(gè)等級(jí),共計(jì)18個(gè)過(guò)程域,52個(gè)目標(biāo),300多個(gè)關(guān)鍵實(shí)踐。
CMM等級(jí)
能力等級(jí)
特點(diǎn)
關(guān)鍵過(guò)程
第一級(jí) 初始級(jí)(最低級(jí))
軟件工程管理制度缺乏,過(guò)程缺乏定義、混亂無(wú)序。成功依靠的是個(gè)人的才能和經(jīng)驗(yàn),經(jīng)常由于缺乏管理和計(jì)劃導(dǎo)致時(shí)間、費(fèi)用超支。管理方式屬于反應(yīng)式,主要用來(lái)應(yīng)付危機(jī)。過(guò)程不可預(yù)測(cè),難以重復(fù)。
第二級(jí) 可重復(fù)級(jí)
基于類似項(xiàng)目中的經(jīng)驗(yàn),建立了基本的項(xiàng)目管理制度,采取了一定的措施控制費(fèi)用和時(shí)間。管理人員可及時(shí)發(fā)現(xiàn)問(wèn)題,采取措施。一定程度上可重復(fù)類似項(xiàng)目的軟件開發(fā)。
需求管理,項(xiàng)目計(jì)劃,項(xiàng)目跟蹤和監(jiān)控,軟件子合同管理,軟件配置管理,軟件質(zhì)量保障
第三級(jí) 已定義級(jí)
已將軟件過(guò)程文檔化、標(biāo)準(zhǔn)化,可按需要改進(jìn)開發(fā)過(guò)程,采用評(píng)審方法保證軟件質(zhì)量??山柚鶦ASE工具提高質(zhì)量和效率。
組織過(guò)程定義,組織過(guò)程焦點(diǎn),培訓(xùn)大綱,軟件集成管理,軟件產(chǎn)品工程,組織協(xié)調(diào),專家審評(píng)
第四級(jí) 已管理級(jí)
針對(duì)制定質(zhì)量、效率目標(biāo),并收集、測(cè)量相應(yīng)指標(biāo)。利用統(tǒng)計(jì)工具分析并采取改進(jìn)措施。對(duì)軟件過(guò)程和產(chǎn)品質(zhì)量有定量的理解和控制。
定量的軟件過(guò)程管理和產(chǎn)品質(zhì)量管理
第五級(jí) 優(yōu)化級(jí)(最高級(jí))
基于統(tǒng)計(jì)質(zhì)量和過(guò)程控制工具,持續(xù)改進(jìn)軟件過(guò)程。質(zhì)量和效率穩(wěn)步改進(jìn)。
缺陷預(yù)防,過(guò)程變更管理和技術(shù)變更管理
收起
CMM能力成熟度各級(jí)特點(diǎn)和關(guān)鍵過(guò)程。
基本思想
CMM的基本思想是,因?yàn)閱?wèn)題是由我們管理軟件過(guò)程的方法引起的,所以新軟件技術(shù)的運(yùn)用不會(huì)自動(dòng)提高生產(chǎn)率和利潤(rùn)率。CMM有助于組織建立一個(gè)有規(guī)律的、成熟的軟件過(guò)程。改進(jìn)的過(guò)程將會(huì)生產(chǎn)出質(zhì)量更好的軟件,使更多的軟件項(xiàng)目免受時(shí)間和費(fèi)用的超支之苦。
CMM實(shí)施步驟軟件過(guò)程包括各種活動(dòng)、技術(shù)和用來(lái)生產(chǎn)軟件的工具。因此,它實(shí)際上包括了軟件生產(chǎn)的技術(shù)方面和管理方面。CMM策略力圖改進(jìn)軟件過(guò)程的管理,而在技術(shù)上的改進(jìn)是其必然的結(jié)果。
必須牢記,軟件過(guò)程的改善不可能在一夜之間完成,CMM是以增量方式逐步引入變化的。CMM明確地定義了5個(gè)不同的"成熟度"等級(jí),一個(gè)組織可按一系列小的改良性步驟向更高的成熟度等級(jí)前進(jìn)。
整個(gè)企業(yè)將會(huì)把重點(diǎn)放在對(duì)過(guò)程進(jìn)行不斷的優(yōu)化,采取主動(dòng)的措施去找出過(guò)程的弱點(diǎn)與長(zhǎng)處,以達(dá)到預(yù)防缺陷的目標(biāo)。同時(shí),分析各有關(guān)過(guò)程的有效性資料,作出對(duì)新技術(shù)的成本與效益的分析,并提出對(duì)過(guò)程進(jìn)行修改的建議。達(dá)到該級(jí)的公司可自發(fā)的不斷改進(jìn),防止同類缺陷二次出現(xiàn)。
在表中可以看出,CMM為軟件的過(guò)程能力提供了一個(gè)階梯式的改進(jìn)框架,它基于以往軟件工程的經(jīng)驗(yàn)教訓(xùn),提供了一個(gè)基于過(guò)程改進(jìn)的框架圖,它指出一個(gè)軟件組織在軟件開發(fā)方面需要哪些主要工作,這些工作之間的關(guān)系,以及開展工作的先后順序,一步一步的做好這些工作而使軟件組織走向成熟。CMM的思想來(lái)源于已有多年歷史的項(xiàng)目管理和質(zhì)量管理,自產(chǎn)生以來(lái)幾經(jīng)修訂,成為軟件業(yè)具有廣泛影響的模型,并對(duì)以后
項(xiàng)目管理成熟度模型的建立產(chǎn)生了重要的影響。盡管已有個(gè)人或團(tuán)體提出了各種各樣的成熟度模型,但還沒(méi)有一個(gè)像CMM那樣在業(yè)界確立了權(quán)威標(biāo)準(zhǔn)的地位。但PMI于2003年發(fā)布的OPM3以其立體的模型及涵蓋范圍的廣泛有望成為項(xiàng)目管理界的新標(biāo)準(zhǔn)。
意義
軟件開發(fā)的風(fēng)險(xiǎn)之所以大,是由于軟件過(guò)程能力低,其中最關(guān)鍵的問(wèn)題在于軟件開發(fā)組織不能很好地管理其軟件過(guò)程,從而使一些好的開發(fā)方法和技術(shù)起不到預(yù)期的作用。而且項(xiàng)目的成功也是通過(guò)工作組的杰出努力,所以僅僅建立在可得到特定人員上的成功不能為全組織的生產(chǎn)和質(zhì)量的長(zhǎng)期提高打下基礎(chǔ),必須在建立有效的軟件如管理工程實(shí)踐和管理實(shí)踐的基礎(chǔ)設(shè)施方面,堅(jiān)持不懈地努力,才能不斷改進(jìn),才能持續(xù)地成功。
軟件質(zhì)量是模糊的、捉摸不定的概念。我們常常聽說(shuō):某某軟件好用, 某某軟件不好用;某某某軟件功能全、結(jié)構(gòu)合理, 某某某軟件功能單一、操作困難……這些模模糊糊的語(yǔ)言不能算作是軟件質(zhì)量評(píng)價(jià),更不能算作是軟件質(zhì)量科學(xué)的定量的評(píng)價(jià)。軟件質(zhì)量,乃至于任何產(chǎn)品質(zhì)量,都是一個(gè)很復(fù)雜的事物性質(zhì)和行為。產(chǎn)品質(zhì)量,包括軟件質(zhì)量,是人們實(shí)踐產(chǎn)物的屬性和行為,是可以認(rèn)識(shí),可以科學(xué)地描述的??梢酝ㄟ^(guò)一些方法和人類活動(dòng),來(lái)改進(jìn)質(zhì)量。
實(shí)施CMM是改進(jìn)軟件質(zhì)量的有效方法:控制軟件生產(chǎn)過(guò)程、提高軟件生產(chǎn)者組織性和軟件生產(chǎn)者個(gè)人能力的有效合理的方法。
軟件工程和很多研究領(lǐng)域及實(shí)際問(wèn)題有關(guān),主要相關(guān)領(lǐng)域和因素有:
需求工程(REQUIREMENTS ENGINEERING)。理論上,需求工程是應(yīng)用已被證明的原理、技術(shù)和工具,幫助系統(tǒng)分析人員理解問(wèn)題或描述產(chǎn)品的外在行為。
軟件復(fù)用(SOFTWARE REUSE),定義為利用工程知識(shí)或方法,由一已存在的系統(tǒng),來(lái)建造一新系統(tǒng)。這種技術(shù),可改進(jìn)軟件產(chǎn)品質(zhì)量和生產(chǎn)率。
還有軟件檢查、軟件計(jì)量、
軟件可靠性、軟件可維修性、軟件工具評(píng)估和選擇等。
現(xiàn)狀
中國(guó)生產(chǎn)力促進(jìn)協(xié)會(huì)、北航SEI、中科院研究SEI等科研機(jī)構(gòu)已于近幾年在北京、上海、廣州和深圳等地先后舉辦過(guò)多次報(bào)告會(huì)和研討會(huì),組織過(guò)課程學(xué)習(xí)和應(yīng)用實(shí)驗(yàn),開展了軟件過(guò)程方面的研究與開發(fā)工作,并發(fā)表了多篇的研究成果和學(xué)術(shù)論文,在軟件質(zhì)量保障平臺(tái)支撐環(huán)境也取得了一定的成果。
近兩年來(lái),CMM在我國(guó)獲得了各界越來(lái)越多關(guān)注,業(yè)界有過(guò)多次關(guān)于CMM的討論,2000年6月國(guó)務(wù)院頒發(fā)的《鼓勵(lì)軟件產(chǎn)業(yè)和集成電路產(chǎn)業(yè)發(fā)展的若干政策》對(duì)中國(guó)軟件企業(yè)申請(qǐng)CMM認(rèn)證給予了積極的支持和推動(dòng)作用,第17條規(guī)定"對(duì)軟件出口型企業(yè)CMM認(rèn)證費(fèi)用予以適當(dāng)支持。"2000年中關(guān)村電腦節(jié)上還有CMM專題論壇,吸引了眾多業(yè)內(nèi)人士。鼎新、東大阿爾派、聯(lián)想、方正、金蝶、用友、浪潮、創(chuàng)智、華為等大型集團(tuán)或企業(yè)等都從1997---2000年起批企業(yè)都在進(jìn)行研究、實(shí)驗(yàn)或?qū)嵤╊A(yù)評(píng)估。其中鼎新公司從1997年著手進(jìn)行CMM認(rèn)證工作。1999年7月通過(guò)第三方認(rèn)證機(jī)構(gòu)的CMM2認(rèn)證。東大阿爾派公司于2000年10月通過(guò)第三方認(rèn)證機(jī)構(gòu)的CMM2認(rèn)證。2001年1月,聯(lián)想軟件經(jīng)過(guò)英國(guó)路透集團(tuán)的嚴(yán)格評(píng)估,順利通過(guò)CMM2認(rèn)證。2001年6月26日,
沈陽(yáng)東軟軟件股份有限公司(原沈陽(yáng)東大阿爾派軟件股份有限公司)正式通過(guò)了CMM3級(jí)認(rèn)證,成為中國(guó)首家通過(guò)CMM3級(jí)的軟件企業(yè)。
總體上講,國(guó)內(nèi)對(duì)軟件過(guò)程理論的討論與實(shí)踐正在展開,目標(biāo)是使軟件的質(zhì)量管理和控制達(dá)到國(guó)際先進(jìn)水平,中國(guó)的軟件產(chǎn)業(yè)獲得可持續(xù)發(fā)展的能力。專家分析,在未來(lái)兩三年內(nèi),國(guó)內(nèi)軟件業(yè)勢(shì)必將出現(xiàn)實(shí)施CMM的高潮。從這一趨勢(shì)看,中國(guó)的軟件企業(yè)已經(jīng)開始走上標(biāo)準(zhǔn)化、規(guī)范化、國(guó)際化的發(fā)展道路,中國(guó)軟件業(yè)已經(jīng)面臨一個(gè)整體突破的時(shí)代。
但是我們應(yīng)該看到目前國(guó)內(nèi)對(duì)軟件管理工程存在的最大問(wèn)題是認(rèn)識(shí)不足。管理實(shí)際上是
一把手工程,需要
高層管理人員的足夠重視。而且軟件過(guò)程的重大修改也必須由高層管理部門啟動(dòng),這是軟件過(guò)程改善能否進(jìn)行到底的關(guān)鍵。此外,軟件過(guò)程的改善還有待于全體有關(guān)人員的積極參與。
除了要認(rèn)識(shí)到過(guò)程改善工作是一把手工程這個(gè)關(guān)鍵因素外,還應(yīng)認(rèn)識(shí)到軟件過(guò)程成熟度的升級(jí)本身就是一個(gè)過(guò)程,且有一個(gè)生命周期。過(guò)程改善工作需要循序漸進(jìn),不能一蹴而就,需要持續(xù)改善,不能停滯不前;需要聯(lián)系實(shí)際,不能照本宣科;需要適應(yīng)變革,不能凝固不變。一個(gè)有效的途徑是自頂向下的課程培訓(xùn),即從高層主管依次普及到下面的工程師。
基本概念
CMMI(Capability Maturity Model Integration,能力成熟度模型集成)
將各種能力成熟度模型(即:Software CMM、Systems Eng-CMM、People CMM和Acquisition CMM)整合到同一架構(gòu)中去,由此建立起包括軟件工程、系統(tǒng)工程和軟件采購(gòu)等在內(nèi)的諸模型的集成,以解決除軟件開發(fā)以外的軟件系統(tǒng)工程和軟件采購(gòu)工作中的迫切需求。
CMMI框架包括
軟件能力成熟度模型CMM 2.0草案,系統(tǒng)工程能力成熟度模型,軟件采購(gòu)能力成熟度模型,繼承產(chǎn)品和過(guò)程開發(fā)等。
CMMI的:"
CMMI的評(píng)估方式:
自我評(píng)估:用于本企業(yè)領(lǐng)導(dǎo)層評(píng)價(jià)公司自身的軟件能力。
主任評(píng)估:使本企業(yè)領(lǐng)導(dǎo)層評(píng)價(jià)公司自身的軟件能力,向外宣布自己企業(yè)的軟件能力。
CMMI的評(píng)估類型:
軟件組織的關(guān)于具體的軟件過(guò)程能力的評(píng)估。
軟件組織整體軟件能力的評(píng)估(軟件能力成熟度等級(jí)評(píng)估)。
CMMI的基本思想
1、解決軟件項(xiàng)目過(guò)程改進(jìn)難度增大問(wèn)題
2、實(shí)現(xiàn)軟件工程的并行與多學(xué)科組合
3、實(shí)現(xiàn)過(guò)程改進(jìn)的最佳效益
背景介紹: CMM是"軟件能力成熟度模型"的英文簡(jiǎn)寫,該模型由美國(guó)卡內(nèi)基-梅隆大學(xué)的軟件工程研究所(簡(jiǎn)稱SEI)受美國(guó)國(guó)防部委托,于1991年研究制定,初始的主要目的是為了評(píng)價(jià)美國(guó)國(guó)防部的軟件合同承包組織的能力,后因?yàn)樵谲浖髽I(yè)應(yīng)用CMM模型實(shí)施過(guò)程改進(jìn)取得較大的成功,所以在全世界范圍內(nèi)被廣泛使用,SEI同時(shí)建立了主任評(píng)估師評(píng)估制度,CMM的評(píng)估方法為CBA-IPI。
CMMI是SEI于2000年發(fā)布的CMM的新版本。CMMI不但包括了軟件開發(fā)過(guò)程改進(jìn),還包含
系統(tǒng)集成、軟硬件采購(gòu)等方面的過(guò)程改進(jìn)內(nèi)容。CMMI糾正了CMM存在的一些缺點(diǎn),使其更加適用企業(yè)的過(guò)程改進(jìn)實(shí)施。CMMI適用SCAMPI評(píng)估方法。需要注意的是,SEI沒(méi)有廢除CMM模型,只是停止了CMM評(píng)估方法:CBA-IPI。但CMMI模型最終代替CMM模型的趨勢(shì)不可避免。
標(biāo)準(zhǔn)特點(diǎn): CMM/CMMI/SPCA的思想來(lái)源于已有多年歷史的產(chǎn)品質(zhì)量管理和全面質(zhì)量管理。Watts Humphrey和Ron Radice在IBM公司將全面質(zhì)量管理的思想應(yīng)用于軟件工程過(guò)程,收到了很大的成效。SEI的軟件能力成熟度框架就是在以Humphrey為主的軟件專家實(shí)踐經(jīng)驗(yàn)的基礎(chǔ)上發(fā)展而來(lái)的。軟件能力成熟度模型中融合了全面質(zhì)量管理的思想,以5個(gè)不斷進(jìn)化的層次反映了軟件過(guò)程定量控制中項(xiàng)目管理和項(xiàng)目工程的基本原則。CMM/CMMI/SPCA所依據(jù)的想法是只要不斷地對(duì)企業(yè)的工程過(guò)程的基礎(chǔ)結(jié)構(gòu)和實(shí)踐進(jìn)行管理和改進(jìn),就可以克服軟硬件生產(chǎn)中的困難,增強(qiáng)開發(fā)制造能力,從而能按時(shí)地、不超預(yù)算地制造出高質(zhì)量的軟件產(chǎn)品。
CMM簡(jiǎn)介
CMM(Capability Maturity Model)是能力成熟度模型的縮寫,CMM是國(guó)際公認(rèn)的對(duì)軟件公司進(jìn)行成熟度等級(jí)認(rèn)證的重要標(biāo)準(zhǔn)。CMM的工作最早開始于86年11月,當(dāng)時(shí)為滿足美國(guó)政府評(píng)估軟件供應(yīng)商能力并幫助其改善軟件質(zhì)量的要求,由美國(guó)國(guó)防部資助的卡內(nèi)基-梅隆大學(xué)的軟件工作研究所(SEI)牽頭,在Mitre公司協(xié)助下,于87年9月發(fā)布了一份能力成熟度框架(Capability Maturity Framework)以及一套成熟度問(wèn)卷(Maturity Questionnaire)。四年后,SEI在總結(jié)自87年以來(lái)對(duì)成熟度框架和初版成熟度問(wèn)卷的經(jīng)驗(yàn)基礎(chǔ)上,推出了CMM1.0版。CMM1.0版在成熟度框架的基礎(chǔ)上建立了一個(gè)可用的模型,該模型可以更加有效地幫助軟件公司建立和實(shí)施過(guò)程改進(jìn)計(jì)劃。兩年后,SEI于93年推出了CMM1.1版。近幾年,SEI又推出了CMM2.0版,同時(shí)進(jìn)入了ISO體系,稱為ISO/IEC15504(軟件過(guò)程評(píng)估)。
CMM共分五級(jí)。在每一級(jí)中,定義了達(dá)到該級(jí)過(guò)程管理水平所應(yīng)解決的關(guān)鍵問(wèn)題和關(guān)鍵過(guò)程。每一較低級(jí)別是達(dá)到較高級(jí)別的基礎(chǔ)。其中五級(jí)是最高級(jí),即優(yōu)化級(jí),達(dá)到該級(jí)的軟件公司過(guò)程可自發(fā)地不斷改進(jìn),防止同類問(wèn)題二次出現(xiàn);四級(jí)稱為已管理級(jí),達(dá)到該級(jí)的軟件公司已實(shí)現(xiàn)過(guò)程的定量化;三級(jí)為已定義級(jí),即過(guò)程實(shí)現(xiàn)
標(biāo)準(zhǔn)化;二級(jí)為可重復(fù)級(jí),達(dá)到該級(jí)的軟件公司過(guò)程已制度化,有紀(jì)律,可重復(fù);一級(jí)為初始級(jí),過(guò)程無(wú)序,進(jìn)度、預(yù)算、功能和質(zhì)量等方面不可預(yù)測(cè)。
CMM致力于軟件開發(fā)過(guò)程的管理和工程能力的提高與評(píng)估。該模型在美國(guó)和北美地區(qū)已得到廣泛應(yīng)用,同時(shí)越來(lái)越多的歐洲和亞洲等國(guó)家的軟件公司正積極采納CMM,CMM實(shí)際上已成為軟件開發(fā)過(guò)程改進(jìn)與評(píng)估事實(shí)上的工業(yè)標(biāo)準(zhǔn)。如今,全球通過(guò)CMM五級(jí)評(píng)估的軟件公司大約有十幾家,三級(jí)以上的大約有100余家,通過(guò)二級(jí)評(píng)估的有300家左右。軟件大國(guó)印度在這方面工作開展的比較廣泛,受益匪淺。,該公司表示將爭(zhēng)取早日通過(guò)CMM三級(jí)評(píng)估。
CMM與ISO9000的主要區(qū)別:
1.CMM是專門針對(duì)軟件產(chǎn)品開發(fā)和服務(wù)的,而ISO9000涉及的范圍則相當(dāng)寬。
2.CMM強(qiáng)調(diào)軟件開發(fā)過(guò)程的成熟度,即過(guò)程的不斷改進(jìn)和提高。而ISO9000則強(qiáng)調(diào)可接收的質(zhì)量體系的最低標(biāo)準(zhǔn)。
引進(jìn)CMM的主要意義
一.對(duì)軟件公司
1.提高軟件公司軟件開發(fā)的
管理能力,因?yàn)镃MM可提供軟件公司自我評(píng)估的方法和自我提高的手段。
2.提高軟件生產(chǎn)率。
3.提高軟件質(zhì)量。
4.提高軟件公司的國(guó)內(nèi)和國(guó)際競(jìng)爭(zhēng)力。
二.對(duì)軟件項(xiàng)目發(fā)包單位和軟件用戶
提供了對(duì)軟件開發(fā)商開發(fā)管理水平的評(píng)估手段,有助于軟件開發(fā)項(xiàng)目的風(fēng)險(xiǎn)識(shí)別。
我國(guó)CMM工作的開展相對(duì)滯后,全面正式開展CMM評(píng)估工作還需一定時(shí)間,但只是遲早的問(wèn)題。業(yè)內(nèi)有識(shí)之士呼吁我國(guó)應(yīng)結(jié)合國(guó)情,及早開展CMM有關(guān)工作。
工程
CMM標(biāo)準(zhǔn)并不意味著高品質(zhì)工程,并不意味著最高水平的組織,并不意味著生產(chǎn)效率最高,其標(biāo)準(zhǔn)本身與項(xiàng)目的品質(zhì)沒(méi)有直接關(guān)系,CMM只是一種形式測(cè)試,表示你是否有一定的程序來(lái)遵循,它是大型項(xiàng)目開發(fā)的必要條件,不是品質(zhì)高的充分條件,過(guò)度拘泥于CMM形式,失去了靈活性,也可能失去市場(chǎng),并且CMM并不能保證品質(zhì),因?yàn)镃MM不檢測(cè)程序的內(nèi)容,只是檢測(cè)程序的形式,是否有各種會(huì)議,步驟等,至于會(huì)議開了什么內(nèi)容,沒(méi)有任何關(guān)系。CMM水平5 是最高水平,取得
CMM5的最多的國(guó)家是印度,但是印度的軟件質(zhì)量很差,這折射了這種形式測(cè)試的局限性。我國(guó)在引用CMM時(shí),一定要吸取其精華,不要拘泥于形式,好的形式要發(fā)揚(yáng),壞的形式要廢棄,保持產(chǎn)品的優(yōu)質(zhì)無(wú)瑕,和充分的競(jìng)爭(zhēng)力才是關(guān)鍵。
補(bǔ)充
CMM與RUP的關(guān)系:RUP是過(guò)程框架,RUP能達(dá)到CMM2-3級(jí)的要求,RUP描述了軟件開發(fā)中的過(guò)程,即軟件開發(fā)中需要遵循的規(guī)則、模板、方法等;CMM不是過(guò)程,而是檢驗(yàn)過(guò)程成熟度的標(biāo)準(zhǔn)。
體系結(jié)構(gòu)
一個(gè)企業(yè)軟件能力類似于一個(gè)人在一個(gè)特定領(lǐng)域的能力,是逐步獲得和增長(zhǎng)的。如果一個(gè)人在其領(lǐng)域的發(fā)展過(guò)程中能得到一個(gè)很好的指南,那么他或她就會(huì)不斷達(dá)到一個(gè)個(gè)設(shè)定的目標(biāo),并變得成熟起來(lái),否則可能會(huì)盲目發(fā)展,離自己的目標(biāo)越來(lái)越遠(yuǎn),甚至南轅北轍。一個(gè)企業(yè)的軟件能力發(fā)展也同樣需要一個(gè)良好的指南,SW-CMM正是這樣一個(gè)指南,它以幾十年產(chǎn)品質(zhì)量概念和軟件工業(yè)的經(jīng)驗(yàn)及教訓(xùn)為基礎(chǔ),為企業(yè)軟件能力不斷走向成熟提供了有效的步驟和框架。
框架
SW-CMM為軟件企業(yè)的過(guò)程能力提供了一個(gè)階梯式的進(jìn)化框架,階梯共有五級(jí)。第一級(jí)實(shí)際上是一個(gè)起點(diǎn),任何準(zhǔn)備按CMM體系進(jìn)化的企業(yè)都自然處于這個(gè)起點(diǎn)上,并通過(guò)這個(gè)起點(diǎn)向第二級(jí)邁進(jìn)。除第一級(jí)外,每一級(jí)都設(shè)定了一組目標(biāo),如果達(dá)到了這組目標(biāo),則表明達(dá)到了這個(gè)成熟級(jí)別,可以向下一個(gè)級(jí)別邁進(jìn)。CMM體系不主張跨越級(jí)別的進(jìn)化,因?yàn)閺牡诙?jí)起,每一個(gè)低的級(jí)別實(shí)現(xiàn)均是高的級(jí)別實(shí)現(xiàn)的基礎(chǔ)。
1.初始級(jí)初始級(jí)的軟件過(guò)程是未加定義的隨意過(guò)程,項(xiàng)目的執(zhí)行是隨意甚至是混亂的。也許,有些企業(yè)制定了一些軟件工程規(guī)范,但若這些規(guī)范未能覆蓋基本的關(guān)鍵過(guò)程要求,且執(zhí)行沒(méi)有政策、資源等方面的保證時(shí),那么它仍然被視為初始級(jí)。
2.可重復(fù)級(jí)根據(jù)多年的經(jīng)驗(yàn)和教訓(xùn),人們總結(jié)出軟件開發(fā)的首要問(wèn)題不是技術(shù)問(wèn)題而是管理問(wèn)題。因此,第二級(jí)的焦點(diǎn)集中在軟件管理過(guò)程上。一個(gè)可管理的過(guò)程則是一個(gè)可重復(fù)的過(guò)程,一個(gè)可重復(fù)的過(guò)程則能逐漸進(jìn)化和成熟。第二級(jí)的管理過(guò)程包括了
需求管理、項(xiàng)目管理、質(zhì)量管理、配置管理和子合同管理五個(gè)方面。其中項(xiàng)目管理分為計(jì)劃過(guò)程和跟蹤與監(jiān)控過(guò)程兩個(gè)過(guò)程。通過(guò)實(shí)施這些過(guò)程,從管理角度可以看到一個(gè)按計(jì)劃執(zhí)行的且階段可控的軟件開發(fā)過(guò)程。
3.定義級(jí)在第二級(jí)僅定義了管理的基本過(guò)程,而沒(méi)有定義執(zhí)行的步驟標(biāo)準(zhǔn),而且無(wú)論是管理還是工程開發(fā)都需要一套文檔化的標(biāo)準(zhǔn),并將這些標(biāo)準(zhǔn)集成到企業(yè)軟件開發(fā)標(biāo)準(zhǔn)過(guò)程中去。所有開發(fā)的項(xiàng)目需根據(jù)這個(gè)標(biāo)準(zhǔn)過(guò)程,剪裁出與項(xiàng)目適宜的過(guò)程,并執(zhí)行這些過(guò)程。過(guò)程的剪裁不是隨意的,在使用前需經(jīng)過(guò)企業(yè)有關(guān)人員的批準(zhǔn)。
4.管理級(jí)第四級(jí)的管理是量化的管理。所有過(guò)程需建立相應(yīng)的度量方式,所有產(chǎn)品的質(zhì)量(包括工作產(chǎn)品和提交給用戶的產(chǎn)品)需有明確的度量指標(biāo)。這些度量應(yīng)是詳盡的,且可用于理解和控制軟件過(guò)程和產(chǎn)品。量化控制將使軟件開發(fā)真正變成為一種
工業(yè)生產(chǎn)活動(dòng)。
5.優(yōu)化級(jí)第五級(jí)的目標(biāo)是達(dá)到一個(gè)持續(xù)改善的境界。所謂持續(xù)改善是指可根據(jù)過(guò)程執(zhí)行的反饋信息來(lái)改善下一步的執(zhí)行過(guò)程,即優(yōu)化執(zhí)行步驟。如果一個(gè)企業(yè)達(dá)到了這一級(jí),那么表明該企業(yè)能夠根據(jù)實(shí)際的項(xiàng)目性質(zhì)、技術(shù)等因素,不斷調(diào)整軟件生產(chǎn)過(guò)程以求達(dá)到最佳。
結(jié)構(gòu)
除第一級(jí)外,SW-CMM的每一級(jí)是按完全相同的結(jié)構(gòu)構(gòu)成的。每一級(jí)包含了實(shí)現(xiàn)這一級(jí)目標(biāo)的若干關(guān)鍵過(guò)程域(KPA),每個(gè)KPA進(jìn)一步包含若干關(guān)鍵實(shí)施活動(dòng)(KP),無(wú)論哪個(gè)KPA,它們的實(shí)施活動(dòng)都統(tǒng)一按五個(gè)公共屬性進(jìn)行組織,即每一個(gè)KPA都包含五類KP。
實(shí)施思考
應(yīng)注意的是,并非實(shí)施了CMM軟件項(xiàng)目的質(zhì)量就能有所保障。CMM是一種資質(zhì)認(rèn)證,它可以證明一個(gè)軟件企業(yè)對(duì)整個(gè)軟件開發(fā)過(guò)程的控制能力。按照CMM的思想進(jìn)行管理與通過(guò)CMM認(rèn)證并不能劃等號(hào)。CMM認(rèn)證并不僅僅是在評(píng)估軟件企業(yè)的生產(chǎn)能力,整個(gè)評(píng)估過(guò)程同時(shí)還在幫助企業(yè)完善已經(jīng)按照CMM建立的科學(xué)工作流程,發(fā)現(xiàn)企業(yè)在軟件質(zhì)量、生產(chǎn)進(jìn)度
CMM以及成本控制等方面可能存在的問(wèn)題,并且及時(shí)予以糾正。
實(shí)施CMM對(duì)軟件企業(yè)的發(fā)展起著至關(guān)重要的作用,CMM過(guò)程本身就是對(duì)軟件企業(yè)發(fā)展歷程的一個(gè)完整而準(zhǔn)確的描述,企業(yè)通過(guò)實(shí)施CMM,可以更好地規(guī)范軟件生產(chǎn)和管理流程,使企業(yè)組織規(guī)范化。
CMM的成功與否,與一個(gè)組織內(nèi)部有關(guān)人員的積極參與和創(chuàng)造性活動(dòng)是密不可分的,而且CMM并未提供實(shí)現(xiàn)有關(guān)子過(guò)程域所需要的具體知識(shí)和技能。在國(guó)內(nèi)要想取得過(guò)程改進(jìn)成功,必須做好以下的幾點(diǎn):軟件過(guò)程改進(jìn)必須有高級(jí)主管的支持與委托,并積極地管理過(guò)程改進(jìn)的進(jìn)展;中層管理的積極支持;責(zé)任分明,過(guò)程改進(jìn)小組的威望高;基層的支持與參與極端重要;利用定量的可觀察數(shù)據(jù),盡快使過(guò)程改進(jìn)成果可見,從而激勵(lì)參與者的興趣;將實(shí)施CMM與實(shí)施PSP和TSP有機(jī)地結(jié)合起來(lái);為企業(yè)的商業(yè)利益服務(wù),并要求同時(shí)相符的
企業(yè)文化變革。
過(guò)程改善工作具有一切過(guò)程所具有的固有特征,即需要循序漸進(jìn),不能一蹴而就;需要持續(xù)改善,不能停滯不前;需要聯(lián)系實(shí)際,不能照本宣讀;需要適應(yīng)變革,不能凝固不變。將CMM/PSP/TSP引人軟件企業(yè)首先要對(duì)單位主管和主要開發(fā)人員進(jìn)行系統(tǒng)的培訓(xùn)。另外一個(gè)有效的途徑是自頂向下的課程培訓(xùn),即從高層主管依次普及到下面的工程師。培訓(xùn)包括最基本的軟件工程和CMM培訓(xùn)知識(shí);專業(yè)領(lǐng)域知識(shí)等方面的培訓(xùn);軟件過(guò)程方面的培訓(xùn)。
CMM模型劃分為5個(gè)級(jí)別,共計(jì)18個(gè)關(guān)鍵過(guò)程域,52個(gè)目標(biāo),300多個(gè)關(guān)鍵實(shí)踐。每一個(gè)CMM等級(jí)的評(píng)估周期(從準(zhǔn)備到完成)約需12-30個(gè)月。此期間應(yīng)抽調(diào)企業(yè)中有
管理能力、組織能力和軟件開發(fā)能力的骨干人員,成立專門的CMM實(shí)施領(lǐng)導(dǎo)小組或?qū)iT的機(jī)構(gòu)。同時(shí)設(shè)立軟件工程過(guò)程組、軟件工程組、系統(tǒng)工程組、系統(tǒng)測(cè)試組、
需求管理組、軟件項(xiàng)目計(jì)劃組、軟件項(xiàng)目跟蹤與監(jiān)督、
軟件配置管理組、軟件質(zhì)量保證組、培訓(xùn)組。各個(gè)小組完成自己的任務(wù)同時(shí)協(xié)調(diào)其他小組的工作。然后制定和完善軟件過(guò)程, 按照CMM規(guī)范評(píng)估這個(gè)過(guò)程。CMM正式評(píng)估由CMU/SEI授權(quán)的主任評(píng)估師領(lǐng)導(dǎo)一個(gè)評(píng)審小組進(jìn)行,評(píng)估過(guò)程包括
員工培訓(xùn)、問(wèn)卷調(diào)查和統(tǒng)計(jì)、文檔審查、數(shù)據(jù)分析、與企業(yè)的高層領(lǐng)導(dǎo)討論和撰寫評(píng)估報(bào)告等,評(píng)估結(jié)束時(shí)由主任評(píng)估師簽字生效。此后最關(guān)鍵的就是根據(jù)評(píng)估結(jié)果改進(jìn)軟件過(guò)程,使CMM評(píng)估對(duì)于軟件過(guò)程改進(jìn)所應(yīng)具有的作用得到最好的發(fā)揮。
關(guān)鍵過(guò)程
CMM2:可重復(fù)階段(Repeatable)
需求管理:requirement management
軟件項(xiàng)目計(jì)劃:software project planning
軟件項(xiàng)目跟蹤和監(jiān)督:software project tracking oversight
軟件子合同管理:software subcontract management
軟件質(zhì)量保證:software quality assurance
軟件配置管理:software configuratione management
CMM3:已定義階段(Defined)
組織過(guò)程焦點(diǎn):organization process focus
組織過(guò)程定義:organization process definition
培訓(xùn)大綱:training program
集成軟件管理:intergrated software management
軟件產(chǎn)品工程:software product engineering
組間協(xié)調(diào):intergroup coordination
同行評(píng)審:peer review
CMM4:已管理階段(Managed)
定量管理過(guò)程:quantitative process management
軟件質(zhì)量管理:software quality management
CMM5:優(yōu)化階段(Optimizing)
缺陷預(yù)防:defect prevention
技術(shù)改革管理:technology change management
過(guò)程更改管理:process change management