標準的技術要點/制定思路/標準的脈絡
圍繞這兩個目標,工作組依據以下思路開展工作:
1. 制定兩個標準,其中:《軟件過程能力評估模型》針對單個過程,服務于軟件企業內部改進;《軟件能力成熟度模型》針對過程集合,服務于對軟件企業綜合能力的評估。
2. 研究國際通用慣例和標準,結合我國實際加以借鑒或參考,取其對我國有用的部分,在實踐中不斷改進和創新。
3. 吸收軟件企業管理工作的成功經驗,盡量減少標準中對各項規定的不確定性,充分發揮軟件企業在標準制定中的作用。邊制定邊試點,以便對標準進行驗證,確保其可操作性。
4. 標準的內容安排以大型軟件企業為對象,對于小型軟件企業或組織采用剪裁準則予以處理。
5. 適應經濟全球化以及我國軟件產業發展戰略的需要,充分考慮與國際標準和國外先進標準的協調性,為國際合作做好準備。
6. 通過標準制定,初步形成一批按標準規定模型實施軟件過程能力評估和綜合軟件能力評估的骨干隊伍。
在過去幾年研究工作的基礎上,工作組進一步深入研究了CMM、CMMI、ISO/IEC TR 15504、ISO 9000-3以及其他有關的資料和文件,結合國情,確定了以CMMI作為主要參考文件來制定標準。在對標準草案進行會議審查和上網廣泛征求意見的同時,組織了標準試點,最終形成了《軟件過程能力評估模型》和《軟件能力成熟度模型》行業正式標準。
標準的脈絡
從CMM到CMMI
軟件能力成熟度模型的英文全名是Capability Maturity Model for Software,縮寫為SW-CMM。我國在很多場合下所說的CMM就是SW-CMM。
CMM的起源是這樣的。為支持美國國防部對軟件承包商的能力進行客觀評價,卡內基—梅隆大學軟件工程研究所(SEI)1987年提出了關于軟件的《能力成熟度模型框架》,并于1991~1993年發表了《軟件能力成熟度模型》(SW-CMM)1.0版和SW-CMM 1.1版,1999~2000年發表了《系統工程和軟件工程綜合能力成熟度模型》(CMMI-SE/SW)0.2版和CMMI-SE/SW 1.0版以及《系統工程、軟件工程和集成產品與過程開發的綜合能力成熟度模型》(CMMI-SE/SW/IPPD)1.1版。就軟件而言,CMMI是SW-CMM的修訂本。事實上,按照SEI最初的計劃,應該在1998年發表SW-CMM的2.0版。由于軟件過程評估(SPA)國際標準項目的進展,美國國防部下令暫時停止推進到SW-CMM 的2.0版,以便吸收SPA的長處,于是便產生了CMMI。它兼收了SW-CMM 2.0版C稿草案和SPA中更合理、更科學和更周密的優點。在發表CMMI-SE/SW V1.0時,SEI宣布大約用兩年的時間完成從CMM到CMMI的過渡。
1987年開始,SEI在美國國防項目承包商范圍內開始試行CMM等級評估。SW-CMM V1.0發表之后,美國國防部合同審查委員會提出,發包單位可以在招投標程序中規定“投標方要接受基于CMM的評估”的條款,發包單位將把評估結果作為選擇承包方的重要因素之一。從另一個角度說,接受并進行了CMM評估只是有了參加美國軍方項目投標的資格,CMM評估決非進入美國市場的通行證。
由于CMM評估對軟件過程改進有明顯的促進作用,這使SEI看到了CMM評估的巨大商業前景,因此從1990年以后,SEI把基于CMM的評估作為商業行為推向市場。這些年來,接受CMM評估的軟件組織和企業已從美國國防項目承包領域擴散到普通經濟領域和其他國家與地區。
CMMI與TR 15504
在SW-CMM思路的啟發下,ISO/IEC JTC1于1991年啟動了關于軟件過程評估(SPA)的國際標準化項目,并于1995年發布了ISO/IEC TR 15504《軟件過程評估》。其目的是向世界軟件界推薦一些良好的軟件工程實踐方法,并且希望在世界范圍內確保軟件過程評估結果有一定的可比性,使評估師對軟件過程的評估有統一的判斷基礎。ISO/IEC TR 15504與CMMI的連續表示形式相似。之所以如此,是由于SEI在制定CMMI時,美國國防部要求CMMI要與ISO/IEC 15504取得一致,制定CMMI的人員同時又作為該國際標準項目工作組的專家參與了TR 15504的制定工作。1995年ISO/IEC發布TR 15504后, SEI在開發CMMI中除了沿用成熟度等級的方式(即CMMI的分階段表示形式)外,還吸取TR 15504的特點,增加了與15504類似的CMMI的連續表示形式。
ISO/IEC TR 15504是第2類技術報告,目前正在轉換為正式國際標準,預計到2003年將發布ISO/IEC 15504。
ISO 9001與CMM
CMM和ISO 9001都以全面質量管理為理論基礎,都針對過程進行描述,但二者的設計思路不同,屬于兩個不同的體系。ISO 9001是適用于所有專業領域的一種質量保證模式。但對于軟件組織來說,盡管加上了ISO 9000-3作為實施指南,留給審核員做解釋的回旋余地仍然相當大。就軟件能力評定而言,通過了ISO 9001認證的組織機構之間的軟件能力可能會有很大差別。
CMM也是一種模型,因此也是對共性特征的描述。但是,區別于適用于所有制造和服務業的ISO 9001,CMM則是專門針對軟件行業設計的描述軟件過程能力的模型,是非常“專”的模型。事實上,考慮到按ISO 9001對軟件組織進行認證審核時存在較大的不確定性,在設計CMM時則盡量縮小審核員解釋的回旋余地,因此不僅對每個關鍵過程給出了明確的目標和體現這些目標的各個關鍵慣例,而且對各個關鍵慣例都給出了明確的定義和詳細的說明,以便按CMM進行評估時具有較好的一致性和可靠性。CMM專門針對軟件行業,而ISO 9001適用范圍很廣(例如硬件、軟件和服務),即一個是“專用”模型,一個是“泛用”模型。
ISO 9001與CMM在內容上彼此沒有完全覆蓋。ISO 9001第4章大約有5頁,ISO 9000-3大約43頁,而CMM長達500多頁。這兩份文件間的最大差別在于,CMM強調的是持續的過程改進——通過評估,可以給出一幅描述企業實際綜合軟件過程能力的“成就輪廓”;而ISO 9001涉及的是質量體系的最低可接受標準,其審核結果只有兩個:達到(包括“整改”后達到)就“通過”,沒有達到就“不通過”。
評論