監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉

軟件能力成熟度模型CMM(AMT研究院 張艷)

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

AMTeam.org

概述

CMM是Capability Maturity Model for Software的簡(jiǎn)稱,是對(duì)組織軟件過程能力的描述。

CMM起初是在美國國防部管理大型而又復(fù)雜的開發(fā)項(xiàng)目過成中形成的,后來逐步得到了公眾和私營業(yè)主的認(rèn)可而作為一種提高軟件開發(fā)過程和軟件質(zhì)量的一種有用的框架模型被大家所接受。1984年美國國防部為降低采購風(fēng)險(xiǎn),委托卡耐基—梅隆大學(xué)軟件工程研究院(SEI)制定了軟件過程改進(jìn)、評(píng)估模型,也稱為SEI SW-CMM。該模型于1991年正式推出,迅速得到廣大軟件企業(yè)及其顧客的認(rèn)可。從1987年SEI推出SW-CMM框架開始,1991年推出 CMM 1.0 版,1993年推出CMM 1.1 版,2000年推出CMMI-SE/SW 1.0版。1986年,CMM首先于卡耐基 梅隆大學(xué)的軟件工程學(xué)會(huì)SEI(Software Engineering Institute)和MITRE組織聯(lián)合提出。

我國于2001年4月發(fā)布了《SJ/T 11234-2001 軟件過程能力評(píng)估模型》和《SJ/T 11235-2001 軟件能力成熟度模型》兩個(gè)標(biāo)準(zhǔn)。我國政府一直重視軟件產(chǎn)業(yè)的規(guī)范和發(fā)展,國務(wù)院于2000年6月頒發(fā)的“18號(hào)文件”第五章第十七條明確提出鼓勵(lì)軟件出口型企業(yè)通過ISO9000系列質(zhì)量保證體系認(rèn)證和CMM認(rèn)證,其認(rèn)證費(fèi)用通過中央外貿(mào)發(fā)展基金適當(dāng)予以支持。目前各省市、高新區(qū)、軟件園都有對(duì)通過CMM的企業(yè)給予資金獎(jiǎng)勵(lì)的制度。
CMM的核心是把軟件開發(fā)視為一個(gè)過程,并根據(jù)這一原則對(duì)軟件開發(fā)和維護(hù)進(jìn)行過程監(jiān)控和研究,以使其更加科學(xué)化、標(biāo)準(zhǔn)化,使企業(yè)能夠更好的實(shí)現(xiàn)商業(yè)目標(biāo)。它側(cè)重于軟件過程開發(fā)的管理及軟件工程能力的改進(jìn)與評(píng)估,因此CMM被用作評(píng)價(jià)軟件承包商能力并幫助組織改善軟件過程質(zhì)量,是目前國際上最流行、最實(shí)用的一種軟件生產(chǎn)過程標(biāo)準(zhǔn),成為當(dāng)今企業(yè)從事規(guī)模軟件生產(chǎn)不可缺少的一項(xiàng)內(nèi)容。

CMM的目的是幫助軟件企業(yè)對(duì)軟件工程過程進(jìn)行管理和改進(jìn),增強(qiáng)開發(fā)與改進(jìn)能力,從而能按時(shí)地、不超預(yù)算地開發(fā)出高質(zhì)量的軟件。企業(yè)實(shí)施CMM模型并評(píng)估可為企業(yè)帶來如下好處:指導(dǎo)軟件組織提高軟件開發(fā)管理能力;降低軟件承包商和采購者的風(fēng)險(xiǎn);評(píng)估軟件承包商的軟件開發(fā)管理能力;幫助軟件企業(yè)識(shí)別開發(fā)和維護(hù)軟件的有效過程和關(guān)鍵實(shí)踐;幫助軟件企業(yè)識(shí)別為達(dá)到CMM更高成熟等級(jí)所必須的關(guān)鍵實(shí)踐;增加軟件企業(yè)的國際競(jìng)爭(zhēng)能力。

CMM將軟件開發(fā)過程和軟件質(zhì)量的成熟程度分成以下5個(gè)等級(jí):提出了由第一級(jí)(低級(jí))向第五級(jí)(高級(jí))逐級(jí)發(fā)展的模式。模型的等級(jí)從低到高,可以預(yù)計(jì)企業(yè)的開發(fā)風(fēng)險(xiǎn)越來越低,開發(fā)能力越來越高。模型的每個(gè)等級(jí)由不同的過程方面(Process Area)構(gòu)成,而每個(gè)過程方面又由各種目標(biāo)構(gòu)成,每個(gè)目標(biāo)由各種特定慣例和通用慣例支持。

CMM的具體級(jí)別劃分如下:

第一級(jí):初始級(jí)(The Initial Level):

初始級(jí)的軟件機(jī)構(gòu)缺乏對(duì)軟件過程的有效管理,其軟件項(xiàng)目的成功來源于個(gè)人英雄主義而非機(jī)構(gòu)行為,因此它不是可重復(fù)的。

 第二級(jí):可重復(fù)級(jí)(The Repeatable Level)

第二級(jí)軟件機(jī)構(gòu)的主要特點(diǎn)是:項(xiàng)目計(jì)劃和跟蹤的穩(wěn)定性,項(xiàng)目過程的可控性和以往成功的可重復(fù)性。更具體的說:

  • 機(jī)構(gòu)建立了管理軟件項(xiàng)目的策略和實(shí)現(xiàn)這些策略的過程。 
  • 新項(xiàng)目的計(jì)劃和管理基于類似項(xiàng)目的經(jīng)驗(yàn)。 
  • 過程能力的增強(qiáng)基于以各個(gè)項(xiàng)目為基礎(chǔ)的有紀(jì)律的基本過程管理。
  • 不同的項(xiàng)目可有不同的過程,而對(duì)機(jī)構(gòu)的要求是具有指導(dǎo)項(xiàng)目建立適當(dāng)管理過程的策略。
  • 每個(gè)項(xiàng)目都確定了基本的軟件管理控制,包括:基于前面項(xiàng)目的經(jīng)驗(yàn)和新項(xiàng)目特點(diǎn),做出現(xiàn)實(shí)的項(xiàng)目承諾(如預(yù)算、交付期、軟件質(zhì)量等);軟件項(xiàng)目管理者要跟蹤開支、日程、軟件功能;
  • 滿足承諾的過程中的出現(xiàn)的問題要及時(shí)發(fā)現(xiàn),妥善解決;
  • 定義了軟件項(xiàng)目標(biāo)準(zhǔn),且機(jī)構(gòu)確保其被遵守。

本級(jí)的關(guān)鍵過程領(lǐng)域(KPA)包括:

  • 需求管理(Requirements Management)——客戶的需求是軟件項(xiàng)目的基礎(chǔ)。軟件需求管理的目的是在客戶和軟件項(xiàng)目之間達(dá)成對(duì)客戶需求的一致理解。
  • 軟件項(xiàng)目計(jì)劃(Software Project Planning) ——為軟件工程和項(xiàng)目管理建立一個(gè)合理的計(jì)劃。
  • 軟件項(xiàng)目的跟蹤和監(jiān)督(Software Project Tacking and Oversight) ——使管理者對(duì)實(shí)際的軟件項(xiàng)目進(jìn)展過程有足夠的了解,以在項(xiàng)目效能偏離計(jì)劃太多是采取有效措施。 
  • 軟件子合同管理(Software Subcontract Management)——選擇合格的分包商,并有效管理之。 
  • 軟件質(zhì)量保證(Software Quality Assurance) ——對(duì)軟件項(xiàng)目過程及其間生產(chǎn)的各個(gè)產(chǎn)品進(jìn)行監(jiān)管以保證最終軟件質(zhì)量。
  • 軟件配置管理(Software Configuration Management) ——在整個(gè)軟件生命周期里建立并維護(hù)軟件項(xiàng)目的工作產(chǎn)品的完整性。

第三級(jí):已定義級(jí)(The Defined Level)

第三級(jí)的主要特征在于軟件過程已被提升成標(biāo)準(zhǔn)化過程,從而更加具有穩(wěn)定性、可重復(fù)性和可控性。處于第三級(jí)的企業(yè)具有如下一些特征:

  • 機(jī)構(gòu)采用標(biāo)準(zhǔn)的軟件過程,軟件工程和管理活動(dòng)被集成為一個(gè)有機(jī)的整體。標(biāo)準(zhǔn)化的目的是使之可使管理者和技術(shù)人員有效工作。 
  • 有一組人員專門負(fù)責(zé)機(jī)構(gòu)的軟件過程,并且在機(jī)構(gòu)中有培訓(xùn)計(jì)劃來確保stuff和manager有知識(shí)和技能完成所賦予的角色。 
  • 標(biāo)準(zhǔn)的軟件過程結(jié)合項(xiàng)目的特點(diǎn)即形成定義的軟件過程,它包括一組集成的定義良好的軟件工程和管理過程。 
  • 一個(gè)定義良好的過程包括就緒準(zhǔn)則、輸入、完成工作過程、驗(yàn)證機(jī)制、輸出和完成準(zhǔn)則。 
  • 在已建立的產(chǎn)品線上cost, schedule, functionality 均可控制,軟件質(zhì)量被加以跟蹤。
  • 過程能力體現(xiàn)在在機(jī)構(gòu)范圍內(nèi)對(duì)一個(gè)定義的軟件過程活動(dòng)、角色和責(zé)任的共同理解。

第三級(jí)主要處理以下的KPA:

  • 機(jī)構(gòu)過程關(guān)注(Organization Process Focus) ——機(jī)構(gòu)對(duì)于改進(jìn)機(jī)構(gòu)的軟件過程能力的軟件過程活動(dòng)的責(zé)任。
  • 機(jī)構(gòu)過程定義(Organization Process Definition) ——維護(hù)一組有用的軟件過程assets和提供一個(gè)用于定義定量過程管理的有意義的數(shù)據(jù)的基礎(chǔ) 
  • 培訓(xùn)計(jì)劃(Training Program)——個(gè)體的技能和知識(shí)以使他們能夠更加有效的完成他們的角色
  • 集成軟件管理(Integrated Software Management) ——業(yè)務(wù)環(huán)境和項(xiàng)目的技術(shù)需要,從機(jī)構(gòu)的標(biāo)準(zhǔn)軟件過程和相關(guān)的過程assets經(jīng)過剪裁,將軟件工程和管理活動(dòng)集成為一個(gè)有機(jī)的定義的軟件過程。
  • 軟件產(chǎn)品工程(Software Product Engineering) ——地完成定義良好的工程過程。它描述了項(xiàng)目的技術(shù)活動(dòng),如需求分析,設(shè)計(jì),編碼和測(cè)試。
  • 組間協(xié)調(diào)(Intergroup Coordination) ——軟件工程組主動(dòng)介入其它工程組以便項(xiàng)目能更好滿足客戶要求的手段 
  • 同行評(píng)審(Peer Reviews) ——且有效的排除軟件工作產(chǎn)品中的缺陷。它可通過inspection,structured walkthrough等手段進(jìn)行。

第四級(jí):已管理級(jí)(The Managed Level)

第四級(jí)的軟件機(jī)構(gòu)中軟件過程和軟件產(chǎn)品都有定量的目標(biāo),并被定量地管理,因而其軟件過程能力是可預(yù)測(cè)的,其生產(chǎn)的軟件產(chǎn)品是高質(zhì)量的。具體地說,第四季的機(jī)構(gòu)具有如下特征:

  •  軟件過程和產(chǎn)品有定量質(zhì)量目標(biāo)。
  • 重要的軟件過程活動(dòng)均配有生產(chǎn)率和質(zhì)量度量;
  • 數(shù)據(jù)庫被用來收集和分析定義軟件過程的數(shù)據(jù); 
  • 項(xiàng)目的軟件過程和質(zhì)量的評(píng)價(jià)有定量的基礎(chǔ);
  • 項(xiàng)目的產(chǎn)品和過程控制具有可預(yù)測(cè)性。 
  • 縮小過程效能落在可接受的定量界限內(nèi)的偏差; 
  • 可區(qū)分過程效能的有效偏差和隨機(jī)偏差; 
  • 面向新領(lǐng)域的風(fēng)險(xiǎn)是可知并被仔細(xì)管理;

本級(jí)的關(guān)鍵過程領(lǐng)域包括:

  • 定量過程管理(Quantitative Process Management) ——地控制軟件項(xiàng)目的過程效能。
  • 軟件質(zhì)量管理(Software Quality Management) ——定量了解項(xiàng)目軟件產(chǎn)品的質(zhì)量,并達(dá)到既定的質(zhì)量目標(biāo)。

第五級(jí):The Optimizing Level

概括來說,第五級(jí)的主要特點(diǎn)是技術(shù)和過程改進(jìn)被作為常規(guī)的業(yè)務(wù)活動(dòng)加以計(jì)劃和管理。處于第五級(jí)的企業(yè)具有如下一些特征:

  • 機(jī)構(gòu)集中于連續(xù)的過程改進(jìn) 
  • 具有標(biāo)識(shí)弱點(diǎn)和增強(qiáng)過程的手段。
  • 采用過程數(shù)據(jù)分析使用新技術(shù)的代價(jià)效益并提出改進(jìn)。
  • 項(xiàng)目隊(duì)伍能夠分析出錯(cuò)原因并防止其再次出現(xiàn)。 
  • 防止浪費(fèi)是第五級(jí)的重點(diǎn)。

改進(jìn)的途徑在于已有過程的增量改進(jìn)和使用新技術(shù)和新方法的革新構(gòu)成 :

  • 陷預(yù)防(Defect Prevention) ——出錯(cuò)原因,防止錯(cuò)誤再現(xiàn)(通過改變定義的軟件過程) 
  • 技術(shù)變更管理(Technology Change Management) ——有益的新技術(shù)(工具、方法和過程),并按有序的方式將其轉(zhuǎn)移至機(jī)構(gòu)之中。其重點(diǎn)在于在變化的世界中有效的完成革新。 
  • 過程變更管理(Process Change Management)——改進(jìn)機(jī)構(gòu)所采用的軟件過程,以改進(jìn)軟件質(zhì)量,提高生產(chǎn)率和減少產(chǎn)品開發(fā)時(shí)間。
    概括來說,第五級(jí)企業(yè)的重點(diǎn)是連續(xù)的過程改進(jìn)?!?

縱觀整個(gè)CMM,軟件企業(yè)提高自身成熟度的歷程是一個(gè)從無序到有序,從特殊到一般,從定性到定量,最后不斷自我完善的過程。

CMM與績(jī)效提高

從提高績(jī)效的角度分析,企業(yè)實(shí)施CMM后將受益匪淺。

企業(yè)實(shí)施CMM,可從如下幾個(gè)步驟進(jìn)行:

1、提高思想認(rèn)識(shí),了解必要性和迫切性;

2、確定合理的目標(biāo);

3、進(jìn)行CMM培訓(xùn)和咨詢工作;

4、成立工作組;

5、制定和完善軟件過程;

6、內(nèi)部評(píng)審;

7、初期評(píng)估;

8、正式評(píng)估;

9、根據(jù)評(píng)估的結(jié)果改進(jìn)軟件過程。

CMM為了評(píng)價(jià)當(dāng)前的水平,找出問題所在,指導(dǎo)如何改進(jìn)和了解軟件承包商的軟件能力。目前針對(duì)CMM開發(fā)出許多的評(píng)估方法,其中公認(rèn)評(píng)估方法有兩個(gè):一是用于內(nèi)部過程改進(jìn)的CMM評(píng)估稱為CBA-IPI;二是用于選擇和監(jiān)控分承包方的CMM評(píng)估,稱為SCE方法。這兩種方法基于不同的目的,但評(píng)估的結(jié)果應(yīng)一致。評(píng)估包括三個(gè)階段:準(zhǔn)備階段、現(xiàn)場(chǎng)階段和報(bào)告階段。

可以預(yù)言:組織對(duì)軟件開發(fā)過程及其有效性的控制在上述五個(gè)等級(jí)的規(guī)范和要求下肯定能得到提高。

 

發(fā)布:2007-03-25 10:07    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章: