CMM對中國軟件產業是非常有價值的,它的重要性是它的那個筆者在“ 軟件工程與軟件能力成熟度模型SW-CMM”一文中提到的“合成的菜單與菜譜”的特性。
中國軟件產業較年輕,專業人員也年輕,企業的數量也是近年來才增長起來的,沒有大量通過長期實踐積累起來的經驗。不象外國公司能做到以老帶新。大概許多企業還未能建立起一套健全的軟件工程過程。在這種近乎一張白紙的情況下,充分地利用CMM和其他的軟件工程過程管理與改進的方案,可以幫助企業迅速地學習與建立起一個軟件工程過程,從而開始實施管理與改進。
利用別人已有的經驗,取其對自己有用的部分,或作修改后采用,以此作為一個起點。然后,在實踐中繼續改進,加以創新。這應該是我們趕超世界水平的一種辦法。
然而,在國內,許多人一談到ISO9000,就必講“質量 認證”;一提到SW-CMM,就必講“評級”。這是一個預示危險的信號,處理不好的話,引進國外軟件工程過程技術的工作很有可能在一開始就走上彎路,嚴重損害中國軟件產業的發展;庥懻撉宄@個問題,比討論具體的技術問題更為重要。
論“質量認證”
首先,必須討論“質量認證”這個問題。(可能這個錯誤的術語原來指的是與ISO9000有關的“ 質量管理體系認證”,但是,講成“質量認證”,會有誤導性的影響。)
筆者認為,有人提出要以“質量體系認證”作為提高軟件質量的突破口,把軟件業推廣ISO9000認證作為促進軟件業發展的一個戰略方向,是一種不妥的做法。把企業追求的目標定為“質量體系認證”,取代了實際的產品質量。在追求“質量體系認證”的時候,華而不實,甚至弄虛作假的“豆腐渣認證”、“兩張皮”現象必然發生。結果將會是勞民傷財,損害了國家和企業的利益,也誤導了用戶。中國必須停止再吃這類的虧!
我們并不是完全不需要“質量體系認證”(對于CMM來說,是“能力等級評鑒”或“評級”),但那只適用于合同承包企業的選擇或其他一些特殊的場合。搞一場“認證、評級運動”,弄不好會為軟件產業帶來一場災難,因為我們錯失了真正的目標。同時,中國的軟件企業并不富裕,不一定能擔負得起咨詢與認證費用;蛘,他們也還未有足夠的人力與財力去全面推行CMM。一定要讓他們有自由去選擇與制定一種最適合各自具體情況的發展方案與時間表。
國內有學者指出,有些企業搞“質量體系認證”只是為了做個 廣告,作為一種市場競爭的手段。但是,為什么企業會有這種錯誤的認識呢?為什么通過了“質量體系認證”,就可以用作廣告和競爭手段呢?追根尋源,這種錯誤的認識是來自廣布于媒體的一些錯誤的提法,出現于各種形式的文章、講話、報道、甚至是一些政策性的文件中。實際上是這些宣傳誤導了企業。如果沒有把“質量體系認證”捧到不切實際的地位,與實際的產品質量混同起來,就沒有人可以利用它大作廣告?蛻羰褂玫氖钱a品,而不是“認證證書”。我們的客戶和市場還很年輕,辨識力還不是很強,因此,有機會在媒體上發表言論的人,千萬不要忘記自己的責任。技術上的問題,是絕不能搞“炒作”的。
許多企業是有口難言,同行業的競爭對手都搞了“質量體系認證”,并且大作宣傳,因此自己也被迫要搞。我們自己要問一問,為什么會形成這么一種風氣呢?我們必須立即糾正任何誤導與誤解,明確指出,通過“質量體系認證”或達到CMM“等級評鑒”的某一級,只表明該企業有某一程度的潛在能力去開發和制造出高質量的軟件產品。但并不等于它真正能做出好產品,或它的任何一個產品都是質量好的。
讓我們看看幾個質量方面的著名學者對質量所下的定義:
丹明(Deming):“質量由滿足需求的能力組成!
左蘭(Juran):“質量就是適于使用!
克羅斯比(Ceosby):“質量意味著符合基于用戶需要而制定出來的要求!
可見,“質量體系認證”完全不同于真正的產品質量,稱之為“質量認證”,更是一種誤導。
我們應當建立一種健康的 標準:“在質量面前人人平等”。鼓勵企業在開發和制造出高質量的產品,提供高質量的客戶服務方面進行競爭。媒體要宣傳這兩種質量。在報道軟件企業的過程管理與改進的成效時,談的還應該是這兩種質量,而絕不是把通過了“認證”或“評鑒”作為一種終極的成果來宣傳。
這里必須注意到,一些從事咨詢業務的公司有意夸大“認證”的作用。有些甚至嚴重到明知被評鑒的對象并未符合條件去開展“評級”,或是在評鑒過程中有意放水,以滿足客戶的要求。這種現象,一切有關的方面都要有清醒的頭腦。這種咨詢公司只求收入,他們是不管客戶是否真正提高了軟件能力的。通過這種手段獲取“認證”或通過“評級”的企業,實際是在自欺欺人。以為是拿到了什么“通行證”,但沒意識到,缺乏真正的質量,最終是要被“驅逐出境”的。
讓我們仔細地考慮一下兩個問題:
1、“質量體系認證”的結果可靠嗎?
2、通過了“質量體系認證”之后,企業就一定能開發生產出高質量的軟件產品了嗎?沒做“質量體系認證”,就不能開發生產出高質量的軟件產品了嗎?
答案都是:“不”。因為關鍵并不是“認證”不“認證”。
國內與國外都有有關的文章論述這些問題并且舉出了具體的實例。因此,關鍵是企業內部的實際運作,“質量體系認證”保證不了什么。
這可以說是一個常識性的問題。在現實的生活中,同樣是在學校中所有科目都考滿分的學生,在工作中的表現會大不相同;有高學位的人不一定能出好成果;具有同樣專業級別的人,工作實績會有天壤之別。因此,片面地強調和依賴考核評鑒是非常危險的。
輕視與迷信SW-CMM都是錯誤的態度。應當把它作為參考資料,就象一本某間名飯店編的“菜譜大全”、一本某美術學院編的“油畫技法”、或某出版社編的一本“寫作教程”。如何理解參考資料的內容的靈魂,學到其中的基本原則與目標,并結合自己的實際加以靈活運用,才是我們應取的態度。
關鍵是什么?關鍵是企業實行過程管理與改進,真正達到按時、按預算地開發生產出高質量的軟件產品。給用戶拿出高質量的產品來!在這里,“認證”與“評鑒”都不是必須的。
“用友”、“金蝶”等企業在軟件過程管理方面所取得的成績,關鍵是由于領導層的重視和參與,致力于實質的內部 過程改進。沒有“認證”,他們同樣會成功。
軟件企業都希望能夠生存與發展,都希望能建立過程管理與改進,以提高自身的能力,并不需要別人去迫。有人說,軟件業推廣ISO9000認證,應是以企業自愿為前提。但是,當相關的政策上有這么一些條文:“通過ISO9000體系認證的企業,優先...,優先...;政府優先采購通過ISO9000體系認證的企業的產品!、“優先支持和推廣通過質量認證企業的軟件產品!钡臅r候,哪一個企業還可以“自愿”呢?從這么一些條文中,人們無法不得出這么一個結論:ISO9000體系認證,比實際的產品質量更重要!
筆者認為,要適當控制“認證”與“評級”的使用。只有在無法對最終產品的質量進行鑒定(例如,發出軟件合同)的時候,才應用這類方法。
筆者建議,有關部門是否可以考慮成立一個軟件產品質量鑒定系統,對上市的同類軟件進行測試比較,評定分數,公布結果。測試人員可分為兩類:專業工程師與產品用戶。測試的項目可以各方預先商定?蓮淖詈唵蔚膬牲c做起:1.說明書是否清晰。2.產品是否如實執行說明書中的各種功能。
舉一個例子,硅谷這里有一間公司,專門作電路仿真器的評比。他們設計出了一系列的測試項目,用以比較各產品在不同 平臺上運行,對不同類型的電路進行仿真時的功能表現。他們的評比結果是很有權威的,成了用戶選購產品的依據。而仿真器的制作廠家則不斷努力改進產品,以期在下一次評比中有更好的表現。這間評比公司是附屬于一個電子專業刊物的。他們向參加評比的廠家收取評比費用。我們可以用各種靈活的方式進行官辦或民辦的評比。
筆者使用的一個國產軟件,在功能的實現上錯誤很多,自認為領先的核心技術竟帶有違背一般常識的結果,甚至產品說明書與實際產品完全對不上號。借用一位國內同行的話:“簡直不能相信這樣的產品競能夠通過他們自己的質檢關!”但我相信,這類公司是滿有可能會花力氣去通過“質量認證”的。
我們應該做的是,幫助企業認識實行過程管理與改進的重要性,向他們提供有關的知識與訊息,與他們一道解決遇到的困難,協助企業間交流經驗,大力宣傳企業由于實行過程管理與改進而取得的最終產品與用戶服務質量及企業業績的成果,以這些成果來進行競爭。有關的從業人員、專家學者與媒體在這些活動中可以大有作為,作出應有的貢獻。
文章來源于領測軟件測試網 http://www.kjueaiud.com/