1. 程式人生 > >卡內基梅隆大學軟體工程研究所先後制定用於評價軟體系統成熟度的模型CMM和CMMI

卡內基梅隆大學軟體工程研究所先後制定用於評價軟體系統成熟度的模型CMM和CMMI

SEI(美國卡內基梅隆大學軟體工程研究所(Software Engineering Institute, SEI))開發的CMM模型有:

用於軟體的(SW-CMM;SW代表'software即軟體'),

用於人力資源管理的(P-CMM;P代表'人'),

用於系統工程(SE-CMM),

用於整合產品開發的(IPD-CMM),

用於軟體收集的(SA-CMM)

有不同模型之間有不一致的地方,並且不可避免地還有某種程度上的冗餘.

因此,SEI決定開發一個單個集居的成熟度模型框架,即能力成熟度模型整合(CMMI)

將5個現有能力成熟度模型中的4個整合進一個模型---CMMI,SA-CMM留待以後加入

什麼是CMMI?

軟體能力成熟度模型(Capability Maturity Model For Software ,簡稱SW-CMM/CMMI),是由美國卡內基梅隆大學軟體工程研究所(CMU SEI)研究出的一種用於評價軟體承包商能力並幫助改善軟體質量的方法,其目的是幫助軟體企業對軟體工程過程進行管理和改進,增強開發與改進能力,從而能按時地、不超預算地開發出高質量的軟體。其所依據的想法是:只要集中精力持續努力去建立有效的軟體工程過程的基礎結構,不斷進行管理的實踐和過程的改進,就可以克服軟體開發中的困難。

CMM/CMMI將軟體過程的成熟度分為5個等級,以下是5個等級的基本特徵(SW-CMM):

1 成熟度級別:初始級(initial)這樣的組織裡,有效的軟體過程管理方法在本質上沒有獲得使用.取而代之的是,每件事都在一個特別的基礎上進行.由有競爭力的軟體管理人員和優秀的軟體開發人員組成的小組來開發某個具體的專案,專案可能會成功.通常的情況是由於有效管理和特殊計劃的缺乏造成軟體開發的超時和超支.工作無序,專案進行過程中常放棄當初的計劃。管理無章法,缺乏健全的管理制度。開發專案成效不穩定,專案成功主要依靠專案負責人的經驗和能力,他一但離去,工作秩序面目全非。

2 成熟度級別:可重複級(Repeatable)
此級別使用了基本的軟體專案管理措施,根據從類似產品中獲得經驗對新的產品進行計劃和管理.因而,這個級別的名字是可重複級.在級別2,測量工作是充分實現一個過程的基本的第一步.典型的測試包括對花費和工作進度表的仔細跟蹤.與級別1公公在軟體開發過程出現問題的時候才採取措施相反,在此級別,管理人員能及時發現問題,並立刻採取糾正措施阻止這些問題演化成大的危機.問題的關鍵在於,如果不進行測量工作,在問題變得不可以控制之前我們不可能發現這些問題.並且,一個專案中的測量工作,在問題變得不可控制之前我們不可能發現這些問題.並且,一個專案中的測量工作能為以後專案時間和費用表的制定提供現實的依據管理制度化,建立了基本的管理制度和規程,管理工作有章可循。 初步實現標準化,開發工作比較好地按標準實施。 變更依法進行,做到基線化,穩定可跟蹤,新專案的計劃和管理基於過去的實踐經驗,具有重複以前成功專案的環境和條件。

3 已定義級(Defined)。開發過程,包括技術工作和管理工作,均已實現標準化、文件化。建立了完善的培訓制度和專家評審制度,全部技術活動和管理活動均可控制,對專案進行中的過程、崗位和職責均有共同的理解 。
4 已管理級(Managed)。產品和過程已建立了定量的質量目標。開發活動中的生產率和質量是可量度的。已建立過程資料庫。已實現專案產品和過程的控制。可預測過程和產品質量趨勢,如預測偏差,實現及時糾正。

5 優化級(Optimizing)。可集中精力改進過程,採用新技術、新方法。擁有防止出現缺陷、識別薄弱環節以及加以改進的手段。可取得過程有效性的統計資料,並可據進行分析,從而得出最佳方法