天天看點

選擇CMMI還是CMM

入世後,軟體企業的國際化程序也随之加快,一些大型軟體企業完成CMM認證的同時,也為相當多的中小軟體企業帶來了希望,但他們在實施CMM的過程中,特别是在向CMM2前進時往往存在很多困惑和疑問。本文特别側重對處于這一過程的軟體企業碰到的各種疑難問題進行答疑解惑。

袁慶平,現擔任北京博思美亞科技發展有限公司(Soft Tech北京分公司)CMM進階咨詢顧問,曾為北大青鳥天橋股份有限公司、中關村科技軟體有限公司、青島中天科技發展有限公司等多家軟體企業提供CMM、項目管理和軟體工程相關的教育訓練、咨詢服務。曾在北京鼎新資訊系統工程公司參與CMM 2級實施工作并擔任項目經理。

有關CMM與CMMI的比較

Q: 聽說SEI最新推出的CMMI是什麼?我們是應該選擇CMMI還是CMM?

A: CMMI的全稱為:Capability Maturity Model Integration,即能力成熟度模型內建。自從1994年SEI正式釋出軟體CMM以來,相繼又開發出了系統工程、軟體采購、人力資源管理以及內建産品和過程開發方面的多個能力成熟度模型。雖然這些模型在許多組織都得到了良好的應用,但對于一些大型軟體企業來說,可能會出現需要同時采用多種模型來改進自己多方面過程能力的情況。這時他們就會發現存在一些問題,其中主要問題展現在:

    1.不能集中其不同過程改進的能力以取得更大成績;

    2.要進行一些重複的教育訓練、評估和改進活動,因而增加了許多成本;

    3.不同模型對相同僚物說法不一緻,或活動不協調,甚至相抵觸。

于是,希望整合不同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要稍低一些。可以适當降低實施的難度。

實施企業對過程改進項目的預算: 不論怎樣,幾乎可以肯定地說,實施CMMI的費用肯定要比實施CMM高出一些。而就模型本身來看,CMMI的2級7個過程區域在内容上并不比軟體CMM的2級6個關鍵過程區域多多少。這樣的話,我們完全可以“少花錢、多辦事”,也就是說可以采用CMM的實施和評估方法,但可以在過程改進的時候參考CMMI的要求,這樣就經濟很多。

繼續閱讀