一、CMM成為發展軟件產業的核心
軟件生產能力成熟模型,即CMM(后更名為SW-CMM)模型就是目前國際上最流行也是最實用的一種軟件生產過程標準,現已經得到了眾多國家軟件產業界的認可,成為當今從事規模型軟件生產不可缺少的一項內容。 眾所周知,如今我們正處在一個全球性競爭空前激烈的時代,其中信息系統對于各個企業以至企業集團的生存與發展都具有舉足輕重的意義。這樣一來,就對企業信息系統的開發提出了更加嚴格和苛刻的要求。例如要求所開發的信息系統更能滿足企業戰略決策的需要,其中包括縮短開發周期,提高開發效率,擴大實現發展戰略的要素等。隨之而來的是信息系統的多樣化、復雜化,其中包括必須面對需求的多樣化和復雜化,以及信息技術的迅速進步。所有這些都對信息系統的開發與管理提出了更高的要求。如何解決這些日益復雜的課題,結論只有一個,就是要實行軟件開發生產組織的變革,實現軟件開發的標準化,提高軟件的生產效率,真正實現軟件的工業化。所以,研究、討論和實踐CMM模型及其實現方法既十分必要,又合乎當今信息產業的發展潮流。
自70年代出現軟件危機以來,學術界和企業界對軟件工程環境、工具和技術的研究都傾注了大量的人力、財力和物力,多年來也取得了許多成果。但是不可否認的一個事實是軟件開發與生產的效果卻始終未如人意。以我國為例,近年來我國引進和自行開發的各種軟件工具、開發環境等種類繁多,數量浩大,花費達到幾十億元。但由于各種原因,我國的軟件開發特別是真正的生產能力依然很差,這顯然是一個不爭的事實。究其原因,一個不同于以往的概念逐漸被接受:一個企業的軟件能力更取決于該企業的過程能力,特別是在軟件開發和生產中的成熟度。一個業過程能力越是成熟,該企業的軟件生產能力就越有保證。實際上技術或工具并不是第一位的。
二、CMM的核心內容
在CMM模型及其實踐中,企業的過程能力被作為一項關鍵因素予以考慮。所謂過程能力,是指把企業從事軟件開發和生產的過程本身透明化、規范化和運行的強制化。這樣一來,就可以把軟件開發及生產過程中成功或失敗的經驗教訓變成今后可以借鑒和吸取的營養,大大加快軟件生產的成熟程度提高。
為了加快軟件企業成熟程度的提高,必須盡量利用已有的軟件工程成果。在軟件開發過程中,根據幾十年軟件工程的發展,一些關鍵的過程域(KPA)可以被識別出來,成為某些CMM模型方法中的衡量基準。利用過去軟件工程發展的成果,側重這些關鍵過程域的實施,將會有效地建立一個過程,加快軟件企業成熟度的提升。
為了充分利用已往的軟件工程成果,SW-CMM提供了一個基于過去所有軟件工程成果的過程改善的框架。這個框架與軟件生存周期無關,也與所采用的開發技術無關,根據這個框架開發企業內部具體的軟件過程,可極大程度地提高企業按計劃的時間和成本提交有質量保證的軟件產品的能力。
三、CMM的使用
在軟件開發與生產的過程中,是否采用CMM模型是一件至關重要的核心問題。一般而言,CMM模型根據過程能力逐漸成熟的概念,將CMM的實施分為了五級。從第二級起,每一級包含了不同的KPA,每個KPA都有明確的實施目標,并按公共屬性類別定義相應的關鍵實施活動。以下是對這五個階段的簡要介紹:
(1)在企業中軟件開發基本上處于早期的個人手工開發階段,這個級別是起始級,沒有什么特別要求,僅是一個進化起始點。 (2)初步形成軟件開發與生產的規;,按軟件工程方式進行開發,并通過項目管理使部分結果成為可以重復使用的模塊。
(3)在軟件企業中,初步形成部門級的標準,并在部門內部進行培訓。
(4)在軟件企業中,把部門標準作為定量化管理的基礎。
(5)在上述步驟的基礎上,實現整個軟件企業管理的最優化。第五級是進化的最高級。
從效果而言,在上述不同階段,軟件開發與生產的成熟程度給軟件企業帶來了完全不同的效果。從第一階段到第五個階段,軟件開發與生產的計劃精度越來越高,每單位工程的生產周期越來越短,每單位工程的成本越來越低。以Raytheon公司為例,該公司現有近400名軟件開發人員。公司用了近五年的時間,將其成熟度從第一級提升到第三級,已經收到了明顯的效果。為了提升到較高的級別,公司所花費的投資與五年來因成本降低所收到的效益之比為1∶8,直接生產效率提高了大約14倍。該公司所開發的產品在成熟度提升前每千條指令出錯率約為0.31條,提升后僅為0.03條。
提高軟件開發與生產的成熟度,可以使新技術的應用收到更好與更快的效果。這主要是因為基于CMM模型的軟件成熟度實踐要求盡量采用更加規范的開發標準和方法,使用更加科學和精確的度量方法,選擇便于管理和使用的開發工具。所有這些,都造成了整個工程的可重構性、可分解性和最優化,從而進一步明確了整個項目中必要和不必要的工作,明確了整個項目的風險,以及各個階段進行評估的指標與應急措施。此外CMM也不僅僅應用于軟件開發組織內,它也可作為認證機構的認證工具和用戶評測一個企業是否達到所要求的能力的依據。
四、CMM為我國發展軟件產業提供一個機遇
根據美國卡內基·梅隆大學進行的調查研究報告,即使在美國真正達到后兩個級別的軟件企業也為數不多,所占比例不足5%,十分重視標準化的日本企業也不足10%。由此可見推行CMM任重而道遠。另外,在這一具體問題上,目前我們與發達國家的差距還不算太大。這為我們在這一領域盡快趕上發達國家,并居于世界前列創造了一個機遇,為解決我國軟件企業開發生產效率不高的老問題,進一步加快我國軟件產業的發展找到了一個突破口。
由美國卡內基·梅隆大學軟件工程研究所最先提出并取得研究成果的CMM模型理論及其應用,是從80年代中期開始的,90年代初正式發表了研究成果。目前這一成果已在北美、歐洲和日本等國家及地區得到了廣泛應用,并成為事實上的軟件過程改進的工業標準。 以我們的近鄰日本和韓國為例,他們的若干大型信息技術骨干企業紛紛采納了CMM模型及其相關標準。日本富士通公司已經根據CMM模型及其相關標準,自行發展了SDEM(Software Development Engineering Methodology)-90標準。根據ISO有關專家實際評測,該標準不僅完全符合ISO9000,而且不少方面還超過了有關國際標準。更重要的是,像SDEM--90之類的企業標準已經成為提高軟件生產效率,組織形成大規模的專業化生產的捷徑和必由之路。
據悉,一些印度公司也已通過SW-CMM5級認證,由此也可看出中國和印度軟件產業的差距。筆者之所以向大家介紹有關CMM的概念和實踐,主要是寄希望于我國的軟件企業。我們由衷地希望我國的軟件企業在國家的進一步扶植下,走規;、標準化之路,抓住機遇,迎接挑戰,盡早成為我國國民經濟一個新的增長點,為我國信息產業的全面騰飛作出更大的貢獻。
文章來源于領測軟件測試網 http://www.kjueaiud.com/