然而,軟件組織形成一套完整而成熟的軟件過程不是一蹴而就的事情,需要經歷一系列的成熟度。軟件組織首先要進行差異分析,評定自己比較接近哪一個成熟度,然后再根據自身的情況來決定要采取哪些改進活動,來更有效地改進自己的軟件過程。這就對軟件過程的評定提出了一個客觀的標準。美國卡內基梅隆大學軟件工程學院于1987年研究成功的SW-CMM(Capability Maturity Model for Software)就是這樣的一個理論模型,其目的在于幫助軟件組織改善軟件生產流程,以探索一個保證軟件產品質量、縮短開發周期、提高工作效率的軟件工程模式與標準規范。
CMMI是一個可以改進系統工程和軟件工程的整合模式。1997年10月SEI停止對CMM的研究,改而致力于CMMI,以解決使用多個過程改進模型的問題。SEI同時宣布CMMI將取代CMM,與
CMM
CMM框架用5個不斷進化的層次來評定軟件生產的歷史與現狀:初始級描述了不成熟,或者說是未定義的過程的組織,是混沌的過程以不可預測結果為特征;可重復級是經過訓練的軟件過程;已定義級是標準一致的軟件過程,以組織內改進項目執行為特征;已管理級是可預測的軟件過程,以改進組織性能為特征;優化級是能持續改善的軟件過程,以可快速進行重新配置的組織性能,和定量的、持續的過程改進為特征。任何單位所實施的軟件過程,都可能在某一方面比較成熟,在另一方面不夠成熟,但總體上必然屬于這5個層次中的某一個層次。
CMM包括兩部分"軟件能力成熟度模型"和"能力成熟度模型的關鍵過程域"。"軟件能力成熟度模型"主要是描述此模型的結構,并且給出該模型的基本構件的定義。"能力成熟度模型的關鍵過程域"詳細描述了每個關鍵過程方面涉及的過程域。
可重復級關鍵過程域:需求管理,軟件項目計劃,軟件項目跟蹤和監控,軟件子合同管理,軟件質量保證,軟件配置管理。
已定義級關鍵過程域:組織級過程焦點,組織級過程定義,培訓大綱,集成軟件管理,軟件產品工程,組間協調,同行評審。
已管理級關鍵過程域:定量過程管理,軟件質量管理。
優化級關鍵過程域:缺陷預防,技術更新管理,過程更改管理。
多數組織的基本目標是達到成熟度3級。評估組織當前的成熟度級別的手段之一是軟件能力評估(SCE)。SCE通過評估軟件過程(一般以方針陳述的形式)和項目實踐來確定該組織是否言行一致。組織的過程體現了如實記錄所做的工作,項目實施(對該過程的特定剪裁和解釋)應該證明說到做到。
現在全球許多不同的組織以CMM為協助企業作全面的過程改進活動,除了肯定其軟件成熟度外,更像征具有跨足國際市場的能力,F在通過CMM5級認證的組織達到了一百多家。
CMMI
CMM的成功促使其他學科也相繼開發類似的過程改進模型,例如系統工程、需求工程、人力資源、集成產品開發、軟件采購等等,從CMM衍生出了一些改善模型,比如:SW-CMM,SE-CMM,IPD-CMM等。不過,在同一個組織中多個過程改進模型的存在可能會引起沖突和混淆。CMMI就是為了解決怎么保持這些模式之間的協調。
由業界、美國政府和卡內基·梅隆大學軟件工程研究所率先倡導的能力成熟度模型集成(CMMI)項目致力于幫助企業緩解這種困境。CMMI為改進一個組織的各種過程提供了一個單一的集成化框架,新的集成模型框架消除了各個模型的不一致性,減少了模型間的重復,增加透明度和理解,建立了一個自動的、可擴展的框架。因而能夠從總體上改進組織的質量和效率。CMMI主要關注點就是成本效益、明確重點、過程集中和靈活性四個方面。
與原有的能力成熟度模型類似,CMMI也包括了在不同領域建立有效過程的必要元素,反映了業界普遍認可的"最佳"實踐;專業領域覆蓋軟件工程、系統工程、集成產品開發和系統采購。在此前提下,CMMI為企業的過程構建和改進提供了指導和框架作用;同時為企業評審自己的過程提供了可參照的行業基準。
CMMI的源模型:軟件能力成熟度模型2.0版,C稿;電子行業協會臨時標準(EIA/IS)731;集成產品開發能力成熟度模型(IPD-CMM)。
CMMI的原則:
1. 強調高層管理者的支持。過程改進往往也是由高層管理者認識和提出的,大力度的、一致的支持是過程改進的關鍵。
2. 仔細確定改進目標,首先應該對給定時間內的所能完成的改進目標進行正確的估計和定義并制定計劃。選擇能夠達到的目標和能夠看到對組織的效益。
3. 選擇最佳實踐,應該基于組織現有的軟件活動和過程財富,參考其他標準模型,取其精華去其糟粕,得到新的實踐活動模型。
4. 過程改進要與組織的商務目標一致,與發展戰略緊密結合。
CMMI目標:
1. 為提高組織過程和管理產品開發、發布和維護能力的提供保障。
2. 幫助組織客觀評價自身能力成熟度和過程域能力,為過程改進建立優先級以及執行過程改進。
CMMI的方法:
1 決定哪個CMMI模型等級最適合組織過程改進需要。
2 選擇模型的表示法是連續式還是階段式。
3 決定組織需要用到的模型中的知識領域。
4 類似CMM提出的過程改進6步,集成化過程改進分成:開始集成過程改進,建造集成改善平臺,集成傳統過程,啟動新過程,進行改進評估。
CMMI內容
CMMI內容分為"要求"、"期望"和"提供信息"三個級別,來衡量模型包括的質量重要性和作用。最重要的是"要求"級別,是模型和過程改進的基礎。第二級別"期望"在過程改進中起到主要作用,但是某些情況不是必須的可能不會出現在成功的組織模型中。"提供的信息"構成了模型的主要部分,為過程改進提供了有用的指導,在許多情況下他們對需要和期望的構件做了進一步說明。
"要求"的模型構件是目標,代表了過程改進想要達到的最終狀態,它的實現表示了項目和過程控制已經達到了某種水平。當一個目標對應一個關鍵過程域,就稱為"特定目標";對應整個關鍵過程域就稱為"公用目標"。整個CMMI
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/