一、軟件能力成熟度模型(Capabilitymaturity model,CMM)
CMM是目前國際上使用流行的一種軟件生産過程行業标準模型,可定義、評價軟件開發過程的成熟度,并提供提高軟件質量的指導。
CMM模型分爲五級:初始級(1級)、可重複級(2級)、定義級(3級)、管理級(4級)、優化級(5級)共5個成熟度等級,低級别是實現高級别的基礎
二、五級特征
(1)初始級(initial)。
工作無序,項目進行過程中常放棄當初的計劃。
管理無章法,缺乏健全的管理制度。開發項目成效不穩定,項目成功主要依靠項目負責人的經驗和能力,他一但離去,工作秩序面目全非。
(2)可重複級(Repeatable)。
管理制度化,建立了基本的管理制度和規程,管理工作有章可循。
初步實現标準化,開發工作比較好地按标準實施。
變更依法進行,做到基線化,穩定可跟蹤,新項目計劃和管理基于過去實踐經驗,具有重複以前成功項目的環境和條件。
核心:建立基本的項目管理和實踐來跟蹤項目費用、進度和功能特性
(3)已定義級(Defined)。
許多組織追求的目标
開發過程,包括技術工作和管理工作,均已實現标準化、文檔化。
建立了完善的培訓制度和專家評審制度,全部技術活動和管理活動均可控制,對項目進行中的過程、崗位和職責均有共同的理解 。
核心:使用标準開發過程(或方法論)構建(或集成)系統
(4)已管理級(Managed)。
産品和過程已建立了定量的質量目标。
開發活動中的生産率和質量是可量度的。
已建立過程數據庫。
已實現項目産品和過程的控制。
可預測過程和産品質量趨勢,如預測偏差,實現及時糾正。
核心:管理層尋求更主動地應對系統的開發問題
(5)優化級(Optimizing)。
可集中精力改進過程,采用新技術、新方法。
擁有防止出現缺陷、識别薄弱環節以及加以改進的手段。
可取得過程有效性的統計數據,并可據進行分析,從而得出最佳方法。
核心:連續地監督和改進标準化的系統開發過程
關鍵過程域KPA
在 CMM中一共有 18 個關鍵過程域,分布在 2~5 級中。
CMM的第 2 級(可重複級)有 6 個關鍵過程域,主要涉及建立軟件項目管理控制方面的内容。
需求管理( Requirements Management , RM )
軟件項目計劃( Software Project Planning , SPP )
軟件項目跟蹤與監控( Software Project Tracking and Oversight , SPTO )
軟件子合同管理( Software Subcontract Management , SSM )
軟件質量保證( Software Quality Assurance , SQA )
軟件配置管理( Software Configuration Management , SCM )
CMM的第 3 級(定義級)有 7 個關鍵過程域,主要涉及項目和組織的策略。 使軟件組織建立起對項目中的有效計劃和管理過程的内部細節。組織過程焦點( Organization Process Focus , OPF )
組織過程定義( Organization Process Definition , OPD )
培訓程序( Training Program , TP )
集成軟件管理( Integrated Software Management , ISM
軟件産品工程( Software Product Engineering , SPE )
組間協調( Intergroup Coordination , IC )
同級評審( Peer Reviews , PR )
CMM的第 4 級(管理級)有 2 個關鍵過程域,主要的任務是爲軟件過程和軟件産品建立一種可以理解的定量的方式。
定量過程管理( Quantitative Process Management , QPM )
軟件質量管理( Software Quality Management , SQM )
CMM的第 5 級(優化級)有 3 個關鍵過程域,主要涉及的内容是軟件組織和項目中如何實現持續不斷的過程改進問題。缺陷預防( Defect Prevention , DP )
技術變更管理( Technology Change Management, TCM )
過程變更管理( Process Change Management , PCM )