軟件能力成熟度模型CMMI

本章內容提要

CMMI概述
CMMI的成熟度等級及其過程域
CMMI的應用
PSP,TSP與CMMI

第一節 CMMI概述

CMMI( Capability Maturity Model Integration)即能力成熟度模型集成,由CMM (Capability Maturity Model)發展而來,它最早是應用於軟件業的一個過程改進模型,爲軟件組織描述了從混亂的、不成熟的軟件過程向成熟有序的軟件過程進行改進的一條途徑。後來隨着應用的推廣和模型本身的發展,CMMI逐漸演化成爲一個被廣泛應用的綜合性過程改進模型。

1.CMMI的歷史

1991年,美國卡耐基梅隆大學軟件工程研究所(SEI)推出了能力成熟度模型CMM,CMM的作用主要有兩方面:
爲軟件客戶提供評價軟件開發商能力的方法。
幫助軟件開發商改進其軟件過程,提高成熟度。
隨着CMM在軟件界應用的不斷推廣,其它相關學科和領域也採用它的模式,開發出了許多類似於CMM的模型。
SE-CMM (System Engineering CMM) 系統工程CMM,應用於系統工程管理。
SA-CMM (Software Acquisition CMM) 軟件獲取CMM,應用於軟件獲取(採購)方的能力成熟度模型。
IPD-CMM (Integrated systems product Development CMM): 集成系統產品開發CMM,應用於集成系統產品的開發管理。
P-CMM (People CMM):人員能力成熟度模型,應用於人力資源管理。
爲了以示區別,常把CMM叫做SW-CMM。
同一個組織可能會應用多個過程改進模型,但多個過程改進模型的並存可能會引起衝突和混淆。
CMMI爲工業界和政府部門提供了一個集成的能力成熟度模型產品集,消除了不同模型之間的不一致和重複,降低了過程改進的成本。
CMMI覆蓋了軟件工程、系統工程、集成產品開發和系統採購,以更加系統和一致的框架來指導組織改善軟件過程,提高產品和服務的開發、獲取和維護能力。
CMMI 1.0版於2000年發佈,2002年又發佈了1.1版,2006年發佈了1.2版,2010年發佈了1.3版。
CMMI是目前世界公認的軟件產品進入國際市場的通行證。一般來說,通過CMMI認證的級別越高,就越容易獲得用戶的信任,在國內、國際市場上的競爭力也就越強。
2000年6月,國務院頒發了《鼓勵軟件產業和集成電路產業發展若干政策》,其中第17條中明確規定“鼓勵軟件出口型企業通過CMM認證,其費用通過中央外貿發展基金適當予以支持”。隨後各省市、高新區、軟件園都出臺了對通過CMM的企業給予資金獎勵的制度。

2.軟件過程成熟度

軟件過程成熟度指一個具體的軟件過程被明確和有效地定義、管理、度量、控制和實施的程度。
軟件組織成熟的過程是一個不斷改進、循序漸進的過程,而不是通過革命性的革新快速實現的。
不成熟組織與成熟組織的對比
在這裏插入圖片描述

3. CMMI中的成熟度等級

初始級: 軟件過程是 無序的,有時甚至是混亂的,對過程幾乎沒有定義,成功取決於個人努力。管理是反應式的。
已管理級: 建立了基本的項目管理過程來跟蹤費用、進度和軟件的功能特性。制定了必要的過程紀律,能重複早先類似應用項目取得的成功經驗。
已定義級: 已將軟件管理和工程兩方面的過程文檔化、標準化,並綜合成該組織的標準軟件過程。所有項目均使用經批准、剪裁的標準軟件過程來開發和維護軟件。
量化管理級: 分析軟件過程和產品質量的詳細度量數據,對軟件過程和產品都有定量的理解與控制。管理活動有一個作出結論的客觀依據,能夠在定量的範圍內預測性能。
優化管理級: 過程的量化反饋和先進的新思想、新技術促使過程持續不斷改進。 有能力識別軟件過程中的薄弱環節,並有足夠的手段改進它們,防止缺陷的產生。
CMMI是一個引導軟件組織不斷走向成熟的過程模型。

4.CMMI的關鍵過程域

每個成熟度等級(除了初始級)包含若干個關鍵過程域(Key Process Area,KPA)。
KPA表示當軟件組織改進軟件過程時必須集中精力解決的關鍵問題
一個組織要想達到某個成熟度等級,必須滿足該等級(以及較低等級)包含的KPA的所有要求,滿足每個KPA的所有目標。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

5.CMMI的能力等級

能力等級(Capability Level, CL)是指在一個單獨的過程域中執行的良好程度。
CMMI包括6個能力等級:
CL0,不完整級:過程域的一個或多個目標沒有被滿足。
CL1,已執行級:過程通過轉換可識別的輸入工作產品,產生可識別的輸出工作產品。能實現過程域的特定目標。
CL2,已管理級:過程作爲已管理的過程被制度化。
CL3,已定義級:過程作爲已定義的過程被制度化。
CL4,量化管理級:過程作爲量化管理的過程被制度化。
CL5,優化級:過程作爲優化的過程被制度化。

有關CMMI的說明

CMMI是什麼
CMMI指明該做什麼,但沒有指明如何做,它不是方法論,沒有給出特定應用領域內的專門技術。
CMMI是從軟件過程角度定義了成熟的軟件過程的實踐活動,但它並沒有涉及到軟件工程的所有方面,對於成熟的軟件組織而言,人的因素和技術的因素也同樣重要。
CMMI過程改進需要多長時間?有何效果?
統計數字表明:一般需要2年才能把成熟度提升一級(建議安排1.5年到2年)。
根據CMU-SEI的統計,軟件企業在引入CMM後勞動生產率平均增長了35%;錯誤比率平均減少39%;平均成本回報率爲5:1。

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