10分鐘搞懂CMMI

CMMI的由來

CMM

美國國防部投資的卡內基梅隆大學下的軟件工程研究所(Software Engineering Institute,SEI),自1991年發佈CMM 模型V1.0版本以來,逐漸開發了SE-CMM、SW-CMM、SA-CMM、P-CMM、IPPD-CMM等多種CMM模型,主要用於指導軟件開發過程改進和軟件管理能力的提升,這些模型的實施有助於改善組織過程,同時模型的實施對於推廣過程改進模型理論和實踐起到了很大的促進作用。

CMMI

隨着IT信息行業的快速發展,軟件系統環境和開發環境的不斷複雜化,單一學科的CMM模型應不適合現代軟件系統的開發需求,1997年開始,SEI開始研究將CMM的多個模型集成到一起,演進出CMMI(Capability Maturity Model Integrated)軟件能力成熟度模型集成。CMMI模型是一套融合多學科的、可擴充的產品集合,是一個自動的、可擴充的框架,便於其他一些學科的過程改進模型與CMMI產品集的融合演進。2000年SEI正式推出CMMI的1.0版本,並於2005年逐步取代CMM,目前應用最廣泛的版本是2010年推出的CMMI 1.3版本。CMMI發展的里程碑如下表:
在這裏插入圖片描述

國內CMMI應用現狀

CMMI是基於模型的過程改進工作的一項重大成果,是過程改進模型的最新方向。據美國國防部資料顯示,運用CMMI模型管理的項目,不僅降低了項目的成本,而且提高了項目的質量與按期完成率,甚至美國國防工程項目的招標中,要求達到CMMI一定等級纔有參加競標的資格,因此CMMI模型在美國得到大力推廣。CMMI模型源自美國,目前已被世界各國普遍認可,有超過60個國家實施了正式評估,已經成爲國際評估軟件開發組織過程能力的主要標準。
根據CMMI研究院發佈報告來看,2015年中國CMMI評估項目數量,與全球其他國家CMMI評估項目合計數持平,成爲全球新增CMMI評估數量第一,是一個重要的“分水嶺”,2018年CMMI全球3049個評估增長15%,中國通過1894個評估增長21%,全球新增份額佔比已超過的60%以上。由此可見, CMMI的研究和應用在我國增速明顯,CMMI的相關研究和應用到達世界領先水平。

CMMI的關鍵內容

模型結構

過程域(Process Area,PA)是CMMI中一個最重要的部件,是一組實踐集合,CMMI由多個過程域組成,每個過程域分別表示了整個過程改進活動中應側重關注或改進的某個方面的問題,每個過程域包含一組特定目標(Spercific Goals,SG)、特定實踐(Specific Practice,SP)和公共實踐(Generic Practice,GP)。CMMI整個模型就是按照過程域作爲基本部件而展開描述的。CMMI的部件組成如下圖所示。
在這裏插入圖片描述

三個參考模型

CMMI爲了適應更廣泛的應用場景,2010年 CMMI v1.3版本發佈了三種不同的參考模型:CMMI-DEV、CMMI-SVC、CMMI-ACQ。CMMI-DEV模型是指導軟件開發過程的參考模型,在軟件行業應用最廣泛的模型,通常工作和學習中說到的CMMI默認是指這個模型;CMMI-SVC模型是在CMMI基礎架構之上增加了服務相關的特有過程域,可以應用於IT服務、醫療衛生、教育等各類服務領域,對於已經實施CMMI- DEV的企業,提供了快速、便捷的理解和導入機制;CMMI-ACQ模型是基於CMMI模型體系架構,整合了CMMI採購模型、軟件採購模型以及政府及產業採購的最佳實踐等,用於指導採購方進行採購管理。該模型適用於政府、電信、金融等領域的採購管理。三種參考模型的相互關係如下圖所示。
在這裏插入圖片描述
將CMMI的三種模型過程域歸類進行了對比,發現三者之間,有12個過程域完全相同,5個過程域概念基本重疊,剩餘的過程域根據模型的應用場景不同各有差別。三者過程域的詳細對應關係如下表所示。
在這裏插入圖片描述
CMMI-DEV模型特有過程域分別是,產品集成(PI)、需求開發 (RD)、技術解決方案(TS) 、確認 (VAL) 、驗證 (VER) 。
CMMI-SVC模型特有過程域分別是,服務交付 (SD)、突發事件解決和預防 (IRP)、服務系統開發 (SSD)、服務系統遷移(SST)、戰略服務管理 (STSM)、容量和可用性管理 (CAM)、服務連續性 (SCON)。
CMMI-ACQ模型特有過程域分別是,採購需求開發 (ARD) 、採購技術管理 (ATM) 、採購確認 (AVAL) 、採購驗證 (AVER) 、招標和供應商協議制定(SSAD) 。

階段式表示法

階段式表示法是CMMI模型的兩種表示方法之一,其過程域的組織方式是成熟度等級(Maturity Level,ML),每一個成熟度等級包括多個過程域,每個過程域包含共性目標和特定目標,以及共享實踐和特定實踐,並指出達到每一成熟度等級必須實施哪些過程域,提供一個階段式的流程改進建議順序。成熟度等級共包含5個等級,分別是等級1初始級、等級2已管理級、等級3已定義級、等級4定量管理級、等級5優化級。
在這裏插入圖片描述
CMMI-DEV模型成熟度等級和過程域對應關係如下表所示。
在這裏插入圖片描述

連續式表示法

連續式表示方法是CMMI模型另一種表示方法,每個過程域按照能力等級(Capability Level,CL)進行評估,表示一個組織在實施和控制其過程以及改善其過程績效等方面所具備的能力。一個過程能力等級由這個過程的若干相關的特定實踐和共性實踐所構成。這些特定實踐和共性實踐如果得以執行,則將使該組織的這個過程的執行能力得到提高,進而增強該組織的總體過程能力。CMMI-DEV模型連續式表示法劃分4個能力等級,分別是能力等級0不完整級、能力等級1已執行級、能力等級2已管理級、能力等級3已定義級。
在這裏插入圖片描述
CMMI-DEV模型的連續式表示法按照過程域之間的關係分成四個類型:過程管理、項目管理、工程和支持,對於每個大類中的過程域,又進一步分爲“基礎的”和“高級的”過程域,如下表所示。
在這裏插入圖片描述

階段式VS連續式

企業按階段式評估,要由評估師挑選企業內部的任意項目,甚至任意項目的任意幾個部分,主要是衡量一個企業的成熟度,由於成熟度等級是循序漸進的,企業如果想達到某個成熟度等級,例如CMMI 3級,除了滿足CMMI 3級本身11過程域之外,還要滿足CMMI 2級的7個過程域,依此類推,因此階段性實施方法的難度要大一些。
企業按連續式評估,可以選擇自己希望被評估的項目來進行評估,主要是衡量一個企業的某一類項目能力,僅需要企業在該類項目的實施能力達到某一能力等級即可,其評估通過的難度要小一些。

CMMI的實施評估方法

IDEAL實施框架

CMMI模型的過程域和能力等級劃分只描述了“是什麼”和“做什麼”,還需要根據企業自身特點選擇合適的實施過程解決“怎麼做”的問題。SEI與HP公司合作研發的IDEAL實施框架模型專門用於CMMI模型的實施,CMMI的實施過程是一個循環過程,每個實施循環分爲五個階段:初始化階段(I),診斷階段(D),建立階段(E),行動階段(A),推進階段(L)。如下圖所示。
在這裏插入圖片描述

SCAMPI評估方法

SCAMPI評估方法是用來對軟件組織的CMMI過程改進進行評估,以評價組織的軟件過程能力等級或軟件能力成熟度等級。SCAMPI評估分爲三個階段:準備階段、現場評估、結果報告。SCAMPI推薦了三類評估方法供組織進行CMMI評估時適當選擇,如下表所示。
在這裏插入圖片描述
一個組織在全面實施CMMI時,會在過程改進的不同階段進行診斷檢查,可以在CMMI啓動準備階段先通過一次SCAMPI的C類評估進行差距分析,然後在CMMI實施階段逐步導入B類評估,最後導入A類評估進行軟件能力成熟度等級定級。

前期準備工作

前期準備工作是實施CMMI模型和方法進行軟件開發過程改進工作成功與否的關鍵。好的模型、方法和制度都離不開人的參與,因此在開展CMMI實施的工作之前,必須獲取到公司高層領導的支持和資源投入;建立適合CMMI過程改進的組織架構;並且開展全員培訓,動員全員參與。通過這些前期準備工作,才能更有效的實施CMMI模型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章