|
1
|
什麼是CMM
|
|
作者: ~落日飛鴻 2006-1-7 23:36 回覆此發言
|
|
|
|
|
CMM是能力成熟度模型(capabilityMaturityModel)的縮寫,是一種用於評價軟件承包能力並幫助其改善軟件質量的方法,側重於軟件開發過程的管理及工程能力的提高與評估。CMM分為五個等級:一級為初始級,二級為可重複級,三級為已定義級,四級為已管理級,五級為優化級。 CMM是由美國卡內基梅隆大學軟件工程研究所1987年研製成功的,是目前國際上最流行最實用的軟件生產過程標準和軟件企業成熟度等級認證標準。目前,我國已有軟件企業通過了CMM標準認證。
SW-CMM(軟件生產能力成熟度模型)為軟件企業的過程能力提供了一個階梯式的進化框架,它基於過去所有軟件工程成果的過程改善的框架,吸取了以往軟件工程的經驗教訓。它指明瞭一個成熟的軟件組織在軟件開發方面需要管理的那些主要工作、這些工作之間的關係、以及以怎樣的先後次序,一步一步的做好這些工作使軟件組織走向成熟。是目前國際上最流行也是最實用的軟件生產過程標準,理解CMM需要注意以下幾點:
1.他僅指明該做什麼,而沒有指明如何做,他不是方法論,但我們在學習CMM時,可以從中學到分析問題的方法。
2.他僅指明該做的關鍵內容,他僅描述軟件過程的本質屬性,而並非面面俱到。抓問題的主要方面的思想貫穿在整個CMM模型中。
3.軟件過程是指軟件工程過程、軟件管理過程和軟件組織的過程三者的有機結合。軟件工程過程是我們理解的常規的軟件的需求分析、設計、編碼、測試等過程;軟件管理過程是指為使軟件工程過程順利進行而進行的管理活動的集合。上述兩個過程是以軟件工程組為主的活動。軟件組織的過程是企業級的對軟件的組織活動,是以企業為主的活動。
4.他是從軟件過程的角度考慮問題,而並非關注軟件軟件開發工具。這與框架軟件生存週期無關,也與所採用的開發技術無關。
5.CMM為改善整個企業的軟件過程提供了指南,而並非針對某個具體項目。SW-CMM並不能保證在這個過程框架下,產品開發百分之百的成功。產品的成功是多種因素的組合,例如市場等因素。
6.CMM1.1是針對大型軟件企業(500人以上)的,對小型的軟件企業(50人以下)需要裁減。
7.SW-CMM認為過程的不斷改進基於許多小的、進化的步驟而不是革命性的創新。
8.基於CMM的過程改善投資力度大、週期長,而技術投資則可能在短期內有較快回報。單獨依靠技術改進可能在短期內有較快回報,但最終可能一無所獲。
對於軟件過程中的工作,在CMM中分為叁個層次進行理解:過程、活動、任務。
CMM的結構
SW-CMM為軟件企業的過程能力提供了一個階梯式的進化框架,階梯共有五級。第一級實際上是一個起點,任何準備按CMM質進化的企業一般都處於這個起點上,並通過這個起點向第二級邁進。除第一級外,每一級都設定了一組目標,如果達到了這組目標,則表明達到了這個成熟級別,可以向下一個級別邁進。CMM系不主張跨越級別的進化,因為從第二級起,每一個低的級別實現均是高的級別實現的基礎。
SW-CMM提供階梯式的進化框架
1.初始級 初始級的軟件過程是未加定義的隨意過程,項目的執行是隨意甚至是混亂的。也許,有些企業制定了一些軟件工程規範,但若這些規範未能覆蓋基本的關鍵過程要求,且執行沒有政策、資源等方面的保證時,那麼它仍然被視為初始級。
2.可重級 根據多年的經驗和教訓,人們總結出軟件開發的首要問題不是技術問題而是管理問題。因此,第二級的焦點集中在軟件管理過程上。一個可管理的過程則是一個可重級的過程,一個可重級的過程則能逐漸進化和成熟。第二級的管理過程包括了需求管理、項目管理、質量管理、配置管理和子合同管理五個方面。其中項目管理分為計劃過程和跟蹤監控過程兩個過程。通過實施這些過程,從管理角度可以看到一個按計劃執行的且階段可控的軟件開發過程。
3.定義級 在第二級僅定義了管理的基本過程,而沒有定義執行的步驟標準。在第三級則要求制定企業範圍的工程化標準,而且無論是管理還是工程開發都需要一套文檔化的標準,並將這些標準集成到企業軟件開發標準過程中去。所有開發的項目需根據這個標準過程,剪裁出該項目的過程,並執行這些過程。過程的剪裁不是隨意的,在使用前需經過企業有關人員的批准。
|
|
2
|
什麼是CMM
|
|
作者: ~落日飛鴻 2006-1-7 23:36 回覆此發言
|
|
|
|
|
4.管理級 第四級的管理是量化的管理。所有過程需建立相應的度量方式,所有產品的質量(包括工作產品和提交給用户的產品)需有明確的度量指標。這些度量應是詳盡的,且可用於理解和控制軟件過程和產品,量化控制將使軟件開發真正變成為工業生產活動。
5.優化級 第五級的目標是達到一個持續改善的境界。所謂持續改善是指可根據過程執行的反饋信息來改善下一步的執行過程,即優化執行步驟。如果一個企業達到了這一級,那麼表明該企業能夠根據實際的項目性質、技術等因素,不斷調整軟件生產過程以求達到最佳。
從效果而言,在上述不同階段,軟件開發生產的成熟程度給軟件企業帶來了完全不同的效果。第一階段到第五個階段,軟件開發生產的計劃精度越來越高,每單位工程的生產週期越來越短,每單位工程的成本越來越低。
關鍵過程域(KPA)
除第一級外,SW-CMM的每一級是按完全相同的結構成的。每一級包含了實現這一級目標的若干關鍵過程域(KPA),每個KPA進一步包含若干關鍵實施活動(KP),無論哪個KPA,它們的實施活動都統一按五個公共屬性進行組織,即每一個KPA都包含五類KP。
1.目標 每一個KPA都確定了一組目標,若這組目標在每一個項目都能實現,則説明企業滿足了該KPA的要求。若滿足了一個級別的所有KPA要求,則表明達到了這個級別所要求的能力。
2.實施保證 實施保證是企業為了建立和實施相應KPA所必須採取的活動,這些活動主要包括制定企業範圍的政策和高層管理的責任。
3.實施能力 實施能力是企業實施KPA的前提條件。企業必須採取措施,在滿足了這些條件後,才有可能執行KPA的執行活動。實施能力一般包括資源保證、人員培訓等內容。
4.執行活動 執行過程描述了執行KPA所需求的必要角色和步驟。在五個公共屬性中,執行活動是唯一項目執行相關的屬性,其餘四個屬性則涉及企業CMM能力基礎設施的建立。執行活動一般包括計劃、執行的任務、任務執行的跟蹤等。
5.度量分析 度量分析描述了過程的度量和度量分析要求。典型的度量和度量分析的要求是確定執行活動的狀態和執行活動的有效性。
6.實施驗證 實施驗證是驗證執行活動是否與建立的過程一致。實施驗證涉及到管理的評審和審計以及質量保證活動。
在實施CMM時,可以根據企業軟件過程存在問題的不同程度確定實現KPA的次序,然後按所確定次序逐步建立、實施相應過程。在執行某一個KPA時,對其目標組也可採用逐步滿足的方式。過程進化和逐步走向成熟是CMM體系的宗旨。
回答者:不會哭的小女孩 - 助理 二級 12-21 19:01
--------------------------------------------------------------------------------
· CMM/CMMI不是軟件企業唯一的選項 · CMM與軟件評價及測試
· 過程“奧林匹克”——CMM的目的 · 軟件市場的通行證——CMM
· 缺陷類型設計表 · 軟件企業的“內修”與“外煉”
· 基於CMM的有效過程改進 · SW-CMM與中國 - 兼論“質量認證”
|
|
3
|
CMM之二
|
|
作者: ~落日飛鴻 2006-1-7 23:53 回覆此發言
|
|
|
|
|
一、引言
信息技術的發展,使得軟件規模越來越大。傳統的“軟件作坊”,生產往往依賴於人們急於創造財富的激動情緒,生產處於無序、混沌的一種狀態,軟件產品的質量不能保證,甚至中途撤消軟件項目。這種生產方式已經不能滿足日益增長的軟件需求了。
人們認識到,軟件過程是否完善是軟件風險大小的決定因素。
1986年11月,美國卡內基梅隆大學的軟件工程研究所(SEI)應美國聯邦政府的要求,針對美國國防部對軟件承包商的能力評價問題,研究"過程成熟度框架"。
它主要用於軟件開發過程和軟件開發能力的評價和改進。CMM自1987年開始實施認證,現已成為軟件業最權威的評估認證體系。
二、CMM綜述
2.1什麼是CMM?
CMM (軟件能力成熟度模型)是英文 Capability Maturity Model for Software縮寫,SW-CMM 的簡稱。
CMM 的定義是:有關軟件企業或組織的軟件過程進程中各個發展階段的定義、實現、質量控制和改善的模型化描述。這個模型用於確定軟件企業或組織的軟件過程能力和找出軟件質量及過程改進方面的最關鍵問題,為企業或組織的過程改進提供指南。
CMM 的核心思想是將軟件開發視為一組過程,並根據統計質量管理的理論對軟件開發進行過程管理,以使其滿足工程化、標準化的要求,使企業能夠更好地實現商業目標。它側重於軟件開發的管理及軟件工程能力的提高,因此 CMM 可以作為企業軟件過程改進的指南,幫助軟件開發機構建立嚴格的、規範的軟件開發過程,最有效地提高軟件工程能力。
2.2 CMM的成熟度等級
CMM 提供了一個軟件能力成熟度模型的框架,它將軟件過程改進的進化步驟組織成五個成熟度等級,為軟件過程不斷改進奠定了一個循序漸進的基礎。每一個成熟度等級為繼續改進過程提供一個台基。第一級實際上是一個起點,任何準備按 CMM 體系進化的企業都自然處於這個起點上,並通過這個起點向第二級邁進。除第一級外,每一等級包含一組過程目標,通過實施相應的一組關鍵過程域來達到這一組過程目標。當這一組目標達到時,就能使軟件過程的一個相應的重要成分得以穩定。每達到成熟度框架的一個等級,就建立起軟件過程的一個相應的穩定成分,從而導致軟件開發組織過程能力一定程度的增長。
CMM的成熟度分級、特徵與要求見下表:
表-1 CMM的分級、特徵與要求
等級名稱 特徵與要求
初始級 軟件過程的特點是無秩序的,偶爾甚至是混亂的。幾乎沒有什麼過程是經過定義的,成功依賴於個人的努力。
可重複級 已建立基本的項目管理過程去跟蹤成本、進度和功能性。必要的過程紀律已經就位,使具有類似應用的項目。能重複以前的成功。
定義級 管理活動和工程活動兩方面的軟件過程均已文檔化、標準化、並集成到組織的標準軟件過程。全部項目均採用供開發和維護軟件用的組織標準軟件過程的一個經批准的剪裁版本。
管理級 企業對產品及過程建立起定量的質量目標,同時在過程中加入規定的很清楚的連續的度量。作為企業的度量方案,要對項目的重要過程活動進行生產率和質量的度量。軟件產品因此而具有可預期的高質量。達到該級的企業已實現過程定量化。
優化級 整個企業將會把重點放在對過程進行不斷的優化,採取主動的措施去找出過程的弱點與長處,以達到預防缺陷的目標。同時,分析各有關過程的有效性資料,作出對新技術的成本與效益的分析,並提出對過程進行修改的建議。達到該級的公司可自發的不斷改進,防止同類缺陷二次出現。
2.3 CMM的關鍵過程域
在CMM中每個成熟度等級(第1級除外)規定了不同的關鍵過程域,一個軟件組織如果希望達到某一個成熟度等級,就必須完全滿足關鍵過程域所規定的不同要求,即滿足每個關鍵過程域的目標。所謂關鍵過程域是指一系列相互關聯的操作活動,這些活動反映了一個軟件組織改進過程時必須集中精力改進的幾個方面。換句話説,關鍵過程域標識了達到某個成熟度等級時所必須滿足的條件。在 CMM 中一共有18個關鍵過程域,分佈在2至5級中:
|
|
4
|
CMM之二
|
|
作者: ~落日飛鴻 2006-1-7 23:53 回覆此發言
|
|
|
|
|
第 2 級(可重複級)有6個關鍵過程域,主要涉及建立軟件項目管理控制方面的內容。
即:需求管理(RM)、軟件項目計劃(SPP)、軟件項目跟蹤與監控(SPTO)、軟件子合同管理(SSM)、軟件質量保證(SQA)、軟件配置管理(SCM)
第 3 級(定義級)有7個關鍵過程域,主要涉及項目和組織的策略,使軟件組織建立起對項目中的有效計劃和管理過程的內部細節。
即:組織過程焦點(OPF)、組織過程定義(OPD)、培訓程序(TP)、集成軟件管理(ISM)、軟件產品工程(SPE)、組間協調(IC)、同級評審(PR)
第 4 級(管理級)有2個關鍵過程域,主要的任務是為軟件過程和軟件產品建立一種可以理解的定量的方式。
即:定量過程管理(QPM)、軟件質量管理(SQM)
第 5 級(優化級)有3個關鍵過程域,主要涉及的內容是軟件組織和項目中如何實現持續不斷的過程改進問題。
即:缺陷預防(DP)、技術變更管理(TCM)、過程變更管理(PCM)
三、軟件企業與CMM
3.1實施CMM對軟件企業的意義
中國正式加入WTO之後,中國軟件市場已經是世界市場的一部分,中國軟件企業已經直接面對國際IT企業的殘酷競爭,中國企業除了要在國內佔領市場之外,還應該放眼世界,走出國門,這樣才能更好的生存和發展。
如何進入國際市場,成為了所有一切的前提。中國軟件要贏得國際市場的信任和青睞,首先必須達到國際標準,通過國際標準的認證。現在想在軟件產業化方面有所作為的企業,已經充分意識到加強國際標準認證的重要性和緊迫性。
鑑於CMM認證在國際上的聲譽地位以及CMM對於軟件企業能帶來的實質性的質量的改進革新,以及我國政府大力支持CMM認證的政策,在企業內部實行項目管理和進行CMM認證:
3.1.1能將以前的隱性管理變為顯性管理,把CMM帶來的管理需求推到前台,並且確定用户在軟件開發過程中的核心地位,使研發過程逐步透明化,項目進度得到更好的控制,實現全過程的質量管理。
3.1.2可以創造一個良好的軟件開發環境和企業文化。軟件開發人員嚴格遵守共同的規則規範,每一步都有明文記錄,將上一次的經驗運用到下一次步驟或項目中去;還能夠做到分工明確,責任清楚,從而實現自身價值。
3.1.3 CMM是評價一個軟件企業項目管理及研發實力的國際準則,它標誌着企業走上標準化、規範化國際化的發展道路。
所以,CMM認證已成為軟件企業的首選行動選擇。通過CMM認證最直接的收益就是得到越來越多的國外企業的信任,也就能接到越來越多的訂單。
原領導摩托羅拉中國研究中心通過CMM認證的李啓煊先生曾説:“中國軟件企業一定要進行CMM認證,如果我們連這點都做不到,將不但被國際軟件產業價值鏈排除在外,不久以後甚至連中國本土的市場也會全部失去,因為CMM是目前提高軟件企業競爭力的最佳途徑。”
3.2軟件企業如何實施CMM
3.2.1領導重視,全員參與。
將CMM變成習慣思維而不是應付差事。
3.2.2以CMM為軟件過程改進指導書,結合企業現狀作適當配置。
不要一味不變的本本理論。
3.2.3運用管理工具。
實施CMM需要的工具有:軟件開發過程框架、需求管理工具、面向對象的分析設計工具、配置管理工具、變更管理工具、軟件測試工具等等。
3.2.4建立軟件工程過程小組(SEPG),負責軟件過程改進。
制定出規範、規程,並經過與項目組反覆討論後確定,以保證其科學有效。此外,還要提供培訓和諮詢服務,解答項目人員的疑問,對項目進行檢查並形成各種工作報告等等。
3.3軟件企業實施CMM的範例
3.3.1 軟件企業實施CMM的過程:
軟件開發組織中實施CMM評估應該按照以下兩個階段進行:
第一階段:申請評估的軟件開發組織首先應該自己組織CMM培訓,強化組織成員的CMM理念,在整個組織中樹立起過程管理和質量管理意識,並着重培養一批具有初步經驗的CMM實施管理人員。在此基礎上,選取一些合適規模的中小型項目進行試點,初步積累一些實施CMM的經驗,為進行正式的CMM評估打下基礎。
|
|
5
|
CMM之二
|
|
作者: ~落日飛鴻 2006-1-7 23:53 回覆此發言
|
|
|
|
|
第二階段:在第一階段取得收穫的基礎上,聘請有實施CMM成功經驗的單位作為諮詢顧問,在組織內全面實施CMM。並且在諮詢專家的指導下提出評估申請,並着手準備組織預評估和正式評估。
3.3.2 某軟件企業實際實施CMM的範例:
在正式決定實施CMM2級的初期,企業上下都非常樂觀,認為在自己的企業實施CMM是一件輕而易舉的事。
實施CMM首先從培訓和過程文檔的編寫開始。經過培訓,大家都認為基本掌握了CMM的知識要點,領會了基於過程改進企業軟件能力的思想。
SEPG組開始定義企業的軟件過程規範和文檔模板的時候,就開始暴露出一些問題。因為SEPG組成員基本上都有本職工作,過程文檔的編寫時間得不到保證,導致過程規範文檔的編寫不能保證進度。而且在文檔編寫中,缺乏整體控制。SEPG組在制訂過程文檔的同時,軟件部門也在醖釀進行組織結構調整,這兩件事同時在進行,分別由不同的人員在運作,相互間的溝通渠道也不順暢。
在經過了幾輪修正後,儘管過程文檔還存在不少的問題,但是SEPG組認為即便再次修改也很難有較大改善。由於進度已經明顯的滯後,在企業高層領導的批准下,經過對項目組成員的培訓,開始了CMM的試運行工作。
部門對於項目計劃比較重視,但忽視了項目策劃過程。在試運行的項目中,SEPG組要求項目經理需要把項目策劃過程逐一地留下證據,便於SQA人員的審核。在實際的操作過程中,前期工作留下的隱患開始逐步暴露出來。首先暴露出來的問題是項目估計規程存在一些不合理的地方。其次,由於以前基本沒有科學地進行估計,也沒有適用的歷史數據,項目組成員在進行估計時有一種無從下手的感覺。再次,項目成員對於過程文檔的理解不夠深入,經常理解錯誤。導致項目組在項目策劃過程中消耗了很長的時間,也帶來了一些爭執和衝突。
項目計劃出來以後,和以前的項目計劃比較,發現工作量增加了很多。究其原因:1.新的計劃是經過詳細的估計過程逐步得到的,而以前的計劃則屬於是“拍腦瓜”的結果。2.原計劃中,管理活動考慮較少,而新的計劃增加了一些可以預期的管理活動。3.由於是初次使用科學的方法進行估計,但是估計過程中的參數選擇可能與企業現狀不符。
高級經理在看到這個計劃後,雖然也覺得新的項目策劃過程更加科學,但是,迫於績效考核的壓力,不大情願批准這樣的計劃,甚至不願意把這些項目投入到CMM的試運行中。
在實施的過程中,也存在一些問題困擾着SEPG組。
例如: 企業實施CMM時都想盡快地見到實效,可是在實施初期,過程規範很難一步到位,過程規範的探索和改進會增加軟件項目的工作量。實施CMM可能會在相當長的時間內,企業需要付出很多學費,而效果卻需要很長的時間才能顯露出來。
值得慶幸的是,上述的一些問題已經開始被SEPG組所識別,並且得到了公司各方的重視。同時,諮詢公司也在積極地指導我們解決試運行過程中碰到的問題。希望在不久的將來,CMM能夠得到大家的認可,主動地按照相應的過程規範來運作軟件項目,並且可以順利地通過評估。
|
|
6
|
CMM之三
|
|
作者: ~落日飛鴻 2006-1-7 23:54 回覆此發言
|
|
|
|
|
什麼是CMM
日前,國務院發佈的《鼓勵軟件產業和集成電路產業發展的若干政策》中第17條中表示,將對軟件出口型企業CMM認證費用予以適當支持,那麼CMM是什麼呢? CMM是能力成熟度模型(capabilityMaturityModel)的縮寫,是一種用於評價軟件承包能力並幫助其改善軟件質量的方法,側重於軟件開發過程的管理及工程能力的提高與評估。CMM分為五個等級:一級為初始級,二級為可重複級,三級為已定義級,四級為已管理級,五級為優化級。 CMM是由美國卡內基梅隆大學軟件工程研究所1987年研製成功的,是目前國際上最流行最實用的軟件生產過程標準和軟件企業成熟度等級認證標準。目前,我國已有軟件企業通過了CMM標準認證。
********************************************
CMM是軟件過程能力成熟度模型(Capacity Maturity Model)
不過這東西被上一期csdn雜誌上一篇文章鄙視過。
CMM簡介
CMM是軟件過程能力成熟度模型(Capacity Maturity Model)的簡稱,是卡內基-梅隆大學軟件工程研究院為了滿足美國聯邦政府評估軟件供應 商能力的要求,於1986年開始研究的模型,並於1991年正式推出了CMM 1.0 版。CMM自問世以來備受關注,在一些發達國家和地區得到了廣泛應用,成為衡量軟件公司軟件開發管理水平的重要參考因素和軟件過程改進事實上的工業標準。據瞭解,美國、印度、日本等國家已有數十家公司通過了CMM不同等級的認證。
1986年11月,SEI應美國聯邦政府的要求,在Mitre公司的協助下,於1987年9月開發了一套軟件能力成熟度框架和一套軟件成熟度問卷,用來評估軟件供應商的能力。這就是最早用於探索軟件過程成熟度的一個工具。
四年以後,也就是1991年,SEI自己總結了CMM成熟度框架和初版成熟度問卷的實踐經驗,並以此為基礎推出民用CMM1.0版。
CMM1.0版合用兩年之後,1992年4月,SEI舉行了CMM一個的研討會,參加研討會的有大約200名富有經驗的軟件專家。SEI在廣泛聽取他們的意見之後,又於1993年推出 CMM1.1版。這也是目前世界上比較流行和通用的CMM版本。
十幾年來,此項工作一直在不斷進行。按照SEI原來的計劃,CMM的改進版本2.0應該在1997年11月完成,然後在取得版本2.0得實踐反饋意見之後,在1999年完成準CMM2.0版本。但是,美國國防部辦公室要求SEI推遲發佈CMM2.0版本,而要先完成一個更為緊迫得項目CMMI。
CMMI(Capability Maturity Model Integration)即能力成熟度模型集成,這也是美國國防部的一個設想,他們想把現在所有的以及將被髮展出來的各種能力成熟度模型,集成到一個框架中去。這個框架有兩個功能,第一,軟件獲取方法的改革;第二,建立一種從集成產品與過程發展的角度出發、包含健全的系統開發原則的過程改進。
隨着人們對CMM研究的不斷深入,其他學科也結合本系統的特點,陸續推出了自己的CMM模型。例如,人力資源能力成熟度模型、系統工程能力成熟度模型等等。為了以示區別,國內外很多資料把CMM叫做SW-CMM。
軟件過程成熟度的提高是一個漸進的過程,需要一個長遠的、可持續發展的過程作為保證。為建立一個面向過程持續提高的基礎和文化,有些軟件企業可能要花費很大的精力和時間。但是這種努力對任何一個軟件企業來説都是非常必要的。
CMM目前代表着軟件發展的一種思路,一種提高軟件過程能力的途徑。儘管它存在着某些不足。例如,成熟級別、關鍵過程域、公共屬性和關鍵實踐還需要在軟件行業進一步深入地討論和修訂,但它確實為軟件行業的發展提供了一個良好的框架,而且是濃度軟件過程能力提高的有用工具。
增強我國軟件企業的競爭力,提高國產軟件的水平是國人的共同願望,但目前我國軟件水平,尤其是軟件開發能力和軟件生產能力還很差,這也是不爭的事實。那麼,如何提高我國軟件的開發和生產能力,從而提高軟件整體水平?軟件企業實施CMM也許不失為一條有效的途徑。
|
|
7
|
CMM之三
|
|
作者: ~落日飛鴻 2006-1-7 23:54 回覆此發言
|
|
|
|
|
一個企業的軟件能力更取決於該企業的過程能力,特別是在軟件開發和生產中的成熟度。其過程能力越是成熟,該企業的軟件生產能力 就越有保證。目前,我國已有一些軟件企業正在嘗試實施CMM。
當然,CMM不是萬能的,並不一定對所有的軟件企業都適合,實施CMM的企業也有失敗的例子。我們希望通過本專欄能使更多的企業瞭解CMM,儘快找到適合本企業的發展之路,從而提高中國軟件企業的競爭力。
**********************************************
畫一個圖吧:(CMM的五層結構圖)
-----------------
/ 優 化 級 /
/ (5) /
-----------------
↑
| 不斷改進的過程
|
-----------------
/ 可 管 理 級 /
/ (4) /
-----------------
↑
| 能預見的過程
|
-----------------
/ 確 定 級 /
/ (3) /
-----------------
↑
| 標準一致的過程
|
-----------------
/ 可 重 復 級 /
/ (2) /
-----------------
↑
| 有紀律的過程
|
-----------------
/ 初 始 級 /
/ (1) /
-----------------
*********************************************
CMM即Capability Maturity Model,中文翻譯為能力成熟度模型", 是軟件工程研究的一個重要里程碑。CMM的研究始於1986年11月,當時為了滿足美國聯邦政府評估軟件供應商能力的要求,美國卡內基·梅隆大學的軟件工程研究院(SEI)牽頭,在Mitre公司的協助下,用不到一年的時間,於1987年9月發佈了一份能力成熟度框架(Capability Maturity Framework),以及一套成熟度問卷(Maturity Questionnaire).
很多人認為這套問卷就代表了CMM模型,其實它只是用於探索軟件過程成熟度的一個工具,真正的模型出現在四年以後。SEI總結了自1987年以來對成熟度框架和初版成熟度問卷的實戰經驗,並以此為基礎,推出了CMM1.0版。這個推出於1991年的CMM1.0 集中了四年來對軟件公司評估的經驗以及廣泛的用户反饋,在成熟度框架的基礎上建立了一個可用的模型,這個模型可以更加有效地幫助軟件企業建立和實施過程改進計劃。
CMM1.0版使用兩年之後,於1992年四月進行了一個研討會,參加研討會的有約兩百名富有經驗的軟件專業人員。在廣泛聽取了他們的反饋意見之後,SEI於1993年推出了CMM1.1版。近幾年來,CMM又推出了2.0版本,同時進入了ISO體系,稱為ISO/IEC15504或SPICE. SPICE從1995年起進入實地測試階段,可能於2001年發佈。
CMM致力於軟件開發過程的管理及工程能力的提高與評估。該模型在美國和北美地區已得到廣泛應用同時正在被越來越多的歐洲和亞洲等國家的大型信息技術企業所採納,實際上已成為軟件開發過程改進與評估的事實上的工業標準。
CMM將軟件過程的成熟度分為5個等級,以下是5個等級的軟件機構的特徵:
(1)初始級(initial) 工作無序,項目進行過程中常放棄當初的計劃。管理無章,缺乏健全的管理制度。開發項目成效不穩定,優秀管理人員的管理方法可能取得有效,但他一離去,工作秩序面目全非,產品的性能和質量依賴於個人能力和行為。
(2)可重複級(Repeatable) 管理制度化,建立了基本的管理制度和規程,管理工作有章可循。 初步實現標準化,開發工作較好地實施標準。 變更依法進行,做到基線化。穩定可跟蹤,新項目的計劃和管理基於過去的實踐經驗,具有重複以前成功項目的環境和條件。
(3)已定義級(Defined) 開發過程,包括技術工作和管理工作,均已實現標準化、文檔化。 建立了完善的培訓制度和專家評審制度 全部技術活動和管理活動均可控制 對項目進行中的過程、崗位和職責均有共同的理解 。
(4)已管理級(Managed) 產品和過程已建立了定量的質量目標。過程中活動的生產率和質量是可量度的。已建立過程數據庫。已實現項目產品和過程的控制。可預測過程和產品質量趨勢,如預測偏差,實現及時糾正。
|
|
8
|
CMM之三
|
|
作者: ~落日飛鴻 2006-1-7 23:54 回覆此發言
|
|
|
|
|
(5)優化級(Optimizing) 可集中精力改進過程,採用新技術、新方法。擁有防止出現缺陷、識別薄弱環節以及加以改進的手段。可取得過程有效性的統計數據,並可據進行分析,從而得出最佳方法。
軟件大國印度,十分重視軟件開發過程的管理及與其相關的理論與標準的發展。據統計,在印度的2000多家軟件公司中有75家軟件公司通過了ISO9000認證, 60多家軟件公司通過了CMM認證,其中達到CMM5級一家,4級三家,3級4家。
CMM與ISO9000的區別主要有以下幾點:
1.CMM是專門針對軟件產品開發及服務的,而ISO9000則有寬得多的範圍。
2.CMM強調軟件開發過程的成熟度,即過程的不斷改進和提高,而ISO9000則僅描述可接收的質量體系的最低標準。
3.CMM3級的覆蓋範圍要大於ISO9000的覆蓋範圍
引進CMM的意義:
1. 對軟件企業:
提高軟件開發的管理能力:CMM提供了軟件企業自我評估的方法和自我提高的手段
提高軟件生產率
加強軟件生產的國際競爭力
2. 對軟件項目發包單位和軟件用户:
提供了對軟件開發商開發管理水平的評估手段,有助於軟件開發項目的風險識別。
***********************************************
隨着人們對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的發展過程
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是Capability Maturity Model for Software的簡稱,中文叫“軟件能力成熟度模型”,是對組織軟件過程能力的描述。CMM的核心是把軟件開發視為一個過程,並根據這一原則對軟件開發和維護進行過程監控和研究,以使其更加科學化、標準化,使企業能夠更好的實現商業目標。它側重於軟件過程開發的管理及軟件工程能力的改進與評估,因此CMM被用作評價軟件承包商能力並幫助組織改善軟件過程質量,是目前國際上最流行、最實用的一種軟件過程改進模型,成為當今企業從事規模軟件生產不可缺少的一項內容。CMM的目的是幫助軟件企業對軟件工程過程進行管理和改進,增強開發與改進能力,從而能按時地、不超預算地開發出高質量的軟件。企業實施CMM模型並評估可為企業帶來如下好處:指導軟件組織提高軟件開發管理能力;降低軟件承包商和採購者的風險;評估軟件承包商的軟件開發管理能力;幫助軟件企業識別開發和維護軟件的有效過程和關鍵實踐;幫助軟件企業識別為達到CMM更高成熟等級所必須的關鍵實踐;增加軟件企業的國際競爭能力。
|
|
9
|
CMM之三
|
|
作者: ~落日飛鴻 2006-1-7 23:54 回覆此發言
|
|
|
|
|
**********************************************
什麼是CMM的核心?這是長期在有志於軟件工程與過程改進的人中存在的一個問題。本人在一次CMM培訓中準備了一個案例,希望能夠生動而淺顯地解釋這個問題,在此與大家共享,也希望大家能提出更多問題。如要轉載,請順手給我發個Email:JennyLi@netease.com,非常感謝。案例背景:有一間房子,裏面有一些人,一些杯子和水壺,以及用於燒水的用具,所有的人都需要喝開水。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分鐘制定相應的過程:如果買飲水機,則需要定期定購桶裝水,定期對飲水機出水口進行清洗和消毒,請人及時更換空水桶試行過程:先找幾個人試用,看看是否能達到預期目標推廣:讓所有人都用飲水機繼續發現其它的根本原因……問題:怎樣發現更多根本原因怎樣引進更多新方法思考:還有什麼比飲水機更好的方法嗎?
比喻二:
一級:一羣人沒有經過訓練,也不知道有沒有經驗,下水之後亂撲騰,有的人浮起來,有的人沉下去了。這就是一級的無序狀態,結果是不可知的二級:大家都在游泳池或者小池塘裏下過幾次水,基本上在這樣的條件下不會出事了。但是動作亂七八糟,有狗刨有説不出名字的動作。也就是二級的能夠重複以前的成功經驗三級:經過研究,確定了幾種標準泳姿,知道自由泳最快,蛙泳最省力等等。這就是三級,有了標準的過程定義四級:大家都掌握標準動作之後,互相之間的成績就可以比較了。通過測量大家的游泳成績(當然不同泳姿的成績要分開)、肌肉力量等等,分析特別好的和特別差的,找出好的原因和差的原因,大家的技術水平不斷提高。這就是四級的量化控制,通過數據來管理和改進五級:大家的技術水平都很高了,動作都很完美。我們就通過創造新的泳姿,引入新式游泳衣等等創新來提高成績。這就是五級的持續改進
**********************************************
CMM的結構
SW-CMM為軟件企業的過程能力提供了一個階梯式的進化框架,階梯共有五級。第一級實際上是一個起點,任何準備按CMM質進化的企業一般都處於這個起點上,並通過這個起點向第二級邁進。除第一級外,每一級都設定了一組目標,如果達到了這組目標,則表明達到了這個成熟級別,可以向下一個級別邁進。CMM系不主張跨越級別的進化,因為從第二級起,每一個低的級別實現均是高的級別實現的基礎。
|
|
10
|
CMM之三
|
|
作者: ~落日飛鴻 2006-1-7 23:54 回覆此發言
|
|
|
|
|
SW-CMM提供階梯式的進化框架
1.初始級 初始級的軟件過程是未加定義的隨意過程,項目的執行是隨意甚至是混亂的。也許,有些企業制定了一些軟件工程規範,但若這些規範未能覆蓋基本的關鍵過程要求,且執行沒有政策、資源等方面的保證時,那麼它仍然被視為初始級。
2.可重級 根據多年的經驗和教訓,人們總結出軟件開發的首要問題不是技術問題而是管理問題。因此,第二級的焦點集中在軟件管理過程上。一個可管理的過程則是一個可重級的過程,一個可重級的過程則能逐漸進化和成熟。第二級的管理過程包括了需求管理、項目管理、質量管理、配置管理和子合同管理五個方面。其中項目管理分為計劃過程和跟蹤監控過程兩個過程。通過實施這些過程,從管理角度可以看到一個按計劃執行的且階段可控的軟件開發過程。
3.定義級 在第二級僅定義了管理的基本過程,而沒有定義執行的步驟標準。在第三級則要求制定企業範圍的工程化標準,而且無論是管理還是工程開發都需要一套文檔化的標準,並將這些標準集成到企業軟件開發標準過程中去。所有開發的項目需根據這個標準過程,剪裁出該項目的過程,並執行這些過程。過程的剪裁不是隨意的,在使用前需經過企業有關人員的批准。
4.管理級 第四級的管理是量化的管理。所有過程需建立相應的度量方式,所有產品的質量(包括工作產品和提交給用户的產品)需有明確的度量指標。這些度量應是詳盡的,且可用於理解和控制軟件過程和產品,量化控制將使軟件開發真正變成為工業生產活動。
5.優化級 第五級的目標是達到一個持續改善的境界。所謂持續改善是指可根據過程執行的反饋信息來改善下一步的執行過程,即優化執行步驟。如果一個企業達到了這一級,那麼表明該企業能夠根據實際的項目性質、技術等因素,不斷調整軟件生產過程以求達到最佳。
從效果而言,在上述不同階段,軟件開發生產的成熟程度給軟件企業帶來了完全不同的效果。第一階段到第五個階段,軟件開發生產的計劃精度越來越高,每單位工程的生產週期越來越短,每單位工程的成本越來越低。
關鍵過程域(KPA)
除第一級外,SW-CMM的每一級是按完全相同的結構成的。每一級包含了實現這一級目標的若干關鍵過程域(KPA),每個KPA進一步包含若干關鍵實施活動(KP),無論哪個KPA,它們的實施活動都統一按五個公共屬性進行組織,即每一個KPA都包含五類KP。
1.目標 每一個KPA都確定了一組目標,若這組目標在每一個項目都能實現,則説明企業滿足了該KPA的要求。若滿足了一個級別的所有KPA要求,則表明達到了這個級別所要求的能力。
2.實施保證 實施保證是企業為了建立和實施相應KPA所必須採取的活動,這些活動主要包括制定企業範圍的政策和高層管理的責任。
3.實施能力 實施能力是企業實施KPA的前提條件。企業必須採取措施,在滿足了這些條件後,才有可能執行KPA的執行活動。實施能力一般包括資源保證、人員培訓等內容。
4.執行活動 執行過程描述了執行KPA所需求的必要角色和步驟。在五個公共屬性中,執行活動是唯一項目執行相關的屬性,其餘四個屬性則涉及企業CMM能力基礎設施的建立。執行活動一般包括計劃、執行的任務、任務執行的跟蹤等。
5.度量分析 度量分析描述了過程的度量和度量分析要求。典型的度量和度量分析的要求是確定執行活動的狀態和執行活動的有效性。
6.實施驗證 實施驗證是驗證執行活動是否與建立的過程一致。實施驗證涉及到管理的評審和審計以及質量保證活動。
在實施CMM時,可以根據企業軟件過程存在問題的不同程度確定實現KPA的次序,然後按所確定次序逐步建立、實施相應過程。在執行某一個KPA時,對其目標組也可採用逐步滿足的方式。過程進化和逐步走向成熟是CMM體系的宗旨。
|
|
11
|
瀋陽東軟軟件股份有限公司 軟件工程過程組
|
|
作者: ~落日飛鴻 2006-1-8 10:48 回覆此發言
|
|
|
|
|
第七講:CMM關鍵過程域
--------------------------------------------------------------------------------
軟件項目跟蹤和監督的目的是建立軟件項目實際進展狀態的可視性,使管理者能在軟件項目性能偏離開發計劃時採取有效措施。管理者監控軟件活動主要通過在所選定的時間點或里程碑處,將實際的軟件規模、工作量、成本和時間表與計劃相比較來確定進展情況。當確定未實現擬訂的目標時,採取糾正措施。這些措施可以包括修訂開發計劃、重新策劃剩餘工作或者採取其他改進項目性能的措施。
隨着軟件組織能力成熟度的不斷提高,對項目實際進展的可視性將不斷增強。當軟件組織的能力成熟度相對較低的時候,在問題出現時項目的管理者主要集中精力於識別和分析問題、調整計劃或性能以便解決這些問題,當軟件組織的能力成熟度處於CMM Level 3或更高級別時,項目管理者對項目的管理重點將轉移到採取預防措施防止問題發生的層面上,避免問題的發生或者使問題的影響最小。提高對項目狀態的可視程度至關重要,在東軟的項目監控過程中,通常採用週報、日報、部門例會、項目例會及里程碑評審會等方式來了解項目進展情況,建立並使用了軟件度量過程來收集和分析項目實際狀態數據,對項目的工作量、成本、規模、需求、質量、關鍵路徑和關鍵計算機資源等方面進行跟蹤監控,達到項目管理的目的。
軟件度量是軟件項目跟蹤和監督過程中的一項重要活動,是管理軟件項目的主要手段。通過度量可以使項目的管理者對項目狀態有清楚的認識和正確的理解,在他們制定出合理計劃的同時幫助他們監控項目發展的趨勢,發現潛在的問題,從而達到控制成本、降低風險、提高質量的目的。同時,有效的度量過程能夠幫助軟件組織瞭解自己的軟件過程能力,軟件度量也是組織過程改善活動的基礎。
組間協調
當一個軟件項目由多個工程組共同參與時,這個組織或者項目的管理者將不得不考慮如何保證並提高工程組之間合作效率的問題。在CMM的已定義級(Defined Level)中,CMM以一個關鍵過程域(KPA)的形式——組間協調(Intergroup Coordination)描述了各個工程組之間在進行協同工作時應當執行的關鍵實踐。
組間協調的目的是建立一種軟件工程組與其他工程組一起積極參與項目協作的方式,通過這種方式的協作使得項目能夠有效並高效地滿足客户的需求。在組間協調過程中強調要實現三個目標,一是客户的需求要得到全部受影響的組的認同;二是工程組之間的約定要得到受影響的組的認同;三是工程組要識別、跟蹤和解決組間問題。
從項目啓動開始,項目組內的各工程組之間及項目內工程組與項目外部有關工程組間就可能存在着需要進行協調的關係,組間協調活動貫穿在整個項目生命週期之中。東軟在實施組間協調過程時,根據自己的組織結構和項目類型的特點,將組間協調過程分成三個階段進行:
1. 在需求建立時,受影響的軟件工程組和其他工程組一起參與確認和闡述系統層的需求、對象,識別、分析問題。必要時,顧客和最終用户也要參與建立系統層的需求和目標的工作,這些需求和目標將成為項目中全部工程活動的基礎。
2. 在項目的策劃階段,對組間的技術工作接口和相互的關鍵依賴關係進行識別和策劃,以保證整個系統的質量和統一性。
3. 在項目執行過程中,各工程組的代表參與定期的技術評審和內部交流,以保證所有工程組都清楚各組的狀態和計劃,各組代表共同管理和評審組間協調活動,保證系統和組間的問題受到恰當的關注,並協商解決組間協調中存在的問題。
子合同管理
軟件子合同管理,即Software Subcontract Management。由於SW-CMM是美國國防部投資研究的項目,而美國軍方有大量的子合同轉包,因此子合同管理成為一個基本的關鍵過程域。子合同管理的目的就是選擇合格的軟件承包商,並可進行有效的管理。
|
|
12
|
瀋陽東軟軟件股份有限公司 軟件工程過程組
|
|
作者: ~落日飛鴻 2006-1-8 10:48 回覆此發言
|
|
軟件子合同管理把在需求管理、軟件項目策劃、以及軟件項目跟蹤和監督、軟件質量保證和軟件配置管理等過程中所關注的事情有機地結合在一起,並對子承包商實施這項管理。軟件子合同管理的內容包括選擇軟件子承包商、建立和子承包商的約定、跟蹤和評審子承包商的性能和結果。這些實踐包括對純軟件子合同的管理,也包括對子合同的軟件成分的管理,後者含有軟件、硬件和可能有的其他系統成分。
軟件子承包商的選擇應由項目責任者(業主或主承包商)負責,子承包商的選擇是基於能力的。項目的責任者與子承包商對所承包的項目責任要有一致的認同,並保持不斷交流,項目的責任者負責根據合同的責任跟蹤子承包商實際工作結果。子承包商的軟件策劃、跟蹤和監督活動由主承包商完成。主承包商確保恰當地完成這些策劃、跟蹤和監督活動並且確保子承包商交付的軟件產品滿足其驗收準則。主承包商和子承包商一起工作去管理他們的產品和過程接口。
培訓大綱
作為項目過程的執行者,人力資源是項目中最為重要的資源。“工欲善其事必先利其器”,使項目中的人力資源得到充分使用,能夠人盡其才是項目成功的必要保證。因此對於人員的培訓作用顯得尤為突出,一個組織是否已經建立並使用了一個有效的培訓過程也變得更為重要。培訓大綱的目的是培育個人的技能和知識,使他們能有效地和高效地履行其職責。培訓大綱要求首先分別識別出組織、項目和個人所需要的培訓,然後設法使這些對象獲得必要培訓以滿足所識別的需求。一個培訓過程一般要執行如下圖所示的四項基本活動:
培訓過程流程圖
軟件組織首先在考慮組織的現狀及發展規劃的基礎上,分析所有項目技術或應用領域及項目成員的發展要求,提出組織在軟件工程、項目管理和軟件過程改善等方面的培訓需求,其次根據培訓需求的分析評審結果制定培訓計劃,確定培訓教師、課程並選擇目標學員。然後在執行培訓活動的同時建立並維護組織上的培訓數據庫,對人力資源的能力數據進行管理。對於軟件項目,在進行項目策劃時要分析項目中當前的和未來的技能需求,並確定獲得這些技能的方式。某些技能可以有效地通過非正式的培訓方式獲得,例如在職培訓和非正式指導,而其他技能則需要通過較正式的培訓方式才能有效地獲得,這些方式例如課堂培訓和受指導的自學。項目在研究培訓需求時,必須同時選擇確定恰當的培訓方式。
通過CMM的實施,東軟對整個公司的組織結構、項目結構、人員角色進行嚴格的功能劃分和責任定義,通過培訓過程使每一個擔當項目管理和開發的人員具備充分且必要的知識和技能,
人員能力水平的提高有力地保證了軟件項目的順利進行。
結 束 語
只有高質量的軟件開發過程,才可能長期穩定地生產出高質量的軟件產品,因此只有不斷改善軟件過程才能使軟件產品的質量得到進一步的提高。東軟依據CMM標準,標識原有軟件過程中存在的關鍵問題,制定相應的軟件過程改善策略,使整個公司的軟件過程能力不斷成熟。經過兩年多的CMM實施,東軟規範了軟件過程,包括新過程的建立、現有的軟件過程的執行及改善都已經形成了制度,並在實施CMM的過程中積累了大量的用於指導軟件項目開發和管理的軟件過程財富。同時通過CMM的實施,東軟也培養了一批優秀的管理和技術人員,隨着能力成熟度等級的提高,員工的信心和開發團隊的士氣都得到了很大的提高。
目前,基於CMM標準的軟件過程已經在東軟內部得到了全面應用。東軟實施CMM的成功經驗表明,只有對軟件項目進行科學的管理,才能有效地控制項目的成本、進度和質量,實現公司和用户的目標。
|