CMMI 簡介

什麼是CMM? 
CMM是由美國卡內基梅隆大學的軟件工程研究所(SEI)創立的CMM(Capability Maturity Model 軟件能力成熟度模型)認證評估,在過去的十幾年中,對全球的軟件產業產生了非常深遠的影響。
CMM是目前世界公認的軟件產品進入國際市場的通行證,它不僅僅是對產品質量的認證,更是一種軟件過程改善的途徑。軟件開發企業通過CMM的評估認證不僅僅是目標,它是推動軟件企業在產品的研發、生產、服務和管理上不斷成熟和進步的手段,是一種持續提升和完善企業自身能力的過程。
CMM分幾個等級?
CMM共有五個等級,分別標誌着軟件企業能力成熟度的五個層次。從低到高,軟件開發生產計劃精度逐級升高,單位工程生產週期逐級縮短,單位工程成本逐級降低。據SEI統計,通過評估的軟件公司對項目的估計與控制能力約提升40%到50%;生產率提高10%到20%,軟件產品出錯率下降超過1/3。
對一個軟件企業來說,達到CMM2就基本上進入了規模開發,基本具備了一個現代化軟件企業的基本架構和方法,具備了承接外包項目的能力。CMM3評估則需要對大軟件集成的把握,包括整體架構的整合。一般來說,通過CMM認證的級別越高,其越容易獲得用戶的信任,在國內、國際市場上的競爭力也就越強。因此,是否能夠通過CMM認證也成爲國際上衡量軟件企業工程開發能力的一個重要標誌。
CMM的五個等級
◆ CMM 1--初始級
軟件過程是無序的,有時甚至是混亂的,對過程幾乎沒有定義,成功取決於個人努力。管理是反應式的。
◆ CMM 2--已管理級
建立了基本的項目管理過程來跟蹤費用、進度和功能特性。制定了必要的過程紀律,能重複早先類似應用項目取得的成功經驗。
◆ CMM 3--已定義級
已將軟件管理和工程兩方面的過程文檔化、標準化,並綜合成該組織的標準軟件過程。所有項目均使用經批准、剪裁的標準軟件過程來開發和維護軟件,軟件產品的生產在整個軟件過程是可見的。
◆ CMM 4--量化管理級
分析對軟件過程和產品質量的詳細度量數據,對軟件過程和產品都有定量的理解與控制。管理有一個作出結論的客觀依據,管理能夠在定量的範圍內預測性能。
◆ CMM 5--優化管理級
過程的量化反饋和先進的新思想、新技術促使過程持續不斷改進。

什麼是CMMI?
CMMI(Capability Maturity Model Integration)即能力成熟度集成模型,起初是美國國防部的一個設想,由工業界、美國政府和卡內基•梅隆大學軟件工程研究所率先倡導。他們想把現在所有的以及將被發展出來的各種能力成熟度模型,集成到一個框架中去。這個框架有兩個功能,第一,軟件採購方法的改革;第二,建立一種從集成產品與過程發展的角度出發、包含健全的系統開發原則的過程改進。
就軟件而言,CMMI是SW-CMM的修訂本。它兼收了SW-CMM 2.0版C稿草案和SPA中更合理、更科學和更周密的優點。
  CMMI項目更爲工業界和政府部門提供了一個集成的產品集,其主要目的是消除不同模型之間的不一致和重複,降低基於模型改善的成本。CMMI將以更加系統和一致的框架來指導組織改善軟件過程,提高產品和服務的開發、獲取和維護能力。
  CMMI項目致力於幫助企業緩解這種困境。CMMI爲改進一個組織的各種過程提供了一個單一的集成化框架,新的集成模型框架消除了各個模型的不一致性,減少了模型間的重複,增加透明度和理解,建立了一個自動的、可擴展的框架。因而能夠重總體上改進組織的質量和效率。CMMI主要關注點就是成本效益、明確重點、過程集中和靈活性四個方面。與原有的能力成熟度模型類似,CMMI也包括了在不同領域建立有效過程的必要元素,反映了業界普遍認可的"最佳"實踐;專業領域覆蓋軟件工程、系統工程、集成產品開發和系統採購。在此前提下,CMMI爲企業的過程構建和改進提供了指導和框架作用;同時爲企業評審自己的過程提供了可參照的行業基準。

CMMI的基本思想:
  1、解決軟件項目過程改進難度增大問題
  2、實現軟件工程的並行與多學科組合
3、實現過程改進的最佳效益

CMMI的原則:
1、強調高層管理者的支持。過程改進往往也是由高層管理者認識和提出的,大力度的、一致的支持是過程改進的關鍵。
2、仔細確定改進目標,首先應該對給定時間內的所能完成的改進目標進行正確的估計和定義並制定計劃。選擇能夠達到的目標和能夠看到對組織的效益。
3、選擇最佳實踐,應該基於組織現有的軟件活動和過程財富,參考其他標準模型,取其精華去其糟粕,得到新的實踐活動模型。
4、過程改進要與組織的商務目標一致,與發展戰略緊密結合。

CMMI目標:
1、爲提高組織過程和管理產品開發、發佈和維護能力的提供保障。
2、幫助組客觀織評價自身能力成熟度和過程域能力,爲過程改進建立優先級以及執行過程改進。

CMMI的方法:
1、決定哪個CMMI模型等級最適合組織過程改進需要。
2、選擇模型的表示法是連續式還是階段式。
3、決定組織需要用到的模型中的知識領域。
4、類似CMM提出的過程改進6步,集成化過程改進分成:開始集成過程改進,建造集成改善平臺,集成傳統過程,啓動新過程,進行改進評估。

CMMI內容:
CMMI內容分爲三個級別
◆Required必需的:
是模型和過程改進的基礎。
模型構件是目標,代表了過程改進想要達到的最終狀態,它的實現表示了項目和過程控制已經達到了某種水平。當一個目標對應一個關鍵過程域,就稱爲"特定目標";對應整個關鍵過程域就稱爲"公用目標"。整個CMMI模型包括了54個特定目標,每個關鍵過程域都對應了一到四個特定目標。每個目標的描述都是非常簡捷的,爲了充分理解要求的目標就是擴展"期望"的構件。
◆Expected期望的:
在過程改進中起到主要作用,但是某些情況不是必須的可能不會出現在成功的組織模型中。
模型構件是方法,代表了達到目標的實踐手段和補充認識。每個方法都能映射到一個目標上,當一個方法對一個目標是唯一就是"特定方法";而能適用於所有目標時就是"公用方法"。CMMI模型包括了186個特定方法,每個目標有兩到七個方法對應。
◆Informative提供信息的:構成了模型的主要部分,爲過程改進提供了有用的指導,在許多情況下他們對需要和期望的構件做了進一步說明。
CMMI包括了10種"提供的信息":目的,概括和總結了關鍵過程域的特定目標;介紹說明,介紹關鍵過程域的範圍、性質和實際方法和影響等特徵;引用,關鍵過程域之間的指向是通過引用;名字,表示了關鍵過程域的構件;方法和目標關係,關鍵過程域中方法映射到目標的關係表;註釋,註釋關鍵過程域的其他模型構件的信息來源;典型工作產品集,定義關鍵過程域中執行方法時候產生的工作產品;子方法,通過方法活動的分解和詳細描述;學科擴充,CMMI對應學科是獨立的,這裏提供了對應特定學科的擴展;公用方法的詳細描述,關鍵過程域中公用方法應用實踐的詳細描述。

CMMI評估方法:
自1991年起,CMM出現了很多模型,覆蓋了各種各樣的專業領域。其中著名的模型有:系統工程、軟件工程、軟件採購、集成產品、流程開發等。
當企業想要在組織內不同專業領域的流程改進,這些針對不同專業領域的模型在架構•內容和方法上的不同限制了組織成功實施改進的能力。此外,將這樣模型在組織內部集成也提高了培訓•認證和改進的費用。一套包括多個專業領域的模型加上整合的培訓和認證支持將解決這些問題。
  CMMI(Capability maturity model integration)是爲了合併三個模型到一個框架中
  Capability Maturity Model for Software (SW-CMM) v2.0 draft C,
  Electronic Industries Alliance Interim Standard (EIA/IS) 731
  Integrated Product Development Capability Maturity Model (IPD-CMM) v0.98
  正如其他CMM模型,CMMI提供了流程改進的指導,而不是流程或流程的描述。組織使用的實際流程取決於很多因素,包括應用領域•組織框架和規模。CMMI將許多經過驗證的方法加入架構中,來幫組組織評價成熟度•某個軟件流程的能力度,並且建立改進的優先順序和實施改進。
  從CMMI框架可以產生不同的CMMI模型,因此必須首先確定那種模型最適合企業流程改進的需要。
  階段式描述 or 連續式描述
  系統工程 or 軟件工程 or 兩者皆有
  使用連續式描述可以根據企業需要選擇流程改進順序,降低企業風險,這給通過ISO做流程改進提供了一個方便的比較。使用能力度(Capability)來衡量。
  階段式描述提供了已經過驗證的流程改進順序,方便從CMM移植過來。使用成熟度(Maturity)來衡量流程改進。
  系統工程包括整個系統的開發,可能包括軟件也可能不包括。
軟件工程用於軟件系統的開發,主要集中在使用系統的•科學的•量化的方法來開發•運行•維護軟件。

CMMI的評估方式:
自我評估:用於本企業領導層評價公司自身的軟件能力。
主任評估:使本企業領導層評價公司自身的軟件能力,向外宣佈自己企業的軟件能力

CMMI的評估類型:
軟件組織的關於具體的軟件過程能力的評估。
軟件組織整體軟件能力的評估(軟件能力成熟度等級評估)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章