CMM---軟件能力成熟度模型

CMM的含義與作用

CMM是Capability Maturity Model for Software的簡稱,中文叫“軟件能力成熟度模型”,是對組織軟件過程能力的描述。CMM的核心是把軟件開發視爲一個過程,並根據這一原則對軟件開發和維護進行過程監控和研究,以使其更加科學化、標準化,使企業能夠更好的實現商業目標。它側重於軟件過程開發的管理及軟件工程能力的改進與評估,因此CMM被用作評價軟件承包商能力並幫助組織改善軟件過程質量,是目前國際上最流行、最實用的一種軟件過程改進模型,成爲當今企業從事規模軟件生產不可缺少的一項內容。CMM的目的是幫助軟件企業對軟件工程過程進行管理和改進,增強開發與改進能力,從而能按時地、不超預算地開發出高質量的軟件。企業實施CMM模型並評估可爲企業帶來如下好處:指導軟件組織提高軟件開發管理能力;降低軟件承包商和採購者的風險;評估軟件承包商的軟件開發管理能力;幫助軟件企業識別開發和維護軟件的有效過程和關鍵實踐;幫助軟件企業識別爲達到CMM更高成熟等級所必須的關鍵實踐;增加軟件企業的國際競爭能力。
CMM的發展過程

1984年美國國防部爲降低採購風險,委託卡耐基—梅隆大學軟件工程研究院(SEI)制定了軟件過程改進、評估模型,也稱爲SEI SW-CMM。該模型於1991年正式推出,迅速得到廣大軟件企業及其顧客的認可。從1987年SEI推出SW-CMM框架開始,1991年推出 CMM 1.0 版,1993年推出CMM 1.1 版,2000年推出CMMI-SE/SW 1.0版。我國也於2001年4月發佈了《SJ/T 11234-2001 軟件過程能力評估模型》和《SJ/T 11235-2001 軟件能力成熟度模型》兩個標準。我國政府一直重視軟件產業的規範和發展,國務院於2000年6月頒發的“18號文件”第五章第十七條明確提出鼓勵軟件出口型企業通過ISO9000系列質量保證體系認證和CMM認證,其認證費用通過中央外貿發展基金適當予以支持。目前各省市、高新區、軟件園都有對通過CMM的企業給予資金獎勵的制度。

CMM的結構與內容

CMM吸取了質量工程的主要原理,形成了5級模型。提出了由第一級(初始級)向第五級(優化級)逐級發展的模式。模型的等級從低到高,可以預計企業的開發風險越來越低,開發能力越來越高。模型的每個等級由不同的關鍵過程領域(Key Process Area)構成,而每個過程領域又由各種目標構成,每個目標由各種特定慣例和通用慣例支持。
CMM的級別劃分如下:

CMM 1—初始級;

CMM 2—已管理級,有6個過程域;

CMM 3—已定義級,有7個過程方面;

CMM 4—定量管理級,有2個過程域;

CMM 5—持續優化級,有3個過程域。

CMM的建立與評估方法

企業實施CMM,可從如下幾個步驟進行:

1、提高思想認識,瞭解必要性和迫切性;

2、確定合理的目標;

3、進行CMM培訓和諮詢工作,成立工作組;

4、制定和完善軟件過程;

5、內部評審;

6、初期評估;

7、正式評估;

8、根據評估的結果改進軟件過程。

CMM 評估是爲了評價當前的水平,找出問題所在,指導如何改進和了解軟件承包商的軟件能力。目前針對CMM開發出許多的評估方法,其中公認評估方法有兩個:一是用於內部過程改進的CMM評估稱爲CBA-IPI;二是用於選擇和監控分承包方的CMM評估,稱爲SCE方法。這兩種方法基於不同的目的,但評估的結果應一致。評估包括三個階段:準備階段、現場階段和報告階段,最終評價當前的水平結果是SEI的主任評估師簽署的評估報告,並且評估需要在SEI註冊登記。(注:2005年底前,SEI不再支持CMM的工作)。

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(Capability Maturity Model Integration)即能力成熟度集成模型,這也是美國國防部的一個設想,他們想把現在所有的以及將被髮展出來的各種能力成熟度模型,集成到一個框架中去。這個框架有兩個功能,第一,軟件採購方法的改革;第二,建立一種從集成產品與過程發展的角度出發、包含健全的系統開發原則的過程改進。就軟件而言,CMMI是SW-CMM的修訂本。它兼收了SW-CMM 2.0版C稿草案和SPA中更合理、更科學和更周密的優點。SEI在發表CMMI-SE/SW 1.0版時,宣佈大約用兩年的時間完成從CMM到CMMI的過渡。
CMMI項目更爲工業界和政府部門提供了一個集成的產品集,其主要目的是消除不同模型之間的不一致和重複,降低基於模型改善的成本。CMMI將以更加系統和一致的框架來指導組織改善軟件過程,提高產品和服務的開發、獲取和維護能力。

CMM/CMMI諮詢與評估服務

我們擁有14名不同領域內的美國軟件界享負盛名的SEI註冊主任評估師,這些評估師曾直接或間接參與SEI-CMM的創建,併爲MPSI, Biometric Solution, Motorola University, Qwest, Lockheed Martin, 美國電報、電話公司,南方貝爾公司,大西洋貝爾公司,波音公司,洛克希德、馬丁公司,羅傑肯公司,諾思羅普格魯曼公司, 美國空軍,美國國家安全局,美國國務院等提供過解決方案、過程改進指導、評估工作。BTC-USA還在美國、加拿大等地從事軟件開發、PMO等業務。我們還擁有十多名國內資深高級諮詢師。均有十年以上的項目開發經驗或項目管理經驗,他們分別有着對電子、通信、金融、網絡、信息系統集成等多個領域的IT企業進行諮詢及評估的豐富經驗。可以爲您的企業提供最有價值的專業服務。
另外我們和合作夥伴BTC-USA是美國CMU-SEI(卡耐基梅隆大學軟件工程研究所)授權的CMM培訓、諮詢、評估權威轉換夥伴,
自2001年10月以來,BCC與BTC-USA公司進行全方面的合作,通過提供一系列CMM培訓、諮詢、評估服務,幫助中國軟件企業獲得增強國際競爭力的最新理念和國際標準。對通過SEI的CBA-IPI評估的企業,我們還通過PMO爲其提供海外軟件開發合作及產品出口的機會。
強大的各方面實力使得我們在中國可以最快的掌握CMM及CMMI的發展動向、新技術且及時得到準確和完整的教材。
成功案例

自2001年起,BCC與BTC-USA(後改名爲EPS-USA)密切合作,在國內外廣泛開展了多項CMM活動,包括人員培訓,軟件過程診斷,CMM諮詢、評估,進行標準軟件過程改進,軟件配置管理SCM等。
2002年3月,BCC高級諮詢師爲交大銘泰舉行了CMM2級的培訓與諮詢;
2002年4月, 邀請SEI授權的CMM培訓師 Mr. Thomas Vaitkus對我國軟件行業的20名精英舉辦 “intro to CMM” CMM實習評估師資格培訓課程;
2002年4月,爲NEC提供“intro to CMM” CMM實習評估師資格培訓與CMMI實施工作,該公司已於2005年初通過CMMI5級的評估;
2002年8月,BCC高級諮詢師爲廣東AIA舉行了CMM3級的培訓和諮詢;
2002年12月13曰,由SEI授權的CMM主任評估師Ralph D. Bowden先生領導的六名BCC高級諮詢師及一名萬達內部成員對萬達信息股份有限公司進行評估,並一致認爲萬達信息股份有限公司的軟件過程成熟度達到CMM3 級;
2002年12月27曰, 由SEI授權的CMM主任評估師Ralph D. Bowden先生領導的六名BCC高級諮詢師對北京華泰貝通網絡科技有限公司進行評估,並一致認爲北京華泰貝通網絡科技有限公司的軟件過程成熟度達到CMM2 級;
2003年3月31曰,由SEI授權的CMM主任評估師Ralph D. Bowden先生領導的八名BCC高級諮詢師對重慶普金軟件股份有限公司進行評估,並一致認爲重慶普金軟件股份有限公司的軟件過程成熟度達到CMM2 級;
2003年6月,BCC高級諮詢師爲北京奧碼天地舉行了CMMI2級的培訓與諮詢;
2003年9月,對北京通茂科技公司實施CMMI的諮詢和過程改進;
2003年9月3曰,由美國SEI授權的CMMI培訓師 Mr. Shawn Presson對我國軟件行業的25名精英舉辦 “intro to CMMI” CMMI實習評估師資格培訓課程,其中包括柯達、西門子中國公司、Ntt data, Nec-中科軟等著名公司的高級僱員;
2003年12月, 由SEI授權的CMM主任評估師Ralph D. Bowden先生領導的八名BCC高級諮詢師對北京華泰貝通網絡科技有限公司進行評估,並一致認爲北京華泰貝通網絡科技有限公司的軟件過程成熟度達到CMM3級;
2004年3月,對交大銘泰信息技術有限公司實施CMMI3級諮詢;
2004年5月,BCC高級諮詢師爲西門子(中國)舉行了CMMI2級的培訓與諮詢;
2004年6月-2005年3月,BCC高級諮詢師爲北京天融信網絡安全技術有限公司舉行CMMI 2級的培訓與諮詢;
2004年10月,對建設銀行總行信息技術管理部北京開發中心項目實施管理與質量控制處實施CMMI諮詢;
2004年12月17曰, 由SEI授權的CMMI主任評估師Ralph D. Bowden先生領導的八名BCC高級諮詢師對萬達信息股份有限公司進行評估,並一致認爲萬達信息股份有限公司的軟件過程成熟度達到CMMI5 級;
2005年3月7曰,對上海國信朗訊進行軟件度量的培訓;
2005年3月21曰-2005年3月25曰,由SEI授權的CMMI主任評估師Ralph D. Bowden先生領導的八名BCC高級諮詢師對北京天融信網絡安全技術有限公司進行評估,並一致認爲北京天融信網絡安全技術有限公司的軟件過程成熟度達到CMMI2 級;
2005年9月20號-2005年9月29號,由SEI授權的CMMI主任評估師Ralph D. Bowden先生領導的八名BCC高級諮詢師對北京久其軟件股份有限公司進行評估,並一致認爲北京久其軟件股份有限公司的軟件過程成熟度達到CMMI3 級;
2005年8月-2006年3月,北京新世紀高級諮詢師爲北京東方飛揚軟件技術有限公司實施CMMI2級過程改進;
正在實施的有“武漢鋼鐵自動化CMMI3級”、“天津大地網絡科技有限公司CMMI3級”、“北京京北方科技有限公司CMMI3級”“北京北廣軟件技術有限公司CMMI2級”、“中國一汽無錫油泵油嘴研究所CMMI2級”等。

部分獲得我們美國合作方BTC-USA CMM評估的美國客戶:BTC-USA, Biometric Solution, Motorola University, Qwest, Lockheed Martin, 美國電報、電話公司,南方貝爾公司,大西洋貝爾公司,波音公司,洛克希德、馬丁公司,羅傑肯公司,諾思羅普格魯曼公司, 美國空軍,美國國家安全局,美國國務院等。


什麼是CMM的核心?本人轉載了別人在一次CMM培訓中準備的案例,希望能夠生動而淺顯地解釋這個問題,如要轉載,順手給原創作者發個Email:[email protected],非常感謝。尊重原創!
案例背景:有一間房子,裏面有一些人,一些杯子和水壺,以及用於燒水的用具,所有的人都需要喝開水。

CMM 1級:
過程:
找到杯子和水壺
倒水喝
問題:
找不到杯子,沒水喝
找不到水壺,沒水喝
水壺沒水——不知道該怎麼辦
一天要喝多少水——不知道
倒一杯水要花多少時間,每個人每天爲倒水花多少時間——不知道
思考:
買個飲水機能解決問題嗎?

CMM 2級:
過程:
杯子放在茶几上
水壺放在餐檯上
如果水壺沒水,在廚房燒水
杯子用完要清洗,並放回茶几
培訓:廚房燒水,清洗杯子
度量一天要燒幾壺水,每個人每次/每天倒水要花多少時間
有人檢查是否所有人用完杯子後都清洗並放回餐檯
管理者關注這些活動的執行狀態與成效
問題:
燒水太花時間
水要等涼了才能喝
效率不穩定:有人每天花20分鐘倒水,有人每天花80分鐘
思考:
買個飲水機能有幫助嗎?

CMM 3級:
過程:
所有人都先在茶几取杯子,再去餐檯倒水
統一用大杯子
每人每次倒兩杯水,與人分享
指派專人定時燒水,放在涼水壺裏
指派專人定時收集和清洗杯子
問題:
怎樣才能做得更好?
思考:
買個飲水機划算嗎?

CMM 4級:
過程:
建立評價模型:節省1分鐘=節省1元錢,如果每人每天節省1分鐘,則100個人1個月(30天)可以節省3000元——只要每月花費不超過3000元,我們就可以嘗試新過程
定義量化的管理目標:3個月內將每人每天用於倒水的時間減少2分鐘
以現在每人每天用於倒水的時間建立基線:平均10分鐘,最少5分鐘,最多20分鐘
每個人爲自己制定優於平均值的目標:本人每天用於倒水的時間不超過6分鐘
度量並監控每天用於倒水的時間,一旦超過6分鐘,要分析根本原因,並制定調整措施;最後結果是8分鐘,超出預定的目標,但比平均值要好
3個月後調整基線:平均8分鐘,最低4分鐘,最高15分鐘
問題:
不改進不行了!
思考:
買個飲水機是最好的方案嗎?

CMM 5級:
過程:
發現問題的根本原因:倒水的時間之所以不能再少,是因爲房間太大,走到餐檯太遠
找出能夠解決根本原因的所有方法,用評價模型進行評價
選擇一種方法,並制定改進的目標:買10個飲水機放在客廳裏,每人每天節省2分鐘
制定相應的過程:如果買飲水機,則需要定期定購桶裝水,定期對飲水機出水口進行清洗和消毒,請人及時更換空水桶
試行過程:先找幾個人試用,看看是否能達到預期目標
推廣:讓所有人都用飲水機
繼續發現其它的根本原因……
問題:
怎樣發現更多根本原因
怎樣引進更多新方法
思考:
還有什麼比飲水機更好的方法嗎?
 
比喻二:
一級:一羣人沒有經過訓練,也不知道有沒有經驗,下水之後亂撲騰,有的人浮起來,有的人沉下去了。這就是一級的無序狀態,結果是不可知的
二級:大家都在游泳池或者小池塘裏下過幾次水,基本上在這樣的條件下不會出事了。但是動作亂七八糟,有狗刨有說不出名字的動作。也就是二級的能夠重複以前的成功經驗
三級:經過研究,確定了幾種標準泳姿,知道自由泳最快,蛙泳最省力等等。這就是三級,有了標準的過程定義
四級:大家都掌握標準動作之後,互相之間的成績就可以比較了。通過測量大家的游泳成績(當然不同泳姿的成績要分開)、肌肉力量等等,分析特別好的和特別差的,找出好的原因和差的原因,大家的技術水平不斷提高。這就
是四級的量化控制,通過數據來管理和改進
五級:大家的技術水平都很高了,動作都很完美。我們就通過創造新的泳姿,引入新式游泳衣等等創新來提高成績。這就是五級的持續改進



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章