中國如何引進CMM評估,促進軟件產業發展


北京軟件行業協會

(本文轉載自軟件工程專家網www.21cmm.com)

一、CMM的含義及作用

  CMM(軟件能力成熟度模型:Capability Maturity Model For Software)是由美國卡內基梅 隆大學的軟件工程研究所(SEI:Software Engineering Institute)受美國國防部委托研究制定 并在美國,隨后在全世界推廣實施的一種軟件評估標準,主要用于軟件開發過程和軟件開發能力 的評估和改進。

  CMM軟件評估標準是從1930年開始的近代質量管理理論與實踐基礎上發展起來的。1986年美國 卡內基梅隆大學由聯邦政府贊助成立了軟件工程研究所(SEI),1991年SEI采訪了100多家軟件公 司,開發出了CMM 1.0版本,1993年又推出了1.1版本。CMM把軟件開發過程的成熟度由低到高分為 五級,即初始級、可重復級、已定義級、已管理級和優化級。隨著CMM等級的提高,逐步降低了軟 件開發風險,縮短了開發時間,降低了軟件開發的人力物力成本,降低了災難性的錯誤發生率, 提高了質量。CMM評估等級的提升會大幅度提高軟件開發能力,有助于客戶特別是大公司對該軟件 企業建立信心,并向該軟件企業下訂單采購軟件產品。

  我國軟件要大幅度提高開發能力,走向世界,必須向國際上公認的軟件評估標準靠攏。目前 北京的軟件出口約占全國軟件出口的三分之二,而美國的軟件市場約占世界軟件市場的三分之 二,這兩個三分之二如何對接?即北京的軟件產業如何能夠開拓美國市場,關鍵之一就是要獲得 CMM認證的通行證。印度軟件企業因通過CMM認證而大量出口軟件到美國為我們提供了先例。

二、美國、歐洲和印度的經驗表明:CMM確能促進軟件產業發展

1.CMM在美國

  現在美國10-15%的軟件客戶都是大公司,如波音公司、洛克希德公司等,他們一般都要求軟 件供應商通過較高級別的CMM評估。

2.CMM在歐洲

  歐洲許多國家除獨立研究與實踐有關軟件成熟度的軟件工程理論和方法外,也引進了CMM評 估。英國著名的路透集團就是其中之一,該集團于1998年通過了CMM 2級評估,計劃于今年通過3 級評估。在CMM評估中,對包括經理在內的所有員工都進行了培訓,目前已有64名從事CMM評估的 全職人員。

3.CMM在印度

  印度的Infosys是擁有約4500名員工的大軟件公司,已于1999年通過CMM 5級評估。1991年前 該公司軟件開發沒有執行標準,軟件開發水平僅取決于開發人員個人的努力和高級主管對未來的 預測。隨著軟件開發領域的擴大,公司決策人意識到在公司中必須實施軟件規范,1992年起按ISO 9001標準去做,1993年通過了ISO 9001論證。從1993年起又開始CMM評估,由1級一直提升到5級。 大幅度提高了軟件開發能力,保證了向美國和歐洲軟件出口的高增長,現在為《財富》雜志排名 前500家企業中的許多家提供應用軟件。Infosys公司的CMM專家K.Dinesh先生在論壇上介紹了以上 情況后著重談了個人的體會:CMM是一個很好的軟件標準,可以給軟件企業帶來好處,但CMM能否 實施成功,取決于人的努力。在實施CMM中,職工要改變原來的習慣,每個人都要制定自己的目 標。軟件質量由人 + 技術 + 過程決定。三個因素如同一張桌子的三條腿,每條腿都重要。

  印度的QAI公司是從事服務和軟件開發的公司,積極參加CMM評估,現在是印度唯一專門從事 CMM評估的公司,也是亞洲第一個具有CMM評估資質機構。QAI的商務經理V. Manghani先生在論壇 上介紹了通過CMM評估提高印度軟件產業整體水平的情況。印度的軟件產值從10年前的5000萬美元 增長到1998-1999年度的40億美元,保持了50%以上的年增長率。目前印度有約1000家軟件企業, 28萬軟件人員,僅次于美國。

  《財富》雜志中排名前500家企業中有200多家都是印度軟件企業的 客戶。印度在軟件領域中取得好成績的原因有:軟件開發成本低、英語能力好、技術水平高、教育制度保證有頂尖人才參加軟件開發、軟件人員待遇高、員工對公司忠誠度好、采用好的質量管 理方法等。印度很多軟件公司10年來一直進行軟件過程改進,他們認識到只采用一種框架不能提 供很好的產品,因應采用混合性標準,主要有:ISO9001、CMM、P-CMM(個人軟件開發成熟度模 型)、總體質量管理等。現印度有100多家軟件企業通過了ISO9001論證,越來越多的企業認識到 應逐步采用CMM評估標準。

三、我國如何根據國情引進CMM評估

1. CMM是一種過程較復雜、費用較昂貴的評估

  CMM評估包括5個等級,共計18個關鍵過程域,52個目標,300多個關鍵實踐。每一個CMM等級 評估周期(從準備到完成)約需12-30個月。每一級別的評估由美國卡內基梅隆大學的軟件工程研 究所授權的主任評估師領導一個評審小組進行,其成員大部分來自企業內部。評估過程包括員工 培訓(企業的高層領導也要參加)、問卷填寫和統計、文檔審查、數據分析、與企業的高層領導 討論和撰寫評估報告等。評估結束由主任評估師簽字生效。

  要取得主任評估師的資格比較困難,首先要有10年以上的軟件開發經驗;其次要在美國卡內 基梅隆大學的軟件工程研究所接受培訓,培訓費用每人約需數萬美元,非美國人加倍;第三要經 過兩次以上CMM評估的全過程實習;第四要得到已有主任評估師資格的人推薦。主任評估師的資格 并非終身制,如要繼續保持,每年至少要參加兩次CMM評估。目前全世界一共只有313個主任評估 師,大部分在美國,而我國大陸還沒有一個主任評估師。

  由于我國在CMM評估中要聘請外籍主任評估師,所以費用較高。據估計,要通過一個級別的 CMM評估,費用是通過ISO9001認證的十多倍。

2. ISO9001與CMM的關系

  國際標準化組織ISO9000系列質量保證體系用于制造業的是ISO9001(在軟件行業的實施指南 為ISO9000-3),與CMM均可作為軟件企業的過程改善框架,前者面向合同環境,站在用戶立場對 質量要素進行控制,而后者是對軟件組織內部過程能力的逐步改善。

  ISO9001與CMM是強相關的,ISO9001不覆蓋CMM,CMM也不完全覆蓋ISO9000。一般言,通過ISO 9001認證的企業可達到CMM 2級或略高的程度,通過CMM 3級的企業只要稍做補充,就可較容易地 通過ISO 9001認證。粗略地說,ISO 9001近似于CMM “2.5級”。

  ISO 9001約有80%的文件可以用于CMM 2級評估。

3. CMM與工具

  CMM評估只定義了要做什么,但沒有定義如何做。一般說,CMM評估主要考慮的是達到各個級 別的要求,至于工具通常就是利用現有的數據庫軟件和辦公軟件(如Microsoft公司的Excel), 專門的工具很少。

  北京鼎新信息系統開發有限公司在CMM評估實踐的基礎上,開發了一個基于Lotus Domino / Notes的軟件開發過程管理工具:項目助手2000。

4.CMM評估的文化背景

  在CMM討論會上,有人問已通過CMM 5級評估的印度Infosys公司的K.Dinesh先生,已通過了5 級,是否已萬事大吉?回答是:“通過CMM 5級,只是萬里長征的第一步。為了保持市場份額,還 要做許多工作”。顯然,印度既看重CMM評估,但更看重市場,通過CMM評估只是更好地進行市場競 爭的手段,在市場競爭中任何時候都不能掉以輕心的。

  國外CMM等級評估生效,只需要主任評估師的簽字,既沒有某主管單位的批準,也沒有蓋上公 章的證書。顯然,國外更看重主任評估師及公司的信譽。

5.我國的軟件企業應根據自己的實際情況引進CMM評估方法

  在引進CMM中,要根據軟件企業的實際情況,大致可分為兩類:

  有軟件出口的企業,應逐步通過CMM等級評估,以提高在國際市場上的競爭力。

  一般軟件企業可以借鑒CMM的方法,改進軟件企業的管理,提高軟件開發水平。

  當前國內比較容易著手做的工作是:進行CMM的普及性培訓,請已通過CMM某級別的軟件企業 代表介紹經驗等。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254565.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254565.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254565.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于游戲平衡性——王者榮耀英雄傷害數值參考

收集王者榮耀各個英雄的裝備對技能增加的百分比,這樣的主要目的為保證游戲的平衡性。對于技能主要包括:血量、物理攻擊、法術攻擊、物理穿透、法術穿透、暴擊等。關于各個裝備,已經列成一張excel表格,在這里不再詳細描述表格。在這…

Swift-setValuesForKeysWithDictionary

重寫 setValuesForKeysWithDictionary 那么字典中可以有的字段在類中沒有對應屬性 class Person : NSObject {var age :Int 0 // 重寫 setValuesForKeysWithDictionary 那么字典中可以有的字段在類中沒有對應屬性override func setValuesForKeysWithDictionary(keyedValues…

hdu 1269 迷宮城堡(trajan判環)

題目鏈接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1269 題意&#xff1a;略 題解&#xff1a;trajan模版直接求強連通分量。 #include <iostream> #include <cstring> #include <cstdio> using namespace std; const int N 1e4 10; const i…

Arithmetic圖像處理halcon算子持續更新

目錄abs_diff_imageabs_imageacos_imageadd_imageasin_imageatan2_imageatan_imagecos_imagediv_imageexp_imagegamma_imageinvert_imagelog_imagemax_imagemin_imagemult_imagepow_imagescale_imagesin_imagesqrt_imagesub_imagetan_imageabs_diff_image 功能&#xff1a;計算…

身于“亂世”,我們程序員應該如何打算?

今天看了這篇文章&#xff0c; 發現自己也有點生處亂世&#xff0c;不平之感&#xff0c;但是文章的樸實卻讓我有了一個良好的反省&#xff0c;特此轉載 分類&#xff1a; 項目管理 2011-09-04 00:58 770人閱讀 評論(12) 收藏 舉報 不僅要低頭拉車&#xff0c;還要抬頭看路。…

Activity的啟動流程

Activity的啟動流程 努力工作 自己平時工作接觸的frameworks代碼比較多&#xff0c;但真正理解的很有限&#xff0c;一直在努力分析。。我主要還是用補丁的形式來看 core/java/android/app/Activity.java | 6 core/java/android/app/ActivityManagerNative.jav…

es6--箭頭函數

基本用法 ES6允許使用“箭頭”&#xff08;>&#xff09;定義函數。 var f v > v; 上面的箭頭函數等同于&#xff1a; var f function(v) {return v; }; 如果箭頭函數不需要參數或需要多個參數&#xff0c;就使用一個圓括號代表參數部分。 var f () > 5; // 等同于…

halcon Bit圖位像素處理算子,持續更新

目錄bit_andbit_lshiftbit_maskbit_notbit_orbit_rshiftbit_slicebit_xorbit_and 功能&#xff1a;輸入圖像的所有像素的逐位與。 bit_lshift 功能&#xff1a;圖像的所有像素的左移。 bit_mask 功能&#xff1a;使用位掩碼的每個像素的邏輯與。 bit_not 功能&#xff1…

NYOJ題目839合并

--------------------------- AC代碼&#xff1a; 1 import java.util.Scanner;2 3 public class Main {4 5 public static void main(String[] args) {6 7 8 Scanner scnew Scanner(System.in);9 10 int timessc.nextInt(); 11 …

指針的魅力

序 指針說&#xff1a;love me&#xff0c;love me&#xff01; 但是他對指針說&#xff1a;I hate u&#xff0c;I hate u&#xff01; …… 指針僅僅是作為指針&#xff0c;我們可以把它當做有用的工具&#xff0c;為我們提供便利與好處。說起工具不得不讓我想起一樣東西—…

python多進程

2019獨角獸企業重金招聘Python工程師標準>>> python多進程 進程簡介 進程是程序在計算機上的一次執行活動。當你運行一個程序&#xff0c;你就啟動了一個進程。顯然&#xff0c;程序是死的(靜態的)&#xff0c;進程是活的(動態的)。進程可以分為系統進程和用戶進程。…

halcon彩色圖像顏色處理算子,持續更新

目錄apply_color_trans_lutcfa_to_rgbtrans_to_rgbclear_color_trans_lutcreate_color_trans_lutgen_principal_comp_translinear_trans_colorprincipal_comprgb1_to_grayrgb3_to_graytrans_from_rgbapply_color_trans_lut 功能&#xff1a;申請使用顏色查找表。 cfa_to_rgb …

奪命雷公狗---node.js---20之項目的構建在node+express+mongo的博客項目5mongodb在項目中實現添加數據...

我們上一步就引入了mongodb了&#xff0c;那么下一步就要開始寫添加數據了&#xff0c;不過有個前提是先將表單的數據處理好&#xff1a; 最基本的這部現在已經成功了&#xff0c;因為最基本的這步就是先將表單處的提交方式和提交地址給處理好&#xff0c;這里和PHP的基本上是一…

重新綁定ItemsSource先設置ItemsSource = null;的原因

即報錯信息為&#xff1a;在使用 ItemsSource 之前&#xff0c;項集合必須為空。原因&#xff1a;Items和ItemSource&#xff0c;只能有一個生效&#xff0c;想用其中一個&#xff0c;另一個必須是空。重新綁定ItemSource&#xff0c;雖然綁定的集合對象Clear了&#xff0c;但是…

敏捷開發學習

Scrum 敏捷開發&#xff0c;績效管理&#xff0c;團隊管理&#xff0c;企業管理&#xff0c;ASP.net MVC 敏捷開發 培訓|咨詢 工具開發 課題研討 http://blog.csdn.net/cheny_com/article/category/794542 http://blog.csdn.net/vincetest/article/category/650747 http://blog…

Git commit后,本地代碼丟失解決方法

問題描述&#xff1a; 提交代碼時&#xff0c;rebase了兩次&#xff0c;本地代碼丟失了&#xff0c;嚇得我差點跳起來。解決方法如下&#xff1a; 1、執行命令&#xff1a; git reflog d6ea731 (HEAD -> dev, origin/dev, master) HEAD{0}: checkout: moving from master to…

Edges圖像邊緣處理halcon算子,持續更新

目錄close_edgesclose_edges_lengthderivate_gaussdiff_of_gaussedges_coloredges_color_sub_pixedges_imageedges_sub_pixfrei_ampfrei_dirhighpass_imageinfo_edgeskirsch_ampkirsch_dirlaplacelaplace_of_gaussprewitt_ampprewitt_dirrobertsrobinson_amprobinson_dirsobel_…

Android存儲數據方式

可以查看Android開發文檔中的&#xff1a;/docs/guide/topics/data/data-storage.html Android provides several options for you to save persistent application data. The solution you choose depends on your specific needs, such as whether the data should be privat…

防止cpu 一直被占用 sleep(0) 和 yield

在java的Thread類中有兩個有用的函數&#xff0c;sleep和yield&#xff0c;sleep就是線程睡眠一定的時間&#xff0c;也就是交出cpu一段時間&#xff0c;yield用來暗示系統交出cpu控制權。這兩個函數在多線程開發的時候特別有用&#xff0c;可以合理的分配cpu&#xff0c;提高程…

做一個有膽識的有為青年

1、一個年輕人&#xff0c;如果在這四年的時間里&#xff0c;沒有任何想法&#xff0c;他這一生&#xff0c;就基本這個樣子&#xff0c;沒有多大改變了。 2、成功者就是膽識加魄力&#xff0c;曾經在火車上聽人談起過溫州人的成功&#xff0c;說了這么三個字&#xff0c;“膽…