CMM為企業(yè)的軟件過程能力提供了一個階梯式的進(jìn)化框架,階梯共有五級。第一級只是一個起點,任何準(zhǔn)備按CMM體系進(jìn)化的企業(yè)都自然處于這個起點上,并通過它向第二級邁進(jìn)。除第一級外,每一級都設(shè)定了一組目標(biāo),如果達(dá)到了這組目標(biāo),則表明達(dá)到了這個成熟級別,可以向下一級別邁進(jìn)。
第一級:初始級:
初始級的軟件過程是未加定義的隨意過程,項目的執(zhí)行是隨意甚至是混亂的。也許有些企業(yè)制定了一些軟件工程規(guī)范,但若這些規(guī)范未能覆蓋基本的關(guān)鍵過程要求,且執(zhí)行沒有政策、資源等方面的保證時,那么它仍然被視為初始級。
第二級:重復(fù)級:
根據(jù)多年的經(jīng)驗和教訓(xùn),人們總結(jié)出軟件開發(fā)的首要問題不是技術(shù)問題而是管理問題。因此,第二級的焦點集中在軟件管理過程上。一個可管理的過程則是一個可重復(fù)的過程,可重復(fù)的過程才能逐漸改進(jìn)和成熟??芍貜?fù)級的管理過程包括了需求管理、項目管理、質(zhì)量管理、配置管理和子合同管理五個方面;其中項目管理過程又分為計劃過程和跟蹤與監(jiān)控過程。通過實施這些過程,從管理角度可以看到一個按計劃執(zhí)行的且階段可控的軟件開發(fā)過程。
第三級:定義級:
在可重復(fù)級定義了管理的基本過程,而沒有定義執(zhí)行的步驟標(biāo)準(zhǔn)。在第三級則要求制定企業(yè)范圍的工程化標(biāo)準(zhǔn),并將這些標(biāo)準(zhǔn)集成到企業(yè)軟件開發(fā)標(biāo)準(zhǔn)過程中去。所有開發(fā)的項目需根據(jù)這個標(biāo)準(zhǔn)過程,裁剪出與項目適宜的過程,并且按照過程執(zhí)行。過程的裁剪不是隨意的,在使用前必須經(jīng)過企業(yè)有關(guān)人員的批準(zhǔn)。
第四級:管理級:
第四級的管理是量化的管理。所有過程需建立相應(yīng)的度量方式,所有產(chǎn)品的質(zhì)量(包括工作產(chǎn)品和提交給用戶的最終產(chǎn)品)需要有明確的度量指標(biāo)。這些度量應(yīng)是詳盡的,且可用于理解和控制軟件過程和產(chǎn)品。量化控制將使軟件開發(fā)真正成為一種工業(yè)生產(chǎn)活動。
第五級:優(yōu)化級:
優(yōu)化級的目標(biāo)是達(dá)到一個持續(xù)改善的境界。所謂持續(xù)改善是指可以根據(jù)過程執(zhí)行的反饋信息來改善下一步的執(zhí)行過程,即優(yōu)化執(zhí)行步驟。如果企業(yè)達(dá)到了第五級,就表明該企業(yè)能夠根據(jù)實際的項目性質(zhì)、技術(shù)等因素,不斷調(diào)整軟件生產(chǎn)過程以求達(dá)到最佳。