作者:高艷明(來(lái)源:51CMM) http://www.csai.cn 2003年05月19日
原文鏈接:http://edu.csai.cn/rjsp/NO000014.htm
引子
CMM理論和知識(shí)是最近幾年的熱點(diǎn),在最近兩年的系統(tǒng)分析員上午試卷中都有一題考察CMM知識(shí)的,一般有3-5分的樣子。估計(jì)未來(lái)的系統(tǒng)分析員考試還會(huì)有這方面的考題。即使不考,我們的系統(tǒng)分析員也應(yīng)該掌握這方面的知識(shí),因?yàn)閷?lái)從事的系統(tǒng)分析與設(shè)計(jì)的工作也離不開CMM理論和知識(shí),因?yàn)榧词刮覀兯诘墓静蝗ミM(jìn)行CMM評(píng)估,CMM理論知識(shí)對(duì)于我們不斷的進(jìn)行公司的軟件過(guò)程改進(jìn)有一定的借鑒意義,從而有助于軟件質(zhì)量的提高,進(jìn)而提升公司產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力。
摘要
本文是根據(jù)這兩年試題中涉及CMM知識(shí)而特為廣大考友搜集整理的關(guān)于CMM的基礎(chǔ)知識(shí)的文章。主要內(nèi)容是有關(guān)CMM的基本概念、CMM的基本框架和對(duì)CMM的正確態(tài)度等。希望這篇文章對(duì)你有所幫助,謝謝。
CMM(Capability Marurity Model,軟件能力成熟度模型)是于1984年美國(guó)國(guó)會(huì)與美國(guó)主要的公司和研究中心合作創(chuàng)立的一個(gè)由聯(lián)邦資助的非盈利組織——軟件工程研究所(Software Engineering Institute,SEI)的一個(gè)早期研究成果。該模型提供了軟件工程成果和管理方法的框架,自90年代提出以來(lái),已在北美、歐洲和日本成功地應(yīng)用。現(xiàn)在該模型已成為事實(shí)上的軟件過(guò)程改進(jìn)的工業(yè)標(biāo)準(zhǔn)。下面我們來(lái)一起學(xué)習(xí)有關(guān)CMM的一些基礎(chǔ)知識(shí)。
一、 CMM基本概念
過(guò)程(Process):為實(shí)現(xiàn)既定目標(biāo)的一系列操作步驟[IEEE-STD-610].
軟件過(guò)程(Software Process):指人們用于開發(fā)和維護(hù)軟件及其相關(guān)產(chǎn)品的一系列活動(dòng)、方法、時(shí)間和革新。其中相關(guān)產(chǎn)品是指項(xiàng)目計(jì)劃、設(shè)計(jì)文檔、編碼、測(cè)試和用戶手冊(cè)。當(dāng)一個(gè)企業(yè)逐步走向成熟,軟件過(guò)程的定義也會(huì)日趨完善,其企業(yè)內(nèi)部的過(guò)程實(shí)施將更具有一致性。
軟件過(guò)程能力(Software Process Capability):描述了在遵循一個(gè)軟件過(guò)程后能夠得到的預(yù)期結(jié)果的界限范圍。該指標(biāo)是對(duì)能力的一種衡量,用它可以預(yù)測(cè)一個(gè)組織(企業(yè))在承接下一個(gè)軟件項(xiàng)目時(shí),所能期望得到的最可能的結(jié)果。
軟件過(guò)程性能(Software Process Performance):表示遵循一個(gè)軟件過(guò)程后所得到的實(shí)際結(jié)果。(與軟件過(guò)程能力有區(qū)別,軟件過(guò)程能力關(guān)注的是實(shí)際得到的結(jié)果,而軟件過(guò)程性能關(guān)注的是期望得到的結(jié)果。由于項(xiàng)目要求和客觀環(huán)境的差異,軟件過(guò)程性能不可能充分反應(yīng)軟件過(guò)程整體能力,即軟件過(guò)程能立受限于它的環(huán)境。)
軟件過(guò)程成熟度(Software Process Maturity):是指一個(gè)具體的軟件過(guò)程被明確地定義、管理、評(píng)價(jià)、控制和產(chǎn)生實(shí)效的程度。所謂成熟度包含著能力的一種增長(zhǎng)潛力,同時(shí)也表明了組織(企業(yè))實(shí)施軟件過(guò)程的實(shí)際水平。隨著組織軟件過(guò)程成熟度能力的不斷提高,組織內(nèi)部通過(guò)對(duì)過(guò)程的規(guī)范化和對(duì)成員的技術(shù)培訓(xùn),軟件過(guò)程也將會(huì)被他的使用者關(guān)注和不斷修改完善。從而使軟件的質(zhì)量、生產(chǎn)率和生產(chǎn)周期的到改善。
CMM是軟件過(guò)程能力成熟度模型(Capacity Maturity Model)的簡(jiǎn)稱,是卡內(nèi)基-梅隆大學(xué)軟件工程研究院為了滿足美國(guó)聯(lián)邦政府評(píng)估軟件供應(yīng)商能力的要求,于1986年開始研究的模型,并于1991年正式推出了CMM 1.0 版。CMM自問(wèn)世以來(lái)備受關(guān)注,在一些發(fā)達(dá)國(guó)家和地區(qū)得到了廣泛應(yīng)用,成為衡量軟件公司軟件開發(fā)管理水平的重要參考因素和軟件過(guò)程改進(jìn)事實(shí)上的工業(yè)標(biāo)準(zhǔn)。
CMMI(Capability Maturity Model Integration)即能力成熟度模型集成,這也是美國(guó)國(guó)防部的一個(gè)設(shè)想,他們想把現(xiàn)在所有的以及將被發(fā)展出來(lái)的各種能力成熟度模型,集成到一個(gè)框架中去。這個(gè)框架有兩個(gè)功能,第一,軟件獲取方法的改革;第二,建立一種從集成產(chǎn)品與過(guò)程發(fā)展的角度出發(fā)、包含健全的系統(tǒng)開發(fā)原則的過(guò)程改進(jìn)。
關(guān)鍵過(guò)程(區(qū))域(Key Process Area)是指一系列相互關(guān)聯(lián)的操作活動(dòng),這些活動(dòng)反映了一個(gè)軟件組織改進(jìn)軟件過(guò)程時(shí)所必須滿足的條件。也就是說(shuō),關(guān)鍵過(guò)程域標(biāo)識(shí)了達(dá)到某個(gè)成熟程度級(jí)別時(shí)所必須滿足的條件。在CMM中一共有18個(gè)關(guān)鍵過(guò)程域,分布在第二至五級(jí)中。
關(guān)鍵實(shí)踐(Key Practices):是指關(guān)鍵過(guò)程域種的一些主要實(shí)踐活動(dòng)。每個(gè)關(guān)鍵過(guò)程域最終由關(guān)鍵實(shí)踐所組成,通過(guò)實(shí)現(xiàn)這些關(guān)鍵實(shí)踐達(dá)到關(guān)鍵過(guò)程域的目標(biāo)。一般情況下,關(guān)鍵實(shí)踐描述了該“做什么”,但沒(méi)有規(guī)定“如何”去達(dá)到這些目標(biāo)。
軟件過(guò)程評(píng)估(Software Process Assessment)是用來(lái)判斷一個(gè)組織當(dāng)前所涉及的軟件過(guò)程的能力狀態(tài),判斷下一個(gè)組織所面向得更高層次上的與軟件過(guò)程相關(guān)的課題,以及利用組織的鼎力支持來(lái)對(duì)該組織的軟件過(guò)程進(jìn)行有效的改進(jìn)。
軟件能力評(píng)價(jià)是(Software Capability Appraisal)用來(lái)判斷有意承擔(dān)某個(gè)軟件項(xiàng)目的軟件組織的軟件過(guò)程能力,或是判斷已進(jìn)行的軟件過(guò)程所處的狀態(tài)是否正確或是否正常。
軟件工程組(Software Engineering Group):負(fù)責(zé)一個(gè)項(xiàng)目的軟件開發(fā)和維護(hù)活動(dòng)的團(tuán)體。活動(dòng)包括需求分析、設(shè)計(jì)、編碼和測(cè)試等。
軟件相關(guān)組(Software Related Groups):代表一種軟件工程科目的團(tuán)體,它支持但不直接負(fù)責(zé)軟件開發(fā)或維護(hù)工作,如軟件質(zhì)量保證組、軟件配置管理組合軟件工程過(guò)程組等等。在CMM的關(guān)鍵實(shí)踐中,軟件相關(guān)組通常應(yīng)該根據(jù)關(guān)鍵過(guò)程域和組織的上下文來(lái)理解。
軟件工程過(guò)程組(Software Engineering Process Group):是由專家組成的組,他們推進(jìn)組織采用的軟件過(guò)程的定義、維護(hù)和改進(jìn)工作。在關(guān)鍵實(shí)踐中,這個(gè)組織通常指“負(fù)責(zé)組織軟件過(guò)程活動(dòng)的組”。
系統(tǒng)工程組(System Engineering Group):是負(fù)責(zé)下列工作的個(gè)人的團(tuán)體:分析系統(tǒng)需求;將系統(tǒng)需求分配給硬件、軟件和其他成分;規(guī)定硬件、軟件和其他成分的界面;監(jiān)控這些成分的設(shè)計(jì)和開發(fā)以保證它們符合其規(guī)格說(shuō)明。
系統(tǒng)測(cè)試組(System Test Group):是一些負(fù)責(zé)策劃和完成獨(dú)立的軟件系統(tǒng)測(cè)試的團(tuán)體,測(cè)試的目的是為了確定軟件產(chǎn)品是否滿足對(duì)它的需求。
軟件質(zhì)量保證組(Software Quality Assurance Group):是一些計(jì)劃和實(shí)施項(xiàng)目的質(zhì)量保證的團(tuán)體,其工作目的是保證軟件過(guò)程的步驟和標(biāo)準(zhǔn)是否得到遵守。
軟件配置管理組(Software Configuration Management Group):是一些負(fù)責(zé)策劃、協(xié)調(diào)和實(shí)施軟件項(xiàng)目的正式配置活動(dòng)的團(tuán)體。
培訓(xùn)組(Training Group):是一些負(fù)責(zé)協(xié)調(diào)和安排組織培訓(xùn)活動(dòng)的團(tuán)體。通常這個(gè)組織負(fù)責(zé)準(zhǔn)備和講授大多數(shù)培訓(xùn)課程并協(xié)調(diào)其他培訓(xùn)方式的使用。
二、 CMM 的基本框架
任何一個(gè)軟件的開發(fā)、維護(hù)和軟件組織的發(fā)展離不開軟件過(guò)程,而軟件過(guò)程經(jīng)歷了不成熟到成熟、不完善到完善的發(fā)展過(guò)程。它不是一朝一夕就能成功的,需要持續(xù)不斷的對(duì)軟件過(guò)程進(jìn)行改進(jìn),才能取得最終的成效。CMM就是根據(jù)這一指導(dǎo)思想設(shè)計(jì)出來(lái)的。該模型為了正確和有序地引導(dǎo)軟件過(guò)程活動(dòng)的開展,建立一個(gè)能夠有效地描述和表示的軟件過(guò)程的改進(jìn)框架,使其能夠?qū)Ω麟A段軟件過(guò)程的任務(wù)和管理起指導(dǎo)作用。該模型一產(chǎn)品質(zhì)量的概念和軟件工程的經(jīng)驗(yàn)教訓(xùn)為基礎(chǔ),指導(dǎo)企業(yè)如何控制開發(fā)、維護(hù)軟件的生產(chǎn)過(guò)程和如何制定一套與之相適應(yīng)的軟件過(guò)程及管理體系。
(一)分級(jí)標(biāo)準(zhǔn)
CMM模型描述和分析了軟件過(guò)程能力的發(fā)展程度,確立了一個(gè)軟件過(guò)程成熟程度的分級(jí)標(biāo)準(zhǔn),如圖1示。一方面軟件組織利用它可以評(píng)估自己當(dāng)前的過(guò)程成熟度,并以此提出嚴(yán)格的軟件質(zhì)量標(biāo)準(zhǔn)和過(guò)程改進(jìn)的方法和策略,通過(guò)不斷的努力去達(dá)到更高的成熟程度。另一方面,該標(biāo)準(zhǔn)也可以作為用戶對(duì)軟件組織的一種評(píng)價(jià)標(biāo)準(zhǔn),使之在選擇軟件開發(fā)商時(shí)不再是盲目的和無(wú)把握的。
圖 1 軟件過(guò)程成熟度的級(jí)別
CMM的分級(jí)結(jié)構(gòu)可以描述為:
①、初始級(jí):軟件過(guò)程的特點(diǎn)是無(wú)秩序的,有時(shí)甚至是混亂的。軟件過(guò)程定義幾乎處于無(wú)章法和步驟可循的狀態(tài),軟件產(chǎn)品所取得的成功往往依賴于極個(gè)別人的努力和機(jī)遇。
②、可重復(fù)級(jí):已建立了基本的項(xiàng)目管理過(guò)程,可用于對(duì)成本、進(jìn)度和功能特性進(jìn)行跟蹤。對(duì)類似的應(yīng)用項(xiàng)目,有章可循并能重復(fù)以往所取得的成功。
③、已定義級(jí):用于管理的和工程的軟件過(guò)程均已文檔化、標(biāo)準(zhǔn)化,并形成了整個(gè)軟件組織的標(biāo)準(zhǔn)軟件過(guò)程。全部項(xiàng)目均采用與實(shí)際情況相吻合的、適當(dāng)修改后的標(biāo)準(zhǔn)軟件過(guò)程來(lái)進(jìn)行操作。
④、以管理級(jí):軟件過(guò)程和產(chǎn)品質(zhì)量有詳細(xì)的度量標(biāo)準(zhǔn)。軟件過(guò)程和產(chǎn)品質(zhì)量得到了定量的認(rèn)識(shí)和控制。
⑤、優(yōu)化級(jí):通過(guò)對(duì)來(lái)自過(guò)程、新概念和新技術(shù)等方面的各種有用信息的定量分析,能夠不斷地、持續(xù)地對(duì)促進(jìn)過(guò)程進(jìn)行改進(jìn)。
除第一級(jí)外,每一級(jí)都設(shè)定了一組目標(biāo),如果達(dá)到了這組目標(biāo),則表明達(dá)到了這個(gè)成熟級(jí)別,自然可以向下一級(jí)別邁進(jìn)。CMM體系不主張跨級(jí)別的進(jìn)化。因?yàn)閺牡诙?jí)開始,每一個(gè)低級(jí)別的實(shí)現(xiàn)均是高級(jí)別實(shí)現(xiàn)的基礎(chǔ)。
(二)CMM的主要內(nèi)容
CMM為軟件企業(yè)的過(guò)程能力提供了一個(gè)階梯式的進(jìn)化框架,它采用分層的方式來(lái)解釋起組成部分,如圖2示。在第二至第五個(gè)成熟等級(jí)中,每個(gè)等級(jí)包含一個(gè)內(nèi)部結(jié)構(gòu)的概念,關(guān)于內(nèi)部結(jié)構(gòu)詳細(xì)描述將在下面CMM內(nèi)部結(jié)構(gòu)的一欄中進(jìn)行。
圖 2 CMM的五個(gè)成熟等級(jí)
每一級(jí)向上一級(jí)邁進(jìn)的過(guò)程中都有其特定的改進(jìn)計(jì)劃,具體情況如下。
初始級(jí)的改進(jìn)方向是:建立項(xiàng)目過(guò)程管理,是使規(guī)范化管理,保障項(xiàng)目的承諾;艷進(jìn)行需求管理方面的工作,建立用戶域軟件項(xiàng)目之間的溝通,使項(xiàng)目真正反映用戶的需求;建立各種軟件項(xiàng)目幾乎,如軟件開發(fā)計(jì)劃、軟件質(zhì)量保證計(jì)劃、軟件配置管理計(jì)劃、軟件測(cè)試計(jì)劃、風(fēng)險(xiǎn)管理計(jì)劃及過(guò)車改進(jìn)計(jì)劃等;積極開展軟件質(zhì)量保證活動(dòng)(SQA)。
可重復(fù)級(jí)的改進(jìn)方向是:不再按項(xiàng)目制定軟件過(guò)程,而是總結(jié)各種項(xiàng)目的成功經(jīng)驗(yàn),使之規(guī)則化,把具體經(jīng)驗(yàn)歸納為權(quán)組織的標(biāo)準(zhǔn)軟件過(guò)程,把改進(jìn)軟件組織的整體軟件過(guò)程能力的軟件過(guò)程活動(dòng),作為軟件開發(fā)組織的責(zé)任;確定全組織的標(biāo)準(zhǔn)軟件過(guò)程,把軟件工程及管理活動(dòng)集成到一個(gè)穩(wěn)固確定的軟件過(guò)程中,從而可以跨項(xiàng)目改進(jìn)軟件過(guò)程效果,也可以作為軟件過(guò)程剪裁的基礎(chǔ);建立軟件工程過(guò)程小組(SPEG)長(zhǎng)期承擔(dān)評(píng)估域調(diào)整軟件過(guò)程的任務(wù),以適應(yīng)未來(lái)軟件項(xiàng)目的要求;積累數(shù)據(jù),建立組織的軟件過(guò)程庫(kù)及軟件過(guò)程相關(guān)的文檔;加強(qiáng)培訓(xùn)。
已定義級(jí)的改進(jìn)方向是:著手軟件過(guò)程的定量分析,已達(dá)到定量地控制軟件項(xiàng)目過(guò)程的效果;通過(guò)軟件的質(zhì)量管理達(dá)到軟件質(zhì)量的目標(biāo)。
已管理級(jí)的改進(jìn)方向是:防范缺陷,不僅在發(fā)現(xiàn)了問(wèn)題能及時(shí)改進(jìn),而且應(yīng)采取特定行動(dòng)防止將來(lái)出現(xiàn)這類缺陷;主動(dòng)進(jìn)行技術(shù)改革管理、標(biāo)識(shí)、選擇和評(píng)價(jià)新技術(shù),是有效的新技術(shù)能在開發(fā)組織中實(shí)施;進(jìn)行過(guò)程變更管理,定義過(guò)程改進(jìn)的目的,經(jīng)常不斷地進(jìn)行過(guò)程改進(jìn)。
優(yōu)化級(jí)的改進(jìn)目方向是:保持持續(xù)不斷的軟件過(guò)程改進(jìn)。
(三)CMM的內(nèi)部結(jié)構(gòu)
CMM為軟件過(guò)程能力的提高提供了一條改進(jìn)的途徑。CMM由5個(gè)成熟度等級(jí)組成,每個(gè)成熟度等級(jí)有著各自的功能。除第一級(jí)外,CMM的每一級(jí)按完全相同的內(nèi)部結(jié)構(gòu)構(gòu)成的,如圖3。成熟度等級(jí)為頂層,不同的成熟度等級(jí)反映了軟件組織的軟件過(guò)程能力和該組織可能實(shí)現(xiàn)預(yù)期結(jié)果的程度。
圖3 CMM的內(nèi)部結(jié)構(gòu)圖
在CMM中,每個(gè)成熟度等級(jí)(第一級(jí)除外)規(guī)定了不同的關(guān)鍵過(guò)程域,一個(gè)軟件組織如果希望達(dá)到某一個(gè)成熟度級(jí)別,就必須完全滿足關(guān)鍵過(guò)程域所規(guī)定的要求,即滿足關(guān)鍵古城域的目標(biāo)。每一級(jí)的關(guān)鍵過(guò)程域的詳細(xì)情況見(jiàn)表1。
表1 關(guān)鍵過(guò)程域的分類
(四)軟件過(guò)程評(píng)估和軟件能力評(píng)價(jià)
軟件過(guò)程評(píng)估所針對(duì)的是軟件組織自身內(nèi)部軟件過(guò)程的改進(jìn)問(wèn)題,目的在于法子按缺陷,提出改進(jìn)方向。評(píng)估組以CMM模型為指引調(diào)查、鑒別軟件過(guò)程中的問(wèn)題,翻過(guò)來(lái)將這些問(wèn)題與CMM關(guān)鍵實(shí)踐活動(dòng)所提出的指導(dǎo)一起用于確定組織的軟件過(guò)程改進(jìn)策略。
軟件能力評(píng)價(jià)是對(duì)接受評(píng)價(jià)者在一定條件下、規(guī)定時(shí)間內(nèi)能否完成特定項(xiàng)目的能力考核,即承擔(dān)風(fēng)險(xiǎn)的系數(shù)大小。評(píng)價(jià)包括承包者是否有能力按計(jì)劃開發(fā)軟件產(chǎn)品,是否能按預(yù)算完成等。通過(guò)利用CMM模型確定評(píng)價(jià)結(jié)果后,就可以利用這些結(jié)果確定選擇某一承包商的風(fēng)險(xiǎn)。也可以用來(lái)判斷承包者的工作進(jìn)程,推動(dòng)他們愛(ài)進(jìn)軟件過(guò)程。
CMM為評(píng)估和評(píng)價(jià)提供了一個(gè)參考框架,指出了在評(píng)估和評(píng)價(jià)中通常采用的佛農(nóng)步驟,如圖4示。
圖 4 軟件過(guò)程評(píng)估和軟件能力評(píng)價(jià)的步驟
具體來(lái)說(shuō),評(píng)估過(guò)程是:選擇一個(gè)工作組;完成問(wèn)卷調(diào)查和取樣工作;結(jié)果分析;現(xiàn)場(chǎng)訪問(wèn);與CMM模型對(duì)照分析;依據(jù)關(guān)鍵過(guò)程域的基本情況列出評(píng)估提綱。以上步驟在軟件過(guò)程評(píng)估和軟件能力評(píng)價(jià)題勾勒很有參考價(jià)值的方法,但在具體操作時(shí)以下這些特點(diǎn)也值得考慮:
①、在現(xiàn)場(chǎng)訪問(wèn)和考察中,充分運(yùn)用成熟度問(wèn)卷和結(jié)果分析為依據(jù)。
②、以CMM模型作為現(xiàn)場(chǎng)調(diào)查的路線圖。
③、利用CMM中的關(guān)鍵過(guò)程域定義軟件過(guò)程中的優(yōu)點(diǎn)和缺陷,從中發(fā)現(xiàn)差異。
④、對(duì)關(guān)鍵過(guò)程域目標(biāo)是否備滿足的實(shí)際情況出發(fā),分析滿意程度,寫出書面報(bào)告。
盡管軟件過(guò)程評(píng)估和軟件能力評(píng)價(jià)有很多相似之處,但由于其目的和結(jié)果的不同,它們之間的差異也是必然存在的,如:
①、軟件過(guò)程評(píng)估和軟件能力評(píng)價(jià)在出發(fā)點(diǎn)和目標(biāo)上的不同,使得會(huì)談目的、調(diào)查范圍、收集的信息和輸出的表示方式上有著本質(zhì)的不同。尤其在一些細(xì)節(jié)規(guī)范方面,評(píng)估和評(píng)價(jià)的方法有很大差異。
②、軟件過(guò)程評(píng)估和軟件能力評(píng)價(jià)的結(jié)果和結(jié)果所起的作用不同。因?yàn)閮烧叩膫?cè)重點(diǎn)不一樣,即使是對(duì)同一個(gè)應(yīng)用項(xiàng)目,運(yùn)用相同的方法,也不會(huì)得出相同的結(jié)果。
③、被評(píng)估和評(píng)價(jià)單位的態(tài)度對(duì)評(píng)估和評(píng)價(jià)活動(dòng)的影響。評(píng)估在某種意義上被評(píng)估單位的態(tài)度較積極,而評(píng)價(jià)在某種意義上被評(píng)價(jià)單位的態(tài)度可能比較慎重。軟件過(guò)程評(píng)估是在一個(gè)開放的、互相協(xié)作的環(huán)境中進(jìn)行的,而軟件能力評(píng)價(jià)往往是在有較大的阻力的環(huán)境中進(jìn)行的。
(五)CMM的組織保證
當(dāng)人們面對(duì)CMM實(shí)施時(shí),首先想到的就是人員的構(gòu)成和各種小組的劃分。它是實(shí)施CMM的組織保證,是一切活動(dòng)的基礎(chǔ)。CMM在制定軟件過(guò)程實(shí)施中本著盡量不和具體的組織機(jī)構(gòu)和組織形式相聯(lián)系的原則,為的是提供一個(gè)獨(dú)立于具體企業(yè)而又有廣泛指導(dǎo)意義的模型框架。但在實(shí)施各種軟件關(guān)鍵實(shí)踐中,不可避免地要涉及到角色和組織結(jié)構(gòu)。所以為了使CMM能夠使用域各種級(jí)別和各種規(guī)模的企業(yè),SEI提出了一個(gè)相對(duì)抽象的組織結(jié)構(gòu),它與組織、項(xiàng)目、人員(角色)相關(guān)聯(lián),具有自己特定的術(shù)語(yǔ),而且可能不同于其他組織所用的名詞。例如基本概念中提到的主要的軟件工作組的概念。
三、 正確的態(tài)度看待CMM
SEI的CMM并不是軟件開發(fā)的方法學(xué),也不是產(chǎn)品模板,更不是過(guò)程法律。CMM是過(guò)程改進(jìn)的途徑,是一套指南,幫助你通過(guò)持續(xù)的重復(fù)、測(cè)量和提煉,穩(wěn)步創(chuàng)造與凈化開發(fā)環(huán)境。CMM的假定是:如果你實(shí)施一個(gè)不斷重復(fù)、測(cè)量和提煉的大綱,作為環(huán)境改進(jìn)的副產(chǎn)物,質(zhì)量便會(huì)自然的提高。不要把CMM設(shè)想為一套規(guī)則,而應(yīng)將它理解為一個(gè)學(xué)科,做事的一般方法。在這套指南下運(yùn)作,你會(huì)發(fā)現(xiàn)這里有著廣闊的空間,讓你剪裁和塑造自己的大綱,以適應(yīng)組織的特定要求。
CMM不采用“用這種方法做這類事”的風(fēng)格,它也不對(duì)由問(wèn)題的IT組織提供快速的糾正方案。CMM是一個(gè)指南針,指導(dǎo)你如何逃離暴風(fēng)雪。CMM是一個(gè)大綱,要求你對(duì)整個(gè)IT組織的有關(guān)部分,從高層領(lǐng)導(dǎo)到軟件生產(chǎn)的第一次線工作者,都做出堅(jiān)定的、長(zhǎng)期的實(shí)施承諾。成熟的過(guò)程不可能在已也之間實(shí)現(xiàn)。
在如何解釋CMM建議時(shí),它允許極大的靈活性。CMM意識(shí)到,IT組織之間存在著很大的差別。他們的客戶不同,使用的工具不同,人員智力和專業(yè)背景不同,從事的項(xiàng)目屬于不同的類型,規(guī)模大小不同,要求也各不相同。因而,他們應(yīng)當(dāng)以自己的方式走向成熟。在一處活用的東西,在另一處未必適用。這一點(diǎn)非常重要,中國(guó)部分軟件公司的前車之鑒也從某種程度上給了我們建議和經(jīng)驗(yàn)教訓(xùn),那就是,要靈活應(yīng)用CMM,不要幻想一夜就有成效。
小結(jié)
本文只是根據(jù)這兩年的試題和自己的預(yù)測(cè)向廣大系分考友提供一些CMM方面的知識(shí)。CMM不是重點(diǎn),但也有可能會(huì)考到一些知識(shí),如基本概念等。在搜集資料和整理著篇文章時(shí),遇到了一個(gè)矛盾,那就是:我要提供足夠的資料以使讀者不必花費(fèi)金錢再去買一本書就可以復(fù)習(xí)有關(guān)CMM的知識(shí),而同時(shí)又不能放太多的內(nèi)容使讀者浪費(fèi)太多的時(shí)間在這上面。最后采取了一個(gè)折衷的辦法,那就是盡量滿足考試需求的情況下減少篇幅。在此聲明,本文所涉及的內(nèi)容只是本人的預(yù)測(cè),并不是說(shuō)考試范圍不會(huì)超過(guò)本文的內(nèi)容。所以有時(shí)間的朋友還是盡可能的擴(kuò)大這方面知識(shí)面。希望這篇文章對(duì)你有幫助,謝謝。