CMM/CMMI簡介

來源:互聯網
上載者:User

CMM(Capability Maturity Model for Software,英文縮寫為SW-CMM,簡稱CMM,即軟體能力成熟度等級模型),是企業在開發流程化和品質管理上的國際通行標準,由美國卡內基梅隆大學軟體工程研究院於1987年研製成功,是目前國際上最流行、最實用的軟體生產過程標準和軟體機構成熟度等級認證標準。
       CMM是一種用於評價軟體承包能力並協助其改善軟體品質的方法,側重於軟體開發過程的管理及工程能力的提高與評估。CMM分為五個等級:一級為初始級,二級為可重複級,三級為已定義級,四級為已管理級,五級為最佳化級,從低到高,軟體開發生產計劃精度逐級升高,單位工程生產周期逐級縮短,單位工程成本逐級降低。其目的在於協助軟體組織改善其軟體生產過程的成熟度等級模式,以探索一種保證軟體產品品質、縮短開發週期、提高工作效率的軟體工程模式與標準規範。
       其所依據的想法是:只要集中精力持續努力去建立有效軟體工程過程的基礎結構,不斷進行管理的實踐和過程的改進,就可以克服軟體生產中的困難。CMM它是目前國際上最流行、最實用的一種軟體生產過程標準,已經得到了眾多國家以及國際軟體產業界的認可,成為當今企業從事規模軟體生產不可缺少的一項內容。
       軟體過程包括各種活動、技術和用來生產軟體的工具。因此,它實際上包括了軟體生產的技術方面和管理方面。CMM策略力圖改進軟體過程的管理,而在技術上的改進是其必然的結果。
  必須牢記,軟體過程的改善不可能在一夜之間完成,CMM是以增量方式逐步引入變化的。CMM明確地定義了5個不同的“成熟度等級”等級,一個組織可按一系列小的改良性步驟向更高的成熟度等級前進。
成熟度等級1:初始級(Initial)。處於這個最低級的組織,基本上沒有健全的軟體工程管理制度。每件事情都以特殊的方法來做。如果一個特定的工程碰巧由一個有能力的管理員和一個優秀的軟體開發組來做,則這個工程可能是成功的。然而通常的情況是,由於缺乏健全的總體管理和詳細計劃,時間和費用經常超支。結果,大多數的行動只是應付危機,而非事先計劃好的任務。處於成熟度等級1的組織,由於軟體過程完全取決於當前的人員配備,所以具有不可預測性,人員變化了,過程也跟著變化。結果,要精確地預測產品的開發時間和費用之類重要的項目,是不可能的。
成熟度等級2:可重複級(Repeatable)。在這一級,有些基本的軟體項目的管理行為、設計和管理技術是基於相似產品中的經驗,故稱為“可重複”。在這一級採取了一定措施,這些措施是實現一個完備過程所必不可缺少的第一步。典型的措施包括仔細地跟蹤費用和進度。不像在第一級那樣,在危機狀態下方行動,管理員在問題出現時便可發現,並立即採取修正行動,以防它們變成危機。關鍵的一點是,如沒有這些措施,要在問題變得無法收拾前發現它們是不可能的。在一個項目中採取的措施也可用來為未來的項目擬定實現的期限和費用計劃。
成熟度等級3:已定義級(Defined)。在第3級,已為軟體生產的過程編製了完整的文檔。軟體過程的管理方面和技術方面都明確地做了定義,並按需要不斷地改進過程,而且採用評審的辦法來保證軟體的品質。在這一級,可引用CASE環境來進一步提高品質和產生率。而在第—級過程中,“高技術”只會使這一危機驅動的過程更混亂。
成熟度等級4:已管理級(Managed)。一個處於第4級的公司對每個項目都設定品質和生產目標。這兩個量將被不斷地測量,當偏離目標太多時,就採取行動來修正。利用統計品質控制,管理部門能區分出隨機偏離和有深刻含義的品質或生產目標的偏離(統計品質控制措施的一個簡單例子是每千行代碼的錯誤率。相應的目標就是隨時間推移減少這個量)。
成熟度等級5:最佳化級(Optimizing)。—個第5級組織的目標是連續地改進軟體過程。這樣的組織使用統計品質和過程式控制制技術作為指導。從各個方面中獲得的知識將被運用在以後的項目中,從而使軟體過程融入了正反饋迴圈,使生產率和品質得到穩步的改進。
       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) 人力資源能力成熟度等級模型
       CMMI的全稱為:Capability Maturity Model Integration,即能力成熟度等級模型整合。CMMI是CMM模型的最新版本。就軟體而言,CMMI是SW-CMM的修訂本。
CMMI與CMM差別:
  CMMI模型的前身是SW-CMM和SE-CMM,前者就是我們指的CMM。CMMI與SW-CMM的主要區別就是覆蓋了許多領域;到目前為止包括四個下面領域:
1.軟體工程(SW-CMM)
軟體工程的對象是軟體系統的開發活動,要求實現軟體開發、運行、維護活動系統化、制度化、量化。
2.系統工程(SE-CMM)
系統工程的對象是全套系統的開發活動,可能包括也可能不包括軟體。系統工程的核心是將客戶的需求、期望和約束條件轉化為產品解決方案,並對解決方案的實現提供全程的支援。
3.整合的產品和過程開發(IPPD-CMM)
整合的產品和過程開發是指在產品生命週期中,通過所有相關人員的通力合作,採用系統化的進程來更好地滿足客戶的需求、期望和要求。如果項目或企業選擇IPPD進程,則需要選用模型中所有與IPPD相關的實踐。
4.採購(SS-CMM)
採購的內容適用於那些供應商的行為對項目的成功與否起到關鍵作用的項目。主要內容包括:識別並評價產品的潛在來源、確定需要採購的產品的目標供應商、監控並分析供應商的實施過程、評價供應商提供的工作產品以及對供應協議很供應關係進行適當的調整。
  在以上模組中,企業可以選擇軟體工程,或系統工程,也可以都選擇。整合的產品和過程開發和採購主要是配合軟體工程和系統工程的內容使用。例如,純軟體企業可以選擇CMMI中的軟體工程的內容;裝置製造企業可以選擇系統工程和採購;整合的企業可以選擇軟體工程、系統工程和整合的產品和過程開發。CMMI中的大部分內容是適用各不同領域的,但是實施中會有顯著的差別,因此模型中提供了"不同領域應用詳解"。
  CMM的基於活動的度量方法和瀑布過程的有次序的、基於活動的管理規範有非常密切的聯絡,更適合瀑布型的開發過程。而CMMI相對CMM更一步支援反覆式開發法過程和經濟動機推動組織採用基於結果的方法:開發業務案例、構想和原型方案;細化後納入基準結構、可用發布,最後定為現場版本的發布。雖然CMMI保留了基於活動的方法,它的確整合了軟體產業內很多現代的最好的實踐,因此它很大程度上淡化了和瀑布思想的聯絡。
  在CMMI模型中在保留了CMM階段式模式的基礎上,出現了連續式模型,這樣可以協助一個組織以及這個組織的客戶更加客觀和全面的瞭解它的過程成熟度等級。同時,連續模型的採用可以給一個組織在進行流程改善的時候帶來更大的自主性,不用再象CMM中一樣,受到等級的嚴格限制。這種改進的好處是靈活性和客觀性強,弱點在於由於缺乏指導,一個組織可能缺乏對關鍵過程域之間依賴關係的正確理解而片面的實施過程,造成一些過程成為空白中樓閣,缺少其他過程的支撐。兩種表現方式(連續的和階段的)從他們所涵蓋的流程領域上來說並沒有不同,不同的是流程領域的組織方式以及對成熟度等級(能力)層級的判斷方式。
  CMMI模型中比CMM進一步強化了對需求的重視。在CMM中,關於需求只有需求管理這一個關鍵過程域,也就是說,強調對有品質的需求進行管理,而如何擷取需求則沒有提出明確的要求。在CMMI的階段模型中,3級有一個獨立的關鍵過程域叫做需求開發,提出了對如何擷取優秀的需求的要求和方法。CMMI模型對工程活動進行了一定的強化。在CMM中,只有3級中的軟體產品工程和同行評審兩個關鍵過程域是與工程過程密切相關的,而在CMMI中,則將需求開發,驗證,確認,技術解決方案,產品整合這些工程過程活動都作為單獨的關鍵過程域進行了要求,從而在實踐上提出了對工程的更高要求和更具體的指導。CMMI中還強調了風險管理。不像在CMM 中把風險的管理分散在專案計劃和項目跟蹤與監控中進行要求,CMMI3級裡單獨提出了一個獨立的關鍵過程域叫做風險管理。
CMM與ISO9000的主要區別:
1.CMM是專門針對軟體產品開發和服務的,而ISO9000涉及的範圍則相當寬。
2.CMM強調軟體開發過程的成熟度等級,即過程的不斷改進和提高。而ISO9000則強調可接收的品質體系的最低標準。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.