CMMr軟件成熟度基本概念

 

軟件過程
  過程即人們為實現某一既定目標所執行的一系列步驟(IEEE-STD-610)。軟件過程則可定義為企業設計,研制和維護軟件產品及相關資料文檔的全部生產活動和工程管理活動。理解包括SEI在內的美國過程學派的一個核心概念就是--只要過程正確及構成過程的解決方法正確,產品就會正確。

軟件過程能力
  企業實施軟件過程所能實現預期目標的程度。它可用于預測企業的軟件過程水平。

軟件過程成熟度
   軟件過程行為可定義,預測和控制并被持續性提高的程度。它主要用來表明不同項目所遵循的軟件過程的一致性。

軟件能力成熟度等級
  企業的軟件開發在由低到高成熟化演進過程中所普遍面臨的具有一定成熟度標志特性的平臺。
  
配置管理
   包括以下管理行為:對某個配置項的功能和物理特性進行識別和編檔;對這些特征的變動進行控制;對變動和事實進行記錄、匯報;驗證需求計劃的實現。
 

 

能力成熟度模型

 

能力成熟度模型- Capability Maturity Model for Software,英文縮寫為SW-CMM,簡稱CMM
  什么是能力成熟度模型 (Capability Maturity Model)CMM是指“能力成熟度模型”,是對于軟件組織在定義、實施、度量、控制和改善其軟件過程的實踐中各個發展階段的描述。CMM的核心是把軟件開發視為一個過程,并根據這一原則對軟件開發和維護進行過程監控和研究,以使其更加科學化、標準化、使企業能夠更好地實現商業目標。
  CMM是一種用于評價軟件承包能力并幫助其改善軟件質量的方法,側重于軟件開發過程的管理及工程能力的提高與評估。CMM分為五個等級: 一級為初始級,二級為可重復級,三級為已定義級,四級為已管理級,五級為優化級。
  其所依據的想法是:只要集中精力持續努力去建立有效的軟件工程過程的基礎結構,不斷進行管理的實踐和過程的改進,就可以克服軟件生產中的困難。CMM它是目前國際上最流行、最實用的一種軟件生產過程標準,已經得到了眾多國家以及國際軟件產業界的認可,成為當今企業從事規模軟件生產不可缺少的一項內容。
  CMM為軟件企業的過程能力提供了一個階梯式的改進框架,它基于過去所有軟件工程過程改進的成果,吸取了以往軟件工程的經驗教訓,提供了一個基于過程改進的框架;它指明了一個軟件組織在軟件開發方面需要管理哪些主要工作、這些工作之間的關系、以及以怎樣的先后次序,一步一步的做好這些工作而使軟件組織走向成熟。

 

能力成熟度模型

 

能力成熟度模型- Capability Maturity Model for Software,英文縮寫為SW-CMM,簡稱CMM
  什么是能力成熟度模型 (Capability Maturity Model)CMM是指“能力成熟度模型”,是對于軟件組織在定義、實施、度量、控制和改善其軟件過程的實踐中各個發展階段的描述。CMM的核心是把軟件開發視為一個過程,并根據這一原則對軟件開發和維護進行過程監控和研究,以使其更加科學化、標準化、使企業能夠更好地實現商業目標。
  CMM是一種用于評價軟件承包能力并幫助其改善軟件質量的方法,側重于軟件開發過程的管理及工程能力的提高與評估。CMM分為五個等級: 一級為初始級,二級為可重復級,三級為已定義級,四級為已管理級,五級為優化級。
  其所依據的想法是:只要集中精力持續努力去建立有效的軟件工程過程的基礎結構,不斷進行管理的實踐和過程的改進,就可以克服軟件生產中的困難。CMM它是目前國際上最流行、最實用的一種軟件生產過程標準,已經得到了眾多國家以及國際軟件產業界的認可,成為當今企業從事規模軟件生產不可缺少的一項內容。
  CMM為軟件企業的過程能力提供了一個階梯式的改進框架,它基于過去所有軟件工程過程改進的成果,吸取了以往軟件工程的經驗教訓,提供了一個基于過程改進的框架;它指明了一個軟件組織在軟件開發方面需要管理哪些主要工作、這些工作之間的關系、以及以怎樣的先后次序,一步一步的做好這些工作而使軟件組織走向成熟。

 

CMM的基本思想

 

CMM的基本思想是,因為問題是由我們管理軟件過程的方法引起的,所以新軟件技術的運用不會自動提高生產率和利潤率。CMM有助于組織建立一個有規律的、成熟的軟件過程。改進的過程將會生產出質量更好的軟件,使更多的軟件項目免受時間和費用的超支之苦。
   軟件過程包括各種活動、技術和用來生產軟件的工具。因此,它實際上包括了軟件生產的技術方面和管理方面。CMM策略力圖改進軟件過程的管理,而在技術上的改進是其必然的結果。
   必須牢記,軟件過程的改善不可能在一夜之間完成,CMM是以增量方式逐步引入變化的。CMM明確地定義了5個不同的“成熟度”等級,一個組織可按一系列小的改良性步驟向更高的成熟度等級前進。
  成熟度等級1:初始級(Initial)。
   處于這個最低級的組織,基本上沒有健全的軟件工程管理制度。每件事情都以特殊的方法來做。如果一個特定的工程碰巧由一個有能力的管理員和一個優秀的軟件開發組來做,則這個工程可能是成功的。然而通常的情況是,由于缺乏健全的總體管理和詳細計劃,時間和費用經常超支。結果,大多數的行動只是應付危機,而非事先計劃好的任務。處于成熟度等級1的組織,由于軟件過程完全取決于當前的人員配備,所以具有不可預測性,人員變化了,過程也跟著變化。結果,要精確地預測產品的開發時間和費用之類重要的項目,是不可能的。
  成熟度等級2:可重復級(Repeatable)。
  在這一級,有些基本的軟件項目的管理行為、設計和管理技術是基于相似產品中的經驗,故稱為“可重復”。在這一級采取了一定措施,這些措施是實現一個完備過程所必不可缺少的第一步。典型的措施包括仔細地跟蹤費用和進度。不像在第一級那樣,在危機狀態下方行動,管理人員在問題出現時便可發現,并立即采取修正行動,以防它們變成危機。關鍵的一點是,如沒有這些措施,要在問題變得無法收拾前發現它們是不可能的。在一個項目中采取的措施也可用來為未來的項目擬定實現的期限和費用計劃。
  成熟度等級3:已定義級(Defined)。
   在第3級,已為軟件生產的過程編制了完整的文檔。軟件過程的管理方面和技術方面都明確地做了定義,并按需要不斷地改進過程,而且采用評審的辦法來保證軟件的質量。在這一級,可引用CASE環境來進一步提高質量和產生率。而在第—級過程中,“高技術”只會使這一危機驅動的過程更混亂。
  成熟度等級4:已管理級(Managed)。
  一個處于第4級的公司對每個項目都設定質量和生產目標。這兩個量將被不斷地測量,當偏離目標太多時,就采取行動來修正。利用統計質量控制,管理部門能區分出隨機偏離和有深刻含義的質量或生產目標的偏離(統計質量控制措施的一個簡單例子是每千行代碼的錯誤率。相應的目標就是隨時間推移減少這個量)。
  成熟度等級5:優化級(Optimizing)。
  —個第5級組織的目標是連續地改進軟件過程。這樣的組織使用統計質量和過程控制技術作為指導。從各個方面中獲得的知識將被運用在以后的項目中,從而使軟件過程融入了正反饋循環,使生產率和質量得到穩步的改進。
   整個企業將會把重點放在對過程進行不斷的優化,采取主動的措施去找出過程的弱點與長處,以達到預防缺陷的目標。同時,分析各有關過程的有效性資料,作出對新技術的成本與效益的分析,并提出對過程進行修改的建議。達到該級的公司可自發的不斷改進,防止同類缺陷二次出現。
  CMM為軟件的過程能力提供了一個階梯式的改進框架,它基于以往軟件工程的經驗教訓,提供了一個基于過程改進的框架圖,它指出一個軟件組織在軟件開發方面需要那些主要工作,這些工作之間的關系,以及開展工作的先后順序,一步一步的做好這些工作而使軟件組織走向成熟。CMM的思想來源于已有多年歷史的項目管理和質量管理,自產生以來幾經修訂,成為軟件業具有廣泛影響的模型,并對以后項目管理成熟度模型的建立產生了重要的影響。盡管已有個人或團體提出了各種各樣的成熟度模型,但還沒有一個象CMM那樣在業界確立了權威標準的地位。但PMI于2003年發布的OPM3以其立體的模型及涵蓋范圍的廣泛有望成為項目管理界的標準。

實施CMM的必要性

軟件開發的風險之所以大,是由于軟件過程能力低,其中最關鍵的問題在于軟件開發組織不能很好地管理其軟件過程,從而使一些好的開發方法和技術起不到預期的作用。而且項目的成功也是通過工作組的杰出努力,所以僅僅建立在可得到特定人員上的成功不能為全組織的生產和質量的長期提高打下基礎,必須在建立有效的軟件如管理工程實踐和管理實踐的基礎設施方面,堅持不懈地努力,才能不斷改進,才能持續地成功。
  軟件質量是一模糊的、捉摸不定的概念。我們常常聽說:某某軟件好用, 某某軟件不好用;某某某軟件功能全、結構合理, 某某某軟件功能單一、操作困難……這些模模糊糊的語言不能算作是軟件質量評價,更不能算作是軟件質量科學的定量的評價。軟件質量,乃至于任何產品質量,都是一個很復雜的事物性質和行為。產品質量,包括軟件質量,是人們實踐產物的屬性和行為,是可以認識,可以科學地描述的。可以通過一些方法和人類活動,來改進質量。
  實施CMM是改進軟件質量的有效方法:控制軟件生產過程、提高軟件生產者組織性和軟件生產者個人能力的有效合理的方法軟件工程和很多研究領域及實際問題有關,主要相關領域和因素有:需求工程(REQUIREMENTS ENGINEERING)。理論上,需求工程是應用已被證明的原理、技術和工具,幫助系統分析人員理解問題或描述產品的外在行為。軟件復用(SOFTWARE REUSE),定義為利用工程知識或方法,由一已存在的系統,來建造一新系統。這種技術,可改進軟件產品質量和生產率。還有軟件檢查、軟件計量、軟件可靠性、軟件可維修性、軟件工具評估和選擇等。

CMM軟件能力成熟度模型的5個等級及其特點

 

CMM(capability maturity model),即軟件能力成熟度模型。CMM在改進軟件過程中所起的作用主要是,指導軟件機構通過確定當前的過程成熟度并識別出對過程改進起關鍵作用的問題,從而明確過程改進的方向和策略。通過集中開展與過程改進的方向和策略相一致的一組過程改進活動,軟件機構便能穩步而有效地改進其軟件過程,使其軟件的過程能力得到循序漸進的提高。
  能力成熟度的5個等級從低到高依次是:初始級,可重復級,已定義級,已管理級和優化級。
初始化
  軟件過程的特征是無序的,有時甚至是混亂的。幾乎沒有什么過程是經過定義的(即沒有一個定型的過程模型),項目能否成功完全取決于開發人員的個人能力。
可重復級
  軟件機構建立了基本的項目管理過程(過程模型),可跟蹤成本、進度、功能和質量。達到2級的一個目標是使項目管理過程穩定,從而使得軟件機構能重復以前在成功項目中所進行過的軟件項目工程實踐。
已定義
  軟件機構已經定義了完整的軟件過程(過程模型),軟件過程已經文檔化和標準化。所有項目組都是用文檔化的、經過批準的過程來開發和維護軟件。這一級的軟件機構的過程能力可以概括為,無論是管理活動還是工程活動都是穩定的。軟件開發的成本和進度以及產品的功能和質量都受到控制,而且軟件產品的質量具有可追溯性。
已管理性
  軟件機構對軟件過程(過程模型和過程實例)和軟件產品都建立了定量的質量目標,所有項目的重要的過程活動都是可度量的。這一級的過程能力允許軟件機構在定量的范圍內預測過程和產品質量趨勢,在發生偏離時可以及時采取措施予以糾正,并且可以預期軟件產品是高質量的。
優化級
  軟件機構集中精力持續不斷地改進軟件過程。這一級的軟件機構能夠持續不斷地改進其過程能力,既對現行的過程實例不斷地改進和優化,又借助于所采用的新技術和新方法來實現未來的過程改進。

CMM體系結構

 

一個企業軟件能力類似于一個人在一個特定領域的能力,是逐步獲得和增長的。如果一個人在其領域的發展過程中能得到一個很好的指南,那么他或她就會不斷達到一個個設定的目標,并變得成熟起來,否則可能會盲目發展,離自己的目標越來越遠,甚至南轅北轍。一個企業的軟件能力發展也同樣需要一個良好的指南,SW-CMM正是這樣一個指南,它以幾十年產品質量概念和軟件工業的經驗及教訓為基礎,為企業軟件能力不斷走向成熟提供了有效的步驟和框架。
框架
  SW-CMM為軟件企業的過程能力提供了一個階梯式的進化框架,階梯共有五級。第一級實際上是一個起點,任何準備按CMM體系進化的企業都自然處于這個起點上,并通過這個起點向第二級邁進。除第一級外,每一級都設定了一組目標,如果達到了這組目標,則表明達到了這個成熟級別,可以向下一個級別邁進。CMM體系不主張跨越級別的進化,因為從第二級起,每一個低的級別實現均是高的級別實現的基礎。
1.初始級
初始級的軟件過程是未加定義的隨意過程,項目的執行是隨意甚至是混亂的。也許,有些企業制定了一些軟件工程規范,但若這些規范未能覆蓋基本的關鍵過程要求,且執行沒有政策、資源等方面的保證時,那么它仍然被視為初始級。
2.可重復級
根據多年的經驗和教訓,人們總結出軟件開發的首要問題不是技術問題而是管理問題。因此,第二級的焦點集中在軟件管理過程上。一個可管理的過程則是一個可重復的過程,一個可重復的過程則能逐漸進化和成熟。第二級的管理過程包括了需求管理、項目管理、質量管理、配置管理和子合同管理五個方面。其中項目管理分為計劃過程和跟蹤與監控過程兩個過程。通過實施這些過程,從管理角度可以看到一個按計劃執行的且階段可控的軟件開發過程。
3.定義級
在第二級僅定義了管理的基本過程,而沒有定義執行的步驟標準。在第三級則要求制定企業范圍的工程化標準,而且無論是管理還是工程開發都需要一套文檔化的標準,并將這些標準集成到企業軟件開發標準過程中去。所有開發的項目需根據這個標準過程,剪裁出與項目適宜的過程,并執行這些過程。過程的剪裁不是隨意的,在使用前需經過企業有關人員的批準。
4.管理級
第四級的管理是量化的管理。所有過程需建立相應的度量方式,所有產品的質量(包括工作產品和提交給用戶的產品)需有明確的度量指標。這些度量應是詳盡的,且可用于理解和控制軟件過程和產品。量化控制將使軟件開發真正變成為一種工業生產活動。
5.優化級
第五級的目標是達到一個持續改善的境界。所謂持續改善是指可根據過程執行的反饋信息來改善下一步的執行過程,即優化執行步驟。如果一個企業達到了這一級,那么表明該企業能夠根據實際的項目性質、技術等因素,不斷調整軟件生產過程以求達到最佳。
結構
除第一級外,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體系的宗旨。 

 

總部地址:中國廣東省深圳市南山區海岸城海岸大廈西座1412
電話:0755-86664206
廣州分公司:廣州市白云區金沙洲沙鳳路西就街3號華升大廈B座209
電話:020-38892786
備案號:粵ICP備14063240號-1
電子郵件: [email protected]


掃一掃,關注公眾號

深圳市金銳杰企業管理咨詢有限公司
Powered by PageAdmin CMS
pk10实战顺势投注技巧