入世后,軟件企業的國際化進程也隨之加快,一些大型軟件企業完成CMM認證的同時,也為相當多的中小軟件企業帶來了希望,但他們在實施CMM的過程中,特別是在向CMM2前進時往往存在很多困惑和疑問。本文特別側重對處于這一過程的軟件企業碰到的各種疑難問題進行答疑解惑。
有關CMM與CMMI的比較
Q:聽說SEI最新推出的CMMI是什么?我們是應該選擇CMMI還是CMM?
A:CMMI的全稱為:Capability Maturity Model Integration,即能力成熟度模型集成。自從1994年SEI正式發布軟件CMM以來,相繼又開發出了系統工程、軟件采購、人力資源管理以及集成產品和過程開發方面的多個能力成熟度模型。雖然這些模型在許多組織都得到了良好的應用,但對于一些大型軟件企業來說,可能會出現需要同時采用多種模型來改進自己多方面過程能力的情況。這時他們就會發現存在一些問題,其中主要問題體現在:
■ 不能集中其不同過程改進的能力以取得更大成績;
■ 要進行一些重復的培訓、評估和改進活動,因而增加了許多成本;
■ 不同模型對相同事物說法不一致,或活動不協調,甚至相抵觸。
于是,希望整合不同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的時候,一個組織可以把項目管理或者其他某類的實踐一直做到最好,而其他方面的過程區域可以完全不必考慮。
■ 軟件CMM 2級共有6個關鍵過程區域,在CMMI增加了1個:度量和分析。原來的6個關鍵過程區域的名稱和內容在CMMI中作了部分改進,但是主體內容沒有大幅調整。軟件CMM 4級共有2個關鍵過程區域,在CMMI中仍是2個,只是名稱和內容有所改進。軟件CMM 5級共有3個KPA,在CMMI中進行了合并,改為2個,但主要內容未變。變化最顯著的在CMMI 3級上,原有的7個KPA變成了14個,其中原來對工程活動進行要求的KPA-軟件產品工程進行了詳細的拆分,并結合常見的軟件生命周期模型進行了映射。CMMI中新增的過程區域中還涉及到過去未曾提到的內容,比如決策分析和解決方案、集成團隊等。
到底是選擇CMM還是CMMI主要基于以下幾個方面進行考慮:
■ 實施企業的業務特點:如果企業的規模不是很大,業務又集中在軟件開發為主,那么還是軟件CMM比較適用。如果企業的規模比較大(開發人員100人以上),并且業務不僅僅集中在軟件開發,還包括硬件開發哪怕是硬件代理(采購)都可以考慮實施CMMI。
■ 實施企業對過程改進的熟悉程度:如果企業已經實施過ISO 9000,并且取得了較好的效果,那么可以考慮實施CMMI。如果企業雖然沒有實施過CMM,但是對于過程改進一直比較關注,接受過不少相關培訓,甚至能夠自發的進行一些過程改進,那么也可以考慮實施CMMI。如果過去沒有接觸過類似的工作,那么最好先從軟件CMM 2級開始,首先建立持續過程改進的思路。另外,軟件CMM的要求也比CMMI要稍低一些?梢赃m當降低實施的難度。
■ 實施企業對過程改進項目的預算:不論怎樣,幾乎可以肯定地說,實施CMMI的費用肯定要比實施CMM高出一些。而就模型本身來看,CMMI的2級7個過程區域在內容上并不比軟件CMM的2級6個關鍵過程區域多多少。這樣的話,我們完全可以“少花錢、多辦事”,也就是說可以采用CMM的實施和評估方法,但可以在過程改進的時候參考CMMI的要求,這樣就經濟很多。
文章來源于領測軟件測試網 http://www.kjueaiud.com/