一、CMM的產生
軟件能力成熟度(the Capability Maturity Model for Software, 簡稱CMM)是美國軟件工程研究所(Software Engineering Institute, 縮寫為SEI)首先提出的。SEI是美國國防部設立,SEI的任務是提供一系列技術管理方法來提高軟件工程水平,保證美國防部能夠通過成本、進度和質量的預估和改進獲得并且支持其精準的軟件系統。
任務包含四個目標:
1、 通過對實踐和技術(或為未充分應用的技術和實踐)的定義、評估和成熟預測,以加快導入和推廣高成效的軟件工程的實踐和技術。
2、 在軟件工程和技術轉型方面維護一個長期有效的資格認證工作
3、 使工業和政府組織通過自己的直接努力實現軟件工程的有規劃的改進
4、 促進軟件工程持續不斷的應用所采納的優秀標準
二、CMM的管理思想基礎
CMM的基本思想是基于已有60多年歷史的產品質量原理。休哈特(Walter Shewart)在30年代發表了統計質量控制原理,戴明(W.Edwards)和朱蘭(Joseph Juran)的關于質量的著作又進一步發展和論證了該原理。實際上,將質量原理變為成熟度框架的思想是克勞斯比(Philip Crosby),他在著作《質量免費》(Quality is Free)中首先提出,他的質量管理成熟度網絡描繪了采用質量實踐時的5個進化階段,而該框架后來又由IBM的拉迪斯(Rom Radice)和他的同事們在漢弗萊(Watts Humphrey)指導下進一步改進以適應軟件過程的需要。1986年,漢弗萊將此成熟框架帶到了SEI并增加了成熟度等級的概念,將這些原理應用于軟件開發,發展成為軟件過程成熟度框架,形成了當前軟件產業界正在使用的框架。
漢弗萊的成熟度框架早期版本發表在1987年的SEI技術報告。該報告中還發表了初步的成熟度提問單,這個提問單作為工具給軟件組織提供了軟件過程評估的一種方法。1987年又進一步研制了軟件過程評估和軟件能力評價兩種方法,以便估計軟件過程成熟度。自1990年以來,SEI基于幾年來將框架運用到軟件過程改進方面的經驗,進一步擴展和精煉了該模型,目前,軟件能力成熟度模型2.0版已經修訂問世。
然而企業最終目的是把自己的產品或服務提供給顧客,讓顧客滿意,盡力使這個過程不斷反復、且能夠不斷壯大,才能源源不斷創造利潤。所以,我們應該明白:
第一、企業的使命是為顧客創造價值,努力地為顧客創造價值就是企業的成功之路。
第二、能為顧客帶來價值的是企業的各種作業。而一個作業是由一系列能為顧客創造價值的活動組成的,構成一個作業的各種活動是由員工完成的,但是各種活動本身對顧客來說毫無意義,顧客關心的是這些活動的結果。也就是說,只有各種活動組合在一起構成一個完整的作業才能創造價值,顧客并不關心怎樣組合這些活動。因此,出于對顧客利益的考慮,作業的構造要努力做到“復雜其中,簡便其表”。
第三、企業事業的成功來自優異的作業績效。盡管優質的產品或服務、杰出的人才和優秀的戰略對企業來說必不可少,但并不能保證企業的成功。因為,產品或服務、人才和戰略只有存在于能為顧客帶來價值的各種作業之中,才能對企業事業的成功有所貢獻。也就是說,只有通過作業把這些高質量的要素結合在一起,它們才具有實質性的意義。這種高績效的作業,則是企業優勢的集中體現。
第四,優異的作業績效是通過科學的作業設計、適當的人員配置和良好的工作環境的共同作用達到的。因為,科學的作業設計能夠靈敏地對顧客的需求變化做出反應,它是作業本身有效性的根本保證;適當的人員組合能獲得集體智慧和戰斗力;良好的環境則能激發員工的工作熱情,促使員工它們不斷超越自己。 對于軟件企業來說,它的成功來自優異的軟件開發過程,要想取得優異的軟件開發過程,就得按照以上四點要求進行管理和改進軟件企業過程。所以,可以認為CMM模型其實質就是一種新興的管理思想和方法,它蘊涵的是當今歐美乃至日本日趨盛行的“Continuos Improvement”管理哲學,現已滲透到各行各業的具體管理中去,是現代企業管理發展方向之一。
連續改進(Continuos Improvement)的含義是:以超前的視野預見過程執行實施中可能的引起要素(包括特定的設計、作業方式及其與之相聯系的成本要素),籍先期規范制約的各種手段作出最大可能效果創出(最優成本/效益比)的預期調整,并以相應的效果計量和評估方法相配合,以確保實際過程以預期的低成本運作的先導式控制。我個人認為,著眼于軟件過程的CMM是連續改進的表現,而著重于軟件過程評估和軟件能力評價與改進相呼應,CMM模型中蘊涵的思想就是防止項目失敗的思想,也就是我們所說的連續改進的思想所在。
三、連續改進(Continuos Improvement)
雖然軟件工程師和管理人員通常詳盡地知道他們的問題所在,但是哪些改進是當前最重要的問題,他們可能彼此有不同的意見。而且缺乏一個組織的改進策略,管理人員和專業人員之間在首先采取什么改進措施上很難達成一致意見。經過深入的調查和研究,終于認識到軟件過程的改進不可能一朝一夕就能成功,需要持續不斷的進行軟件過程改進,軟件過程改進是在一系列微小、不斷發展的,而不是革命性的創新步驟中實現的。這正是連續改進思想的體現。
當同類事物之間存在著微少差異時就會產生變異性。當一個過程或系統的資源存在著變異性時,相應的系統輸出也會有變異性。例如,當原材料或所制造的部件質量有偏差時,最終產品的質量也會發生變化。正所謂“進廢品,出廢品”。所以,研究連續改進,就需要關注系統所使用資源的變異性及所采用生產過程的變異性。任何系統都會表現出變異性。一定程度的變異是自然的,這種變異并不一定意味著系統不穩定或質量低劣或成本偏高,但是太多的或反常的變異則表明系統不穩定——其輸出的質量是不一致或不可預知的。這對于任何一個公司都是一種危險的情況,因為不穩定的質量將會影響顧客的滿意度。要保持客戶的滿意,必須改進產品質量、降低產品的成本、增強產品的營銷水平。要改進產品質量、降低產品的成本、增強產品的營銷水平,必須減少系統的變異。研究連續改進過程就是明確系統中的變異在哪里發生,為什么發生。一旦了解到引起變異的原因,就可以尋找一些方法去減少這種變異,以穩定企業運行過程,使企業得到改進。
1、連續改進循環
如果只解決一個小問題,只稍微改變一下具體過程,而后就置之不理直到問題出現,這是遠遠不夠的。正如“連續改進”這一名稱所暗示的:必須不斷進行。連續改進意味著時常對系統進行分析,一絲不茍地收集數據并加以研究,一絲不茍地測試偏差,每位公司員工都把連續改進作為其工作的一部分看待。持續改進應該視為一個循環。參與持續改進的各團隊需要長期連續地在這個循環中活動。也就是說,當一個問題看來已經解決之時,而員工的參與并沒有終結,仍然有另一個改進要實施,有另一個系統要分析,或有另一個創意要專題研究。
2、強化過程改進
面臨的下一步是使實施的變革成為系統的一個標準部分。團隊應該著手出一份簡單的報告,說明測試過程中的新規則以及所做改進對系統的影響。報告要列出變革后的優點,包括新系統實施和維護的計劃,以確定新系統達到新的績效水平。如果團隊的建議被管理者接受并付諸實施,以后,團隊需要按照計劃監視系統。你將能指出存在的問題,發現在什么地方工作人員又回到了舊的工作方式。這一步的目標是使新過程變成標準的操作規則。切記,在實施變革過程中,認真地培訓和支持是必要的。
3、繼續連續改進循環
當你確信新的過程得到強化并成為工作過程的一個自然組成部分時,就要準備開始下一個持續改進循環。你將要從分析系統開始,因為上一循環的變革可能已經改變。
4、總結
企業的管理者一定明白企業的生存取決于你比其它企業給顧客提供更好服務的能力。通過更快地響應顧客的需要,提供更高質量的服務就可以達到生存的目標。一旦你和你的員工進入持續改進循環,你將擁有更好的信息、更新鮮的創意、更好的過程和質量控制,你將達到夢想的“意想不到的高水平的績效”。 |