CMMI: Capability Maturity Model Integration,軟件能力成熟度模型集成,由美國國防部與卡內基-梅隆大學和美國國防工業協會共同開發和研制,其目的是幫助企業對軟件工程過程進行管理和改進,增強開發與改進能力,從而能按時地、不超預算地開發出高質量的軟件,并提高企業績效。 CMMI的本質是軟件管理工程的一個部分,是一個過程改進方法。采用能力模型來指導組織的過程改進,使之過程能力穩定地進行改善,組織也變得更加成熟。 目前CMMI最新版本為V1.3版本。 CMMI分五個級別: CMMI Level 1,完成級; CMMI Level 2,管理級; CMMI Level 3,定義級; CMMI Level 4,量化管理級; CMMI Level 5,優化級。 CMMI是在CMM模型不能滿足當下的需求情況下產生的,CMMI能對不同CMM模型進行整合。1997 年,美國聯邦航空管理局(FAA)開發了FAA-iCMMSM(聯邦航空管理局的集成CMM),該模型集成了適用于系統工程的SE-CMM、軟件獲取的SA-CMM 和軟件的SW-CMM 三個模型中的所有原則、概念和實踐。該模型被認為是第一個集成化的模型。
CMMI 與CMM 最大的不同點在于:CMMISM-SE/SW/IPPD/SS 1.1 版本有四個集成成分,即:系統工程(SE)和軟件工程(SW)是基本的科目,對于有些組織還可以應用集成產品和過程開發方面(IPPD)的內容,如果涉及到供應商外包管理可以相應的應用SS(Supplier Sourcing)部分。
CMMI 有兩種表示方法,一種是大家很熟悉的,和軟件CMM 一樣的階段式表現方法,另一種是連續式的表現方法。這兩種表現方法的區別是:階段式表現方法仍然把CMMI 中的若干個過程區域分成了5 個成熟度級別,幫助實施CMMI 的組織建議一條比較容易實現的過程改進發展道路。而連續式表現方法則通過將CMMI 中過程區域分為四大類:過程管理、項目管理、工程以及支持。對于每個大類中的過程區域,又進一步分為基本的和高級的。這樣,在按照連續式表示方法實施CMMI的時候,一個組織可以把項目管理或者其他某類的實踐一直做到最好,而其他方面的過程區域可以完全不必考慮。
CMMI各個進程的關鍵元素:CMMI自出道以來,它所達到的目標就沒有變過,第一個是質量,第二個是時間表,第三就是要用最低的成本。不過特別強調的是,CMMI不是傳統的、僅局限于軟件開發的生命周期,它應該被運用于更廣泛的一個范疇——工程設計的生命周期。TSP的建立,也是為了支持CMMI的這樣一個系統。那么CMMI究竟是什么呢?它并不是一個過程,也不是告訴你怎么去做一件事情。如果用一句話來概括什么是CMMI,它就是各個進程的一個關鍵的元素,在很多領域里面一個集成的點。它是這樣的一個基本架構,能夠用來度量你的有效性和實用性;能夠找出這樣的一些機會,繼續改進的機會,包括在商業目標、策略還有降低項目的風險等方面。
實施CMMI的意義:很多人認為,實施CMMI的意義在于項目工程走向世界,可以在西方國家接到訂單。實際上,這只是我國企業實施CMMI的意義的很小一部分。更為重要的意義則是,CMMI的實施能夠提高我國企業的管理水平。降低企業的工程成本。事實表明,企業實施CMMI技術的投入都會得到豐厚的回報。據SEI統計,用于軟件項目上的CMMI的投資,其回報率在5:1到8:1之間。由此可見,為什么這么多的企業紛紛實施CMMI項目管理技術。 |