CMM5

CMM5

軟體開發能力的評價和改進。CMM自1987年開始實施認證,現已成為軟體業最權威的評估認證體系。

特徵


1、整個組織特別關注軟體過程改進的持續性、預見及增強自身,防止缺陷及問題的發生,不斷地提高他們的過程處理能力。
2、加強定量分析,通過來自過程的質量反饋和吸收新觀念,新科技,使軟體過程能不斷地得到改進。
3、根據軟體過程的效果,進行成本/利潤分析,從成功的軟體過程中吸取經驗,加以總結。把最好的創新成績迅速向全組織轉移,對失敗的案例,由軟體過程小組進行分析以找出原因。
4、組織能找出過程的不足並預先改進,把失敗的教訓告知全體組織以防止重複以前的錯誤。
5、對軟體過程的評價和對標準軟體過程的改進,都在全組織內推廣。

CMM綜述


什麼是CMM?
CMM (軟體能力成熟度模型)是英文 Capability Maturity Model for Software縮寫,SW-CMM 的簡稱。
CMM 的定義是:有關軟體企業或組織的軟體過程進程中各個發展階段的定義、實現、質量控制和改善的模型化描述。這個模型用於確定軟體企業或組織的軟體過程能力和找出軟體質量及過程改進方面的最關鍵問題,為企業或組織的過程改進提供指南。
CMM 的核心思想是將軟體開發視為一組過程,並根據統計質量管理的理論對軟體開發進行過程管理,以使其滿足工程化、標準化的要求,使企業能夠更好地實現商業目標。它側重於軟體開發的管理及軟體工程能力的提高
CMM的成熟度等級
CMM 提供了一個軟體能力成熟度模型的框架,它將軟體過程改進的進化步驟組織成五個成熟度等級,為軟體過程不斷改進奠定了一個循序漸進的基礎。每一個成熟度等級為繼續改進過程提供一個台基。第一級實際上是一個起點,任何準備按 CMM 體系進化的企業都自然處於這個起點上,並通過這個起點向第二級邁進。除第一級外,每一等級包含一組過程目標,通過實施相應的一組關鍵過程域來達到這一組過程目標。當這一組目標達到時,就能使軟體過程的一個相應的重要成分得以穩定。每達到成熟度框架的一個等級,就建立起軟體過程的一個相應的穩定成分,從而導致軟體開發組織過程能力一定程度的增長。
CMM的關鍵過程域
在CMM中每個成熟度等級(第1級除外)規定了不同的關鍵過程域,一個軟體組織如果希望達到某一個成熟度等級,就必須完全滿足關鍵過程域所規定的不同要求,即滿足每個關鍵過程域的目標。所謂關鍵過程域是指一系列相互關聯的操作活動,這些活動反映了一個軟體組織改進過程時必須集中精力改進的幾個方面。換句話說,關鍵過程域標識了達到某個成熟度等級時所必須滿足的條件。在 CMM 中一共有18個關鍵過程域,分佈在2至5級中:
第 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對軟體企業的意義
中國正式加入WTO之後,中國軟體市場已經是世界市場的一部分,中國軟體企業已經直接面對國際IT企業的殘酷競爭,中國企業除了要在國內佔領市場之外,還應該放眼世界,走出國門,這樣才能更好的生存和發展。
如何進入國際市場,成為了所有一切的前提。中國軟體要贏得國際市場的信任和青睞,首先必須達到國際標準,通過國際標準的認證。現在想在軟體產業化方面有所作為的企業,已經充分意識到加強國際標準認證的重要性和緊迫性。
鑒於CMM認證在國際上的聲譽地位以及CMM對於軟體企業能帶來的實質性的質量的改進革新,以及我國政府大力支持CMM認證的政策,在企業內部實行項目管理和進行CMM認證:
3.1.1能將以前的隱性管理變為顯性管理,把CMM帶來的管理需求推到前台,並且確定用戶在軟體開發過程中的核心地位,使研發過程逐步透明化,項目進度得到更好的控制,實現全過程的質量管理。
3.1.2可以創造一個良好的軟體開發環境和企業文化。軟體開發人員嚴格遵守共同的規則規範,每一步都有明文記錄,將上一次的經驗運用到下一次步驟或項目中去;還能夠做到分工明確,責任清楚,從而實現自身價值。
3.1.3 CMM是評價一個軟體企業項目管理及研發實力的國際準則,它標誌著企業走上標準化、規範化國際化的發展道路。
所以,CMM認證已成為軟體企業的首選行動選擇。通過CMM認證最直接的收益就是得到越來越多的國外企業的信任,也就能接到越來越多的訂單。
原領導摩托羅拉中國研究中心通過CMM認證的李啟煊先生曾說:“中國軟體企業一定要進行CMM認證,如果我們連這點都做不到,將不但被國際軟體產業價值鏈排除在外,不久以後甚至連中國本土的市場也會全部失去,因為CMM是目前提高軟體企業競爭力的最佳途徑。”
軟體企業如何實施CMM
3.2.1領導重視,全員參與。
將CMM變成習慣思維而不是應付差事。
3.2.2以CMM為軟體過程改進指導書,結合企業現狀作適當配置。
不要一味不變的本本理論。
3.2.3運用管理工具。
實施CMM需要的工具有:軟體開發過程框架、需求管理工具、面向對象的分析設計工具、配置管理工具、變更管理工具、軟體測試工具等等。
3.2.4建立軟體工程過程小組(SEPG),負責軟體過程改進。
制定出規範、規程,並經過與項目組反覆討論后確定,以保證其科學有效。此外,還要提供培訓和諮詢服務,解答項目人員的疑問,對項目進行檢查並形成各種工作報告等等。
軟體企業實施CMM的範例
3.3.1 軟體企業實施CMM的過程:
軟體開發組織中實施CMM評估應該按照以下兩個階段進行:
第一階段:申請評估的軟體開發組織首先應該自己組織CMM培訓,強化組織成員的CMM理念,在整個組織中樹立起過程管理和質量管理意識,並著重培養一批具有初步經驗的CMM實施管理人員。在此基礎上,選取一些合適規模的中小型項目進行試點,初步積累一些實施CMM的經驗,為進行正式的CMM評估打下基礎。
第二階段:在第一階段取得收穫的基礎上,聘請有實施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能夠得到大家的認可,主動地按照相應的過程規範來運作軟體項目,並且可以順利地通過評估。