CMM是優雅的
這個完美的分段式結構在CMMI中繼續采用,并且更加精致和完善。
CMM的結構主要包括如下幾部分。
結構 |
說明 |
等級 | CMM劃分為五個等級,描述了每個等級的組織過程特征,每個等級代表一種組織的過程能力等級;指明了組織級過程改進的整體策略(關注于那些過程域) |
關鍵過程域 | |
目標 | 每個過程域均有自己的目標,這些目標用于支持過程能力等級特征 |
關鍵實踐 | 組成一個過程域的活動,從邏輯上描述了實現這個過程域目標必須或者推薦執行的活動;屬于具體的操作指導 |
公共特性 | 關鍵實踐按照公共特性被組織起來,這些公共特性反映了過程有效執行的特征 |
下面對CMM結構的各個組成部分分別進行說明。
CMM的等級劃分
Crosby(克羅斯比)最早在《質量是免費》中提出了管理過程等級的劃分,也是為五級。
CMM基于全面質量管理的理論,參照當時軟件工程的實踐將過程能力劃分為五個等級,用于評估一個軟件組織的過程成熟度。
每個成熟度等級說明了組織軟件開發過程的特征,如下:
等級 |
等級特征 |
等級一 | |
等級二 | 有紀律的,可以重復以前項目的成功經驗,實現部分的可視性 |
等級三 | 項目活動是標準和一致的,不同項目采用相同的標準,從而保持穩定的性能 |
等級四 | 對過程建立了度量,性能只在一定范圍內變動,從而可以進行有效的預測 |
等級五 | 為了提高過程能力不斷進行改進活動,并可以度量其結果 |
管理內容 能力等級 |
組織過程管理 |
定量管理 |
不斷改進 | |
等級一:初始 | ||||
等級二:可重復 | ||||
等級三:已定義 | ||||
等級四:定量管理 | ||||
等級五:不斷改進 |
類別 |
過程域 |
管理過程 |
項目管理:需求管理、軟件項目策劃、軟件項目跟蹤和監督、軟件子合同管理、 集成軟件管理、組間協調、定量過程管理 |
支持:軟件配置管理、軟件質量保證 | |
組織過程 |
組織過程焦點、組織過程定義、培訓大綱、定量過程管理 |
工程過程 | 軟件產品工程、同行評審、軟件質量管理、缺陷預防 |
目標
每個關鍵過程域包括兩個或者四個的目標;這些目標用于描述這個關鍵過程域的意義和價值,是對過程進行評價和改進的標準;在某個等級上所有關鍵過程域的目標集合構成了這個等級的特征;每個目標均有一組關鍵實踐用于實現這個目標,可以說目標是關鍵實踐的選擇依據,作為評估標準具有如下作用:
目標用來確定一個機構或項目組是否有效地執行了該KPA
目標概述了該KPA包括的關鍵實踐(KP)
在為適應關鍵實踐而采取選擇時,目標能用來確定這種適應是否有效
公共特性
五個公共特性:方針、能力、活動、測量、驗證
這是企業管理的五個主要環節;一個好的管理要建立大政“方針”的明確承諾和要求、要提供必要的資源和“能力”,這樣才能進行必要的“活動”,要“驗證”活動被執行(類似于QA),要對活動進行“測量”保證了解活動的情況和質量(類似于QC)。

公共特性 |
中文 |
說明 |
CO | 執行承諾 | 要怎樣? |
AB | 能力 | 能做到嗎? |
AC | 活動 | 做什么? |
VE | 驗證 | 做了沒有? |
ME | 測量 | 做的怎樣? |
活動:實現某個關鍵過程域所必需的崗位、活動(按照計劃或按照規程活動)、產品等。
驗證:監督管理過程的活動,一般包括高級管理者、項目經理、SQA的進度管理
測量:說明這個過程活動的狀態和質量的信息。
關鍵實踐 (KP)
在關鍵過程域的目標之下,有一組相關聯的關鍵實踐(Key Practices),這些關鍵實踐是評價一個組織過程能力的某種指示器,可以基本等價的說明過程能力。
一個過程域的所有關鍵實踐按照公共特性組織起來;這些關鍵實踐一般情況下是達到目標所必要的;因為CMM是作為評估標準出現的,所以是“必要”的才能保證評估的標準。子實踐和說明中,羅列了較多的推薦的最佳實踐。
關鍵實踐的幾個特點:
描述了對有效執行和制度化該KPA起主要作用的從屬活動和基礎構造
因為CMM是作為評估標準出現的,所以規定做什么,而不去規定如何實現
實現該KPA的目標所允許做的實踐活動
基于過程模型(CMM)的改進
CMM模型的過程改進價值
過程改進是從全面質量管理理論中派生出來的;基礎是建立穩定的過程、分析過程、改進過程;目標是增進過程效率和過程質量;通過過程度量的手段(統計過程控制),來量化過程、進行控制,進行預測。
CMM的框架結構具有雙重屬性。一方面,它是描述性的模型,這點可以從它對那些當一個企業處于某一個特定的能力成熟度級別時所要求具備的必不可少的各種特性的描述看出。另一方面,它又是指示性的模型,這點可以從它以詳細的實踐活動來說明一個正在執行政府大規模軟件合同的企業在處于某一個特定的能力成熟度級別時的特征的表達方式看出來。 CMM這種雙重屬性的目的是要有意的使它處于一個適當的抽象程度,從而避免不適當地限制一個企業如何去改進它的軟件過程。CMM只描述軟件過程改進要進行哪些方面的行動,要滿足那些目標,但卻不指定具體怎樣去做。盡管軟件機構可以用不同的方式實現CMM。但是要將CMM的提出的特性與軟件開發中現有的過程聯系起來是相當困難的。我們在使用CMM時必須牢記這個特點:CMM只指明要做什么,但不規定如何去做。因此我們可以選用我們認為最適當的辦法去完成所要求做的事。
過程模型集合了領域內必要實踐、補充了最佳實踐,并指明了改進的先后順序。所以可以認為CMM對過程改進提供了足夠的支持和幫助
過程改進路徑說明
首先分析各個等級之間的差距和區別,然后明確向更高等級改進的主要方面,并結合CMM的關鍵過程域就可以得到過程改進的基本路徑了。
過程能力描述如下:
管理內容 能力等級 |
項目管理 |
組織過程管理 |
定量管理 |
不斷改進 |
等級一:初始 | ||||
等級二:可重復 | ||||
等級三:已定義 | ||||
等級四:定量管理 | ||||
等級五:不斷改進 |
路徑 |
說明 |
一級到二級 | 加強項目管理,實施支持過程 |
二級到三級 | 根據項目管理的經驗,建立、穩定組織標準過程 |
三級到四級 | 在標準過程基礎上建立針對性的度量體系;度量、穩定過程性能 |
四級到五級 | 根據度量的結果進行不斷的改進 |
廣泛實施,成功應用
作為美國國防部(BOB)評估軟件供應商的標準,作用顯著。
后來發現標準本身所明確的要求也是企業進行改進的良好指南。
標準一旦可被確定,那么標準本身也就是進行改進的指南。
作為過程改進的指南發揮更加廣泛用途,影響深遠。
理解CMM需要注意以下問題
它僅指明該做的關鍵內容,僅描述軟件過程的本質屬性,而并非面面俱到。抓問題的主要方面的思想貫穿在整個CMM模型中
它是從軟件過程的角度考慮問題,而并非關注軟件開發工具,與框架軟件生存周期無關,也與所采用的開發技術無關
CMM為改善整個企業的軟件過程提供了指南,而并非針對某個具體項目。CMM并不能保證在這個過程框架下,產品開發百分之百的成功。產品的成功是多種因素的組合,例如市場等因素
CMM1.1是針對大型軟件企業(500人以上)的,對小型的軟件企業(50人以下)需要裁減
CMM認為過程的不斷改進基于許多小的、步驟的進化而不是革命性的創新
基于CMM的過程改善投資力度大、周期長,而技術投資則可能在短期內有較快回報。單獨依靠技術改進可能在短期內取得較快回報,但最終可能一無所獲。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/