什麽是CMM?
CMM是由美國卡內基梅隆大學軟件工程研究所(SEI)創立的CMM(能力成熟度模型軟件能力成熟度模型)認證和評估。在過去的十年裏,它對全球軟件行業產生了非常深遠的影響。
CMM是公認的軟件產品進入國際市場的通行證。它不僅是產品質量的證明,也是改進軟件過程的壹種方法。通過CMM對軟件開發企業進行評估認證,不僅是壹個目標,更是促進軟件企業在產品研發、生產、服務、管理等方面不斷成熟和進步的手段,是壹個不斷改進和提高自身能力的過程。
CMM是幾級?
CMM***有五個層次,分別表示軟件企業能力成熟度的五個層次。從低到高,逐步提高軟件開發和生產計劃的準確性,逐步縮短單位項目的生產周期,逐步降低單位項目的成本。據SEI統計,通過測評的軟件公司的預估和控制能力提升了40%到50%左右;生產率提高了10%到20%,軟件產品的錯誤率降低了1/3以上。
對於壹個軟件企業來說,達到CMM2基本上就意味著大規模開發,基本上具備了壹個現代軟件企業的基本框架和方法,以及承接外包項目的能力。CMM3評估需要把握大軟件的集成,包括整體架構的集成。壹般來說,CMM認證等級越高,越容易獲得用戶的信任,在國內外市場的競爭力也越強。因此,能否通過CMM認證已經成為國際上衡量軟件企業工程開發能力的重要標誌。
CMM的五個層次
◆ CMM 1 -初始階段
軟件過程是無序的,有時甚至是混亂的,過程幾乎沒有定義。成功取決於個人的努力。管理層是被動的。
◆ CMM 2 -管理級
建立基本項目管理流程,以跟蹤成本、進度和功能特性。制定了必要的工藝規程,可以更早的重復類似應用項目的成功經驗。
◆cmm3-定義的級別
軟件管理和工程的過程已經被文檔化和標準化,並且集成到組織的標準軟件過程中。所有項目都使用經過批準和定制的標準軟件過程來開發和維護軟件,並且軟件產品的生產在整個軟件過程中都是可見的。
◆cmm4-量化管理水平
分析軟件過程和產品質量的詳細度量數據,對軟件過程和產品有定量的了解和控制。管理層做出結論是有客觀依據的,管理層可以在量化範圍內預測業績。
◆cmm5-優化管理水平
過程的定量反饋和先進的新思想、新技術促進了過程的持續改進。
什麽是CMMI?
CMMI(Capability Maturity Model Integration),即能力成熟度集成模型,最初是美國國防部的壹個想法,由工業界、美國政府和Carnegie?梅隆大學軟件工程研究所開創了。他們希望將所有現有的和所有種類的能力成熟度模型集成到壹個框架中。這個框架有兩個功能:壹是軟件采購方式的改革;其次,從集成產品和流程開發的角度建立流程改進,包括完善的系統開發原則。
就軟件而言,CMMI是SW-CMM的修訂版。它結合了SW-CMM 2.0c版草案和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提出的過程改進六步驟,集成過程改進分為:啟動集成過程改進、構建集成改進平臺、集成傳統過程、啟動新過程、評估改進。
CMMI內容:
CMMI的內容分為三個層次。
◆必需必需:
它是模型和過程改進的基礎。
模型組件是目標,代表過程改進的最終狀態,它的實現標誌著項目和過程控制達到了壹定的水平。當壹個目標對應壹個關鍵過程域時,稱為“具體目標”;與整個關鍵過程區域相對應的稱為“共同目標”。整個CMMI模型包括54個具體目標,每個關鍵過程領域對應壹至四個具體目標。每個目標的描述都很簡單。為了全面理解所要求的目標,就是展開“期望”的成分。
◆預期預期:
它在過程改進中起著主要的作用,但有些情況是不必要的,可能不會出現在成功的組織模型中。
模型組件是壹種方法,它代表了實現目標的實際手段和補充理解。每個方法都可以映射到壹個目標上,當壹個方法對於壹個目標是唯壹的時候,就是“特定方法”;當它可以應用於所有目標時,它就是壹種“通用方法”。CMMI模型包括186個具體方法,每個目標有2到7個相應的方法。
◆信息性:構成模型的主要部分,為過程改進提供有用的指導。在許多情況下,它們進壹步解釋了所需的和預期的組件。
CMMI包括10種“提供的信息”:目的、概括和總結關鍵過程領域的具體目標;引言,介紹關鍵過程領域的範圍、性質、實踐方法和影響;引用,關鍵過程域之間的方向是通過引用的;名稱,代表關鍵過程域的組成部分;方法和目標之間的關系,以及關鍵過程域中的方法映射到目標的關系表;註釋關鍵過程領域中其他模型組件的信息源;典型的工作產品集,它定義了在關鍵過程域中執行方法時生成的工作產品;子方法,通過方法活動的分解和詳細描述;學科擴展,CMMI獨立於對應的學科,這裏提供了對應於某個具體學科的擴展;詳細描述公共方法,詳細描述公共方法在關鍵過程領域的應用實踐。
CMMI評估方法:
從1991年開始,出現了很多型號的CMM,涵蓋了各個專業領域。其中比較著名的模式有:系統工程、軟件工程、軟件采購、集成產品、流程開發等。
當企業想要改善組織內不同專業領域的流程時,這些針對不同專業領域的模型是否在架構中?內容和方法的差異限制了組織成功實施改進的能力。此外,在組織內部整合這樣的模型也能提高培訓?認證和改進的成本。壹套包括多個專業領域和壹體化培訓認證支持的模式將解決這些問題。
CMMI(Capability Maturity Model Integration)是將三個模型合並成壹個框架。
軟件能力成熟度模型(SW-CMM) v2.0草案C,
電子工業聯盟臨時標準(EIA/IS) 731
集成產品開發能力成熟度模型(IPD-CMM) v0.98
像其他CMM模型壹樣,CMMI為過程改進提供指導,而不是過程或過程描述。組織使用的實際過程取決於許多因素,包括應用領域?組織框架和規模。CMMI在體系結構中加入了許多行之有效的方法來幫助組織評估成熟度?軟件過程的能力,確定改進的優先級並實施改進。
從CMMI框架中可以生成不同的CMMI模型,所以首先要確定哪種模型最適合企業流程改進的需要。
分階段描述或連續描述
系統工程或軟件工程或兩者兼而有之。
使用連續描述可以根據企業的需求選擇過程改進的順序,降低企業的風險,為通過ISO進行過程改進提供了方便的比較。使用能力來衡量。
階段描述提供了壹個經過驗證的過程改進序列,便於從CMM移植。使用成熟度來衡量過程改進。
系統工程包括整個系統的開發,可能包括也可能不包括軟件。
軟件工程是用於軟件系統的開發,主要側重於系統的使用?科學?定量的方法來發展?跑?維護軟件。
CMMI的評價方法:
自我評估:企業領導層用來評估公司自身的軟件能力。
總監評價:讓這個企業的領導層評價公司自己的軟件能力,公布自己企業的軟件能力。
CMMI的評估類型:
軟件組織對特定軟件過程能力的評估。
軟件組織整體軟件能力的評估(軟件能力成熟度評估)。