CMMI-DEV簡介
CMMI-DEV是基於CMMI發展出來的開發專用規範指引,以下將分別介紹何謂CMMI、CMMI的目的,一直談到CMMI-DEV有哪些成熟度等級等等。
CMMI 指的是能力成熟度整合模式(Capability Maturity Model Integration : CMMI),是美國國防部委託卡內基美隆大學軟體工程學院
(Software Engineer Institute : SEI)所發展的,目前有以下版本問市
(Software Engineer Institute : SEI)所發展的,目前有以下版本問市
- v1.1: 2002年問世,為CMMI的第一個版本
- v1.2: 2006年問世
- v1.3: 2010年問世,為最後一版免費版本,並包含DEV/SVC/ACQ等三個版本
- v2.0: 2018年問世,但開始要收費了,所以我也拿不到相關細節,也因此大家大都還是以v1.3為主要參考內容
CMMI分為三個分部
- CMMI-DEV: 軟體開發指引
- CMMI-SVC: 服務提供引
- CMMI-ACQ: 採購指引
大家主要說的CMMI還是以CMMI-DEV為主,以下也以CMMI-DEV v1.3為主要介紹內容,參考文件則為資策會翻譯的CMMI-DEV v1.3中文版,英文版的CMMI-DEV v1.3下載網頁在 https://resources.sei.cmu.edu/library/asset-view.cfm?assetID=9661 ,中文版則可以由 http://www.tisa.org.tw/uploads/file/CMMI-DEV_1-3_-Chinese-v7.pdf 直接下載。
CMMI-DEV分為五個成熟等級(ML:Maturity Level),其實還有一個能力等級(Capability Level),但一般還是以ML為主,因為CL只定義0-3,並未完全涵蓋所有等級,不過在PA定義中又與CL相關,不過這邊先介紹ML
- ML1 Initial 初始級:只要你有寫程式就是ML1,他代表你開發軟體,但完全放棄流程
- ML2 Managed 管理級:開發有依照流程進行,會進行監督與管控
- ML3 Defined 調適級:在ML2基礎上,進一步建立與改善組織標準流程,ML3簡單來說就是ML2更嚴謹的定義
- ML4 Quantitatively Managed 量化管理級:將管理量化讓績效可以持續改進
- ML5 Optimizing 最佳化級:組織根據對於企業目標及績效需求的量化瞭解,並持續改善流程

台灣之前有些公司有到ML4/ML5,但這幾年通通降到ML3了,主要是台灣的環境並不容易執行ML4/ML5,而ML3涵蓋了軟體工程最基礎的範疇。
接下來介紹幾個專有名詞:
- PA – Process Area:定義各個ML等級所涵蓋的領域,例如PP、VAL等等領域,每一個領域都是一個專門的流程
- SG – Specific Goal:每個PA都會有幾個主要的目標,就做SG
- SP – Specific Practice:每個SG都會有幾個執行方法,就叫SP


接下來大概介紹一下所有的PA,至於各PA的SG和SP就不在本文說明了,先把所有PA做整理並簡單說明
流程領域 | 說明 | 類別 | 成熟度等級 |
原因分析與解決方案(CAR) | 顧名思義,就是針對問題的原因做分析並提出解決方案 | 支援 | 5 |
建構管理(CM) | 建立識別紀錄,簡單來說就是要做版控 | 支援 | 2 |
決策分析與解決方案(DAR) | 針對方案做評估,建立方案評估表以採用最有利的方案執行專案 | 支援 | 3 |
整合的專案管理(IPM) | 除了針對專案進行管理還要整合全公司的所有資源,也就是要做跨部門的專案管理 | 專案管理 | 3 |
度量與分析(MA) | 這就是要針對流程領域的執行效率做出標準的度量機制並分析其成效 | 支援 | 2 |
組織流程定義(OPD) | 建立流程資產,也就是說要對組織的所有流程做出完整定義並且建立保存方法 | 流程管理 | 3 |
組織流程專注(OPF) | 持續了解當前流程的優缺點以進行後續改善 | 流程管理 | 3 |
組織績效管理(OPM) | 管理組織績效以滿足經營目標 | 流程管理 | 5 |
組織流程績效(OPP) | 將組織績效做出量化 | 流程管理 | 4 |
組織訓練(OT) | 發展訓練計畫與訓練內容 | 流程管理 | 3 |
產品整合(PI) | 將產品元件組成可發行產品 | 工程 | 3 |
專案監控(PMC) | 定期監控專案進度並隨時調整策略以增進專案效率 | 專案管理 | 2 |
專案規劃(PP) | 進行專案規劃,最重要的產出就是專案管理計畫書 | 專案管理 | 2 |
流程與產品品質保證(PPQA) | 也就是進行QA以確保流程和產品的品質 | 支援 | 2 |
量化專案管理(QPM) | 用量化的方式進行專案管理 | 專案管理 | 4 |
需求發展(RD) | 引導客戶並發展出真正客戶需求,主要產出需求確認書 | 工程 | 3 |
需求管理(REQM) | 確保需求與產出的一致性,產出為雙向需求追溯表 | 專案管理 | 2 |
風險管理(RSKM) | 管理風險並避免風險發生,並計畫風險發生時的因應策略,主要產出為風險管控表 | 專案管理 | 3 |
供應商協議管理(SAM) | 與供應商的協議管理,也就是採購管理 | 專案管理 | 2 |
技術解決方案(TS) | 規劃技術解決方案,主要產出為系統分析書與系統設計書 | 工程 | 3 |
確認(VAL) | 確認產品可以在預期的環境中正確執行並滿足客戶需求,這比較接近UAT,要與客戶確認是否符合需求 | 工程 | 3 |
驗證(VER) | 這個指的是內部測試,根據測試案例產出測試報告書 | 工程 | 3 |
以上為CMMI-DEV的簡單介紹,但CMMI-DEV是個很廣的知識領域,有機會再細談各個PA吧。
您可以參考本站相關文章 軟體開發評估流程簡介、軟體開發人天成本的計算方法等文章
也可以參考我的課程『資訊工程兩三事』
文章出處:CMMI-DEV簡介
留言
張貼留言