CMMI的背景
CMM的成功促使其他學科也相繼開發類似的過程改進模型,例如系統工程、需求工程、
人力資源、集成產品開發、軟件采購等等,從CMM衍生出了一些改善模型,比如:
(1) SW-CMM (Software CMM) 軟件CMM
(2) SE-CMM (System Engineering CMM) 系統工程CMM
(3) SA-CMM (Software Acquisition CMM) 軟件采購CMM
(4) IPT-CMM (Integrated Product Team CMM) 集成產品群組CMM
(5) P-CMM (People CMM) 人力資源能力成熟度模型
為了以示區別,國內外很多資料把CMM叫做SW-CMM。按照SEI原來的計劃,CMM的改進版本2.0應該在1997年11月完成,然后在取得版本2.0得實踐反饋意見之后,在1999年完成準CMM2.0版本。
但是,美國國防部辦公室要求SEI推遲發布CMM2.0版本,而要先完成一個更為緊迫的項目CMMI,原因是在同一個組織中多個過程改進模型的存在可能會引起沖突和混淆, CMMI就是為了解決怎么保持這些模式之間的協調。
CMMI(Capability Maturity Model Integration)即能力成熟度集成模型,這是美國國防部的一個設想,他們想把現在所有的以及將被發展出來的各種能力成熟度模型,集成到一個框架中去。這個框架有兩個功能,第一,軟件采購方法的改革;第二,建立一種從集成產品與過程發展的角度出發、包含健全的系統開發原則的過程改進。就軟件而言,CMMI是SW-CMM的修訂本。
它兼收了SW-CMM 2.0版C稿草案和SPA中更合理、更科學和更周密的優點。SEI在發表CMMI-SE/SW 1.0版時,宣布大約用兩年的時間完成從CMM到CMMI的過渡。
CMMI項目更為工業界和政府部門提供了一個集成的產品集,其主要目的是消除不同模型之間的不一致和重復,降低基于模型改善的成本。CMMI將以更加系統和一致的框架來指導組織改善軟件過程,提高產品和服務的開發、獲取和維護能力。
由業界、美國政府和卡內基?梅隆大學軟件工程研究所率先倡導的能力成熟度模型集成(CMMI)項目致力于幫助企業緩解這種困境。CMMI為改進一個組織的各種過程提供了一個單一的集成化框架,新的集成模型框架消除了各個模型的不一致性,減少了模型間的重復,增加透明度和理解,建立了一個自動的、可擴展的框架。因而能夠重總體上改進組織的質量和效率。CMMI主要關注點就是成本效益、明確重點、過程集中和靈活性四個方面。
與原有的能力成熟度模型類似,CMMI也包括了在不同領域建立有效過程的必要元素,反映了業界普遍認可的"最佳"實踐;專業領域覆蓋軟件工程、系統工程、集成產品開發和系統采購。在此前提下,CMMI為企業的過程構建和改進提供了指導和框架作用;同時為企業評審自己的過程提供了可參照的行業基準。
2、CMMI的源模型
軟件能力成熟度模型2.0版,C稿;電子行業協會臨時標準(EIA/IS)731;集成產品開發能力成熟度模型(IPD-CMM)v0.98。
3、CMMI的原則
(1)、 強調高層管理者的支持。過程改進往往也是由高層管理者認識和提出的,大力度的、一致的支持是過程改進的關鍵。
(2)、 仔細確定改進目標,首先應該對給定時間內的所能完成的改進目標進行正確的估計和定義并制定計劃。選擇能夠達到的目標和能夠看到對組織的效益。
(3)、 選擇最佳實踐,應該基于組織現有的軟件活動和過程財富,參考其他標準模型,取其精華去其糟粕,得到新的實踐活動模型。
(4)、 過程改進要與組織的商務目標一致,與發展戰略緊密結合。
4、CMMI目標
(1)、 為提高組織過程和管理產品開發、發布和維護能力提供保障。
(2)、 幫助組織客觀評價自身能力成熟度和過程域能力,為過程改進建立優先級以及執行過程改進。
5、CMMI的方法
(1)、決定哪個CMMI模型等級最適合組織過程改進需要。
(2)、 選擇模型的表示法是連續式還是階段式。
(3)、 決定組織需要用到的模型中的知識領域。
(4)、 類似CMM提出的過程改進6步,集成化過程改進分成:開始集成過程改進,建造集成改善平臺,集成傳統過程,啟動新過程,進行改進評估。
6、CMMI內容
CMMI內容分為“Required”(必需的)、“Expected”(期望的)、“Informative”(提供信息的)三個級別,來衡量模型包括的質量重要性和作用。最重要的是"要求"級別,是模型和過程改進的基礎。第二級別"期望"在過程改進中起到主要作用,但是某些情況不是必須的可能不會出現在成功的組織模型中。 "提供的信息"構成了模型的主要部分,為過程改進提供了有用的指導,在許多情況下他們對需要和期望的構件做了進一步說明。
"要求"的模型構件是目標,代表了過程改進想要達到的最終狀態,它的實現表示了項目和過程控制已經達到了某種水平。當一個目標對應一個關鍵過程域,就稱為"特定目標";對應整個關鍵過程域就稱為"公用目標"。整個CMMI模型包括了54個特定目標,每個關鍵過程域都對應了一到四個特定目標。每個目標的描述都是非常簡捷的,為了充分理解要求的目標就是擴展"期望"的構件。
"期望"的構件是方法,代表了達到目標的實踐手段和補充認識。每個方法都能映射到一個目標上,當一個方法對一個目標是唯一就是"特定方法";而能適用于所有目標時就是"公用方法"。CMMI模型包括了186個特定方法,每個目標有兩到七個方法對應。
CMMI包括了10種"提供的信息":目的,概括和總結了關鍵過程域的特定目標;介紹說明,介紹關鍵過程域的范圍、性質和實際方法和影響等特征;引用,關鍵過程域之間的指向是通過引用;名字,表示了關鍵過程域的構件;方法和目標關系,關鍵過程域中方法映射到目標的關系表;注釋,注釋關鍵過程域的其他模型構件的信息來源;典型工作產品集,定義關鍵過程域中執行方法時候產生的工作產品;子方法,通過方法活動的分解和詳細描述;學科擴充,CMMI對應學科是獨立的,這里提供了對應特定學科的擴展;公用方法的詳細描述,關鍵過程域中公用方法應用實踐的詳細描述。
CMMI提供了階段式和連續式兩種表示方法,但是這兩種表示法在邏輯上是等價的。我們熟悉的SW-CMM軟件能力成熟模型就是是階段式的模型,SE-CMM系統工程模型是連續式模型,而IPD-CMM集成產品開發模型結合了階段式和連續式兩者的特點。
階段式方法將模型表示威一系列"成熟度等級"階段,每個階段都有一組KPA指出一個組織應集中于何處以改善其組織過程,每個KPA用滿足其目標的方法來描述,過程改進通過在一個特定的成熟度等級中滿足所有KPA的目標而實現的。
連續式模型沒有像階段式那樣的分散階段,模型的KPA中的方法是當KPA的外部形式,并可應用于所有的KAP中,通過實現公用方法來改進過程。它不專門指出目標,而是強調方法。組織可以根據自身情況適當裁剪連續模型并以確定的KPA為改進目標。
兩種表示法的差異反應了為每個能力和成熟度等級描述過程而使用的方法,他們雖然描述的機制可能不同,但是兩種表示方法通過采用公用的目標和方法作為需要的和期望的模型元素,而達到了相同的改善目的。
現在CMMI面臨的一個挑戰就是創建一個單一的模型,可以從連續和階段兩個角度進行觀察,包含相同的過程改進基本信息;處理相同范圍的一個CMMI過程能夠產生相同的結論。統一的CMMI(U-CMMI)是指產生一個只有公用方法和支持他們的KPA組成的模型。當按一種概念性的可伸展的方式編寫,并產生了用于定義組織的特定目標過程模版,定義的模版構件將定義一個模型以適用于任何工程或其他方面。
CMMI與CMM差別:
CMMI 模型的前身是 SW-CMM 和 SE-CMM,前者就是我們指的CMM。CMMI與SW-CMM的主要區別就是覆蓋了許多領域;到目前為止包括四個下面領域:
(1)、軟件工程(SW-CMM)
軟件工程的對象是軟件系統的開發活動,要求實現軟件開發、運行、維護活動系統化、制度化、量化。
(2)、系統工程(SE-CMM)
系統工程的對象是全套系統的開發活動,可能包括也可能不包括軟件。系統工程的核心是將客戶的需求、期望和約束條件轉化為產品解決方案,并對解決方案的實現提供全程的支持。
(3)、集成的產品和過程開發(IPPD-CMM)
集成的產品和過程開發是指在產品生命周期中,通過所有相關人員的通力合作,采用系統化的進程來更好地滿足客戶的需求、期望和要求。如果項目或企業選擇IPPD進程,則需要選用模型中所有與IPPD相關的實踐。
(4)、采購(SS-CMM)
采購的內容適用于那些供應商的行為對項目的成功與否起到關鍵作用的項目。主要內容包括:識別并評價產品的潛在來源、確定需要采購的產品的目標供應商、監控并分析供應商的實施過程、評價供應商提供的工作產品以及對供應協議很供應關系進行適當的調整。
在以上模塊中,企業可以選擇軟件工程,或系統工程,也可以都選擇。集成的產品和過程開發和采購主要是配合軟件工程和系統工程的內容使用。例如,純軟件企業可以選擇CMMI中的軟件工程的內容;設備制造企業可以選擇系統工程和采購;集成的企業可以選擇軟件工程、系統工程和集成的產品和過程開發。CMMI中的大部分內容是適用各不同領域的,但是實施中會有顯著的差別,因此模型中提供了"不同領域應用詳解"。
CMM的基于活動的度量方法和瀑布過程的有次序的、基于活動的管理規范有非常密切的聯系,更適合瀑布型的開發過程。而CMMI相對CMM更一步支持迭代開發過程和經濟動機推動組織采用基于結果的方法:開發業務案例、構想和原型方案;細化后納入基線結構、可用發布,最后定為現場版本的發布。雖然CMMI保留了基于活動的方法,它的確集成了軟件產業內很多現代的最好的實踐,因此它很大程度上淡化了和瀑布思想的聯系。
在 CMMI 模型中在保留了CMM階段式模式的基礎上,出現了連續式模型,這樣可以幫助一個組織以及這個組織的客戶更加客觀和全面的了解它的過程成熟度。同時,連續模型的采用可以給一個組織在進行過程改進的時候帶來更大的自主性,不用再象CMM 中 一樣,受到等級的嚴格限制。這種改進的好處是靈活性和客觀性強,弱點在于由于缺乏指導,一個組織可能缺乏對關鍵過程域之間依賴關系的正確理解而片面的實施過程,造成一些過程成為空中樓閣,缺少其他過程的支撐。兩種表現方式(連續的和階段的)從他們所涵蓋的過程區域上來說并沒有不同,不同的是過程區域的組織方式以及對成熟度(能力)級別的判斷方式。
CMMI 模型中比CMM 進一步強化了對需求的重視。在CMM 中,關于需求只有需求管理這一個關鍵過程域,也就是說,強調對有質量的需求進行管理,而如何獲取需求則沒有提出明確的要求。在CMMI的階段模型中,3 級有一個獨立的關鍵過程域叫做需求開發,提出了對如何獲取優秀的需求的要求和方法。CMMI 模型對工程活動進行了一定的強化。在CMM中,只有3級中的軟件產品工程和同行評審兩個關鍵過程域是與工程過程密切相關的,而在CMMI中,則將需求開發,驗證,確認,技術解決方案,產品集成這些工程過程活動都作為單獨的關鍵過程域進行了要求,從而在實踐上提出了對工程的更高要求和更具體的指導。CMMI中還強調了風險管理。不像在CMM 中把風險的管理分散在項目計劃和項目跟蹤與監控中進行要求,CMMI3級里單獨提出了一個獨立的關鍵過程域叫做風險管理。
人力資源、集成產品開發、軟件采購等等,從CMM衍生出了一些改善模型,比如:
(1) SW-CMM (Software CMM) 軟件CMM
(2) SE-CMM (System Engineering CMM) 系統工程CMM
(3) SA-CMM (Software Acquisition CMM) 軟件采購CMM
(4) IPT-CMM (Integrated Product Team CMM) 集成產品群組CMM
(5) P-CMM (People CMM) 人力資源能力成熟度模型
為了以示區別,國內外很多資料把CMM叫做SW-CMM。按照SEI原來的計劃,CMM的改進版本2.0應該在1997年11月完成,然后在取得版本2.0得實踐反饋意見之后,在1999年完成準CMM2.0版本。
但是,美國國防部辦公室要求SEI推遲發布CMM2.0版本,而要先完成一個更為緊迫的項目CMMI,原因是在同一個組織中多個過程改進模型的存在可能會引起沖突和混淆, CMMI就是為了解決怎么保持這些模式之間的協調。
CMMI(Capability Maturity Model Integration)即能力成熟度集成模型,這是美國國防部的一個設想,他們想把現在所有的以及將被發展出來的各種能力成熟度模型,集成到一個框架中去。這個框架有兩個功能,第一,軟件采購方法的改革;第二,建立一種從集成產品與過程發展的角度出發、包含健全的系統開發原則的過程改進。就軟件而言,CMMI是SW-CMM的修訂本。
它兼收了SW-CMM 2.0版C稿草案和SPA中更合理、更科學和更周密的優點。SEI在發表CMMI-SE/SW 1.0版時,宣布大約用兩年的時間完成從CMM到CMMI的過渡。
CMMI項目更為工業界和政府部門提供了一個集成的產品集,其主要目的是消除不同模型之間的不一致和重復,降低基于模型改善的成本。CMMI將以更加系統和一致的框架來指導組織改善軟件過程,提高產品和服務的開發、獲取和維護能力。
由業界、美國政府和卡內基?梅隆大學軟件工程研究所率先倡導的能力成熟度模型集成(CMMI)項目致力于幫助企業緩解這種困境。CMMI為改進一個組織的各種過程提供了一個單一的集成化框架,新的集成模型框架消除了各個模型的不一致性,減少了模型間的重復,增加透明度和理解,建立了一個自動的、可擴展的框架。因而能夠重總體上改進組織的質量和效率。CMMI主要關注點就是成本效益、明確重點、過程集中和靈活性四個方面。
與原有的能力成熟度模型類似,CMMI也包括了在不同領域建立有效過程的必要元素,反映了業界普遍認可的"最佳"實踐;專業領域覆蓋軟件工程、系統工程、集成產品開發和系統采購。在此前提下,CMMI為企業的過程構建和改進提供了指導和框架作用;同時為企業評審自己的過程提供了可參照的行業基準。
2、CMMI的源模型
軟件能力成熟度模型2.0版,C稿;電子行業協會臨時標準(EIA/IS)731;集成產品開發能力成熟度模型(IPD-CMM)v0.98。
3、CMMI的原則
(1)、 強調高層管理者的支持。過程改進往往也是由高層管理者認識和提出的,大力度的、一致的支持是過程改進的關鍵。
(2)、 仔細確定改進目標,首先應該對給定時間內的所能完成的改進目標進行正確的估計和定義并制定計劃。選擇能夠達到的目標和能夠看到對組織的效益。
(3)、 選擇最佳實踐,應該基于組織現有的軟件活動和過程財富,參考其他標準模型,取其精華去其糟粕,得到新的實踐活動模型。
(4)、 過程改進要與組織的商務目標一致,與發展戰略緊密結合。
4、CMMI目標
(1)、 為提高組織過程和管理產品開發、發布和維護能力提供保障。
(2)、 幫助組織客觀評價自身能力成熟度和過程域能力,為過程改進建立優先級以及執行過程改進。
5、CMMI的方法
(1)、決定哪個CMMI模型等級最適合組織過程改進需要。
(2)、 選擇模型的表示法是連續式還是階段式。
(3)、 決定組織需要用到的模型中的知識領域。
(4)、 類似CMM提出的過程改進6步,集成化過程改進分成:開始集成過程改進,建造集成改善平臺,集成傳統過程,啟動新過程,進行改進評估。
6、CMMI內容
CMMI內容分為“Required”(必需的)、“Expected”(期望的)、“Informative”(提供信息的)三個級別,來衡量模型包括的質量重要性和作用。最重要的是"要求"級別,是模型和過程改進的基礎。第二級別"期望"在過程改進中起到主要作用,但是某些情況不是必須的可能不會出現在成功的組織模型中。 "提供的信息"構成了模型的主要部分,為過程改進提供了有用的指導,在許多情況下他們對需要和期望的構件做了進一步說明。
"要求"的模型構件是目標,代表了過程改進想要達到的最終狀態,它的實現表示了項目和過程控制已經達到了某種水平。當一個目標對應一個關鍵過程域,就稱為"特定目標";對應整個關鍵過程域就稱為"公用目標"。整個CMMI模型包括了54個特定目標,每個關鍵過程域都對應了一到四個特定目標。每個目標的描述都是非常簡捷的,為了充分理解要求的目標就是擴展"期望"的構件。
"期望"的構件是方法,代表了達到目標的實踐手段和補充認識。每個方法都能映射到一個目標上,當一個方法對一個目標是唯一就是"特定方法";而能適用于所有目標時就是"公用方法"。CMMI模型包括了186個特定方法,每個目標有兩到七個方法對應。
CMMI包括了10種"提供的信息":目的,概括和總結了關鍵過程域的特定目標;介紹說明,介紹關鍵過程域的范圍、性質和實際方法和影響等特征;引用,關鍵過程域之間的指向是通過引用;名字,表示了關鍵過程域的構件;方法和目標關系,關鍵過程域中方法映射到目標的關系表;注釋,注釋關鍵過程域的其他模型構件的信息來源;典型工作產品集,定義關鍵過程域中執行方法時候產生的工作產品;子方法,通過方法活動的分解和詳細描述;學科擴充,CMMI對應學科是獨立的,這里提供了對應特定學科的擴展;公用方法的詳細描述,關鍵過程域中公用方法應用實踐的詳細描述。
CMMI提供了階段式和連續式兩種表示方法,但是這兩種表示法在邏輯上是等價的。我們熟悉的SW-CMM軟件能力成熟模型就是是階段式的模型,SE-CMM系統工程模型是連續式模型,而IPD-CMM集成產品開發模型結合了階段式和連續式兩者的特點。
階段式方法將模型表示威一系列"成熟度等級"階段,每個階段都有一組KPA指出一個組織應集中于何處以改善其組織過程,每個KPA用滿足其目標的方法來描述,過程改進通過在一個特定的成熟度等級中滿足所有KPA的目標而實現的。
連續式模型沒有像階段式那樣的分散階段,模型的KPA中的方法是當KPA的外部形式,并可應用于所有的KAP中,通過實現公用方法來改進過程。它不專門指出目標,而是強調方法。組織可以根據自身情況適當裁剪連續模型并以確定的KPA為改進目標。
兩種表示法的差異反應了為每個能力和成熟度等級描述過程而使用的方法,他們雖然描述的機制可能不同,但是兩種表示方法通過采用公用的目標和方法作為需要的和期望的模型元素,而達到了相同的改善目的。
現在CMMI面臨的一個挑戰就是創建一個單一的模型,可以從連續和階段兩個角度進行觀察,包含相同的過程改進基本信息;處理相同范圍的一個CMMI過程能夠產生相同的結論。統一的CMMI(U-CMMI)是指產生一個只有公用方法和支持他們的KPA組成的模型。當按一種概念性的可伸展的方式編寫,并產生了用于定義組織的特定目標過程模版,定義的模版構件將定義一個模型以適用于任何工程或其他方面。
CMMI與CMM差別:
CMMI 模型的前身是 SW-CMM 和 SE-CMM,前者就是我們指的CMM。CMMI與SW-CMM的主要區別就是覆蓋了許多領域;到目前為止包括四個下面領域:
(1)、軟件工程(SW-CMM)
軟件工程的對象是軟件系統的開發活動,要求實現軟件開發、運行、維護活動系統化、制度化、量化。
(2)、系統工程(SE-CMM)
系統工程的對象是全套系統的開發活動,可能包括也可能不包括軟件。系統工程的核心是將客戶的需求、期望和約束條件轉化為產品解決方案,并對解決方案的實現提供全程的支持。
(3)、集成的產品和過程開發(IPPD-CMM)
集成的產品和過程開發是指在產品生命周期中,通過所有相關人員的通力合作,采用系統化的進程來更好地滿足客戶的需求、期望和要求。如果項目或企業選擇IPPD進程,則需要選用模型中所有與IPPD相關的實踐。
(4)、采購(SS-CMM)
采購的內容適用于那些供應商的行為對項目的成功與否起到關鍵作用的項目。主要內容包括:識別并評價產品的潛在來源、確定需要采購的產品的目標供應商、監控并分析供應商的實施過程、評價供應商提供的工作產品以及對供應協議很供應關系進行適當的調整。
在以上模塊中,企業可以選擇軟件工程,或系統工程,也可以都選擇。集成的產品和過程開發和采購主要是配合軟件工程和系統工程的內容使用。例如,純軟件企業可以選擇CMMI中的軟件工程的內容;設備制造企業可以選擇系統工程和采購;集成的企業可以選擇軟件工程、系統工程和集成的產品和過程開發。CMMI中的大部分內容是適用各不同領域的,但是實施中會有顯著的差別,因此模型中提供了"不同領域應用詳解"。
CMM的基于活動的度量方法和瀑布過程的有次序的、基于活動的管理規范有非常密切的聯系,更適合瀑布型的開發過程。而CMMI相對CMM更一步支持迭代開發過程和經濟動機推動組織采用基于結果的方法:開發業務案例、構想和原型方案;細化后納入基線結構、可用發布,最后定為現場版本的發布。雖然CMMI保留了基于活動的方法,它的確集成了軟件產業內很多現代的最好的實踐,因此它很大程度上淡化了和瀑布思想的聯系。
在 CMMI 模型中在保留了CMM階段式模式的基礎上,出現了連續式模型,這樣可以幫助一個組織以及這個組織的客戶更加客觀和全面的了解它的過程成熟度。同時,連續模型的采用可以給一個組織在進行過程改進的時候帶來更大的自主性,不用再象CMM 中 一樣,受到等級的嚴格限制。這種改進的好處是靈活性和客觀性強,弱點在于由于缺乏指導,一個組織可能缺乏對關鍵過程域之間依賴關系的正確理解而片面的實施過程,造成一些過程成為空中樓閣,缺少其他過程的支撐。兩種表現方式(連續的和階段的)從他們所涵蓋的過程區域上來說并沒有不同,不同的是過程區域的組織方式以及對成熟度(能力)級別的判斷方式。
CMMI 模型中比CMM 進一步強化了對需求的重視。在CMM 中,關于需求只有需求管理這一個關鍵過程域,也就是說,強調對有質量的需求進行管理,而如何獲取需求則沒有提出明確的要求。在CMMI的階段模型中,3 級有一個獨立的關鍵過程域叫做需求開發,提出了對如何獲取優秀的需求的要求和方法。CMMI 模型對工程活動進行了一定的強化。在CMM中,只有3級中的軟件產品工程和同行評審兩個關鍵過程域是與工程過程密切相關的,而在CMMI中,則將需求開發,驗證,確認,技術解決方案,產品集成這些工程過程活動都作為單獨的關鍵過程域進行了要求,從而在實踐上提出了對工程的更高要求和更具體的指導。CMMI中還強調了風險管理。不像在CMM 中把風險的管理分散在項目計劃和項目跟蹤與監控中進行要求,CMMI3級里單獨提出了一個獨立的關鍵過程域叫做風險管理。
轉載于:https://www.cnblogs.com/haiyu/archive/2009/12/13/1623308.html
總結
- 上一篇: 8051单片机指令和寻址方式
- 下一篇: 由于启动用户实例的进程时出错,导致无法生