天天看點

談ISO9000-3内容及其與CMM關系

核心提示:ISO 9000-3是國際标準化組織(ISO)制定的軟體開發企業實施ISO 9001指南中國電子技術标準化研究所 李韻琴本文試圖從大家所熟悉的 ISO 9000-3是國際标準化組織(ISO)制定的軟體開發企業實施ISO 9001指南 

本文試圖從大家所熟悉的ISO 9001标準入手,對ISO 9001、ISO900-3和CMM之間的差別和聯系做個簡單的分析,探讨一些大家感到困惑的問題,包括: 

1)取得ISO 9000認證的組織大約相當于CMM的哪個等級? 

2)取得CMM第2級(或第3級)的組織是否可以認為滿足ISO 9001要求? 

3)取得ISO 9001證書與取得CMM相應等級證書的企業,誰的品質管理/品質保證水準/能力更高? 

一、背景 

ISO 9000族國際标準是在總結了英國的國家标準基礎之上産生的,是以,歐洲通過ISO 9000認證的企業數量最多,約占全世界的一半以上。受此影響,相當多的歐洲軟體企業選擇了ISO 9001認證。 

CMM是由美國卡内基-梅隆大學的軟體工程研究所(SEI)開發的軟體成熟度模型,美國的軟體企業更多的選擇取得CMM等級證書。在形式上,CMM分為5個等級(第1級級别最低,第5級級别最高),與ISO 9000稽核後隻有“通過”和“不通過”兩個結論相比,CMM是一個動态的過程,企業在取得低級别證書後,可根據進階别的要求确定下一步改進的方向。 在基本原理方面,ISO 9001和CMM都十分關注軟體産品品質和過程改進。尤其是ISO 9000:2000版标準增加持續改進、品質目标的量化等方面的要求後,在基本思路上和CMM更加接近。 

本文參考了Mark C. Paulk先生的文章,但觀點不盡相同。 

注:ISO 9001是軟體企業開展品質體系認證依據的标準; 

ISO 9000-3是國際标準化組織(ISO)制定的軟體開發企業實施ISO 9001指南; 

二、ISO 9000和CMM主要内容的對比 

下面以ISO 9001為主線,列出了ISO 9001的要點及CMM的對應部分。 

1) 要素4.1——管理職責 

ISO 9001标準要求:組織應規定品質方針,形成檔案并予以實施和保持; 對從事與品質有關的管理、執行和驗證工作的人員規定其職責、權限和互相關系; 識别和提供驗證資源被指派的管理者保證明施和保持品質大綱。 

CMM第2級提出了品質方針和驗證的職責,包括識别各類人員在項目中的職責,建立一支受過教育訓練的軟體品質保證小組和指派進階管理者監控軟體品質保證(SQA)活動。 

作為CMM的共同特征,CMM在進階管理人員和項目經理兩個層次上識别管理職責,以監控軟體項目,支援SQA稽核,建立支援軟體工程的組織結構和配置設定資源。 

ISO 9001要求的品質目标(一種量化的、可檢查的要求),與在CMM第4級提到的“量化的”品質方針是一緻的 

2) 要素4.2——品質體系 

ISO 9001要求建立一個檔案化的品質體系包括品質手冊、品質計劃、程式檔案和作業指導書。 

CMM第2級提出驗證符合性和管理過程的品質體系活動,在軟體開發計劃中規定軟體項目使用的具體程式和标準。CMM的驗證明施共同特征明确要求進行稽核以保證符合特定标準和程式。 CMM第3級要求組織必須規定軟體工程任務,并持續實施,在全組織都必須規定軟體過程資源,包括标準、程式和過程描述。 與ISO 9001相比,CMM特别強調組織支援和項目實施之間的關系。 

3)要素4.3——合同評審 

ISO 9001要求組織必須評審每一個合同以判斷需求是否明确、組織是否有能力滿足合同要求。 

CMM第2級提出組織必須檔案化顧客要求并予以評審,明确不恰當或模糊的要求。 

CMM第2級也要求描述目的、工作陳述和軟體開發計劃以履行軟體工程小組和進階管理者評審過的外部(合同)承諾。

4) 要素4.4——設計控制 

ISO 9001要求組織建立控制和驗證設計的程式,包括:策劃設計和開發活動;規定組織上和技術上的接口;識别設計輸入和設計輸出;評審、驗證和确認設計;控制設計更改 

CMM 3級描述生存周期過程,包括需求分析、設計、編碼和測試;第2級提出策劃和跟蹤所有項目活動,包括上述生存周期活動及配置管理。 

ISO 9001要求必須進行設計評審,至于應如何進行設計評審,并沒有提出具體要求,組織可根據具體情況,在一定範圍内選擇。與此不同的是,CMM第3級特别要求設計評審要采用同行評審的方式。ISO 9000-3關于設計評審的指南包含了CMM這一要求。 

CMM 4級對設計過程的要求與ISO 9001相比更加正式和量化。 

5) 要素4.5——檔案和資料的控制 

ISO 9001要求組織控制檔案和資料的發放與更改。 

CMM第2級提出要将對檔案和資料的控制納入配置管理,第3級特别要求對檔案控制須實施并維持配置管理體系。在CMM的實施活動共同特征章節中,對不同的關鍵過程區域明确了哪些專門的程式檔案、标準和其它檔案可納入配置管理。 

ISO 9000-3提出應将檔案和資料納入配置管理。 

6) 要素——4.6 采購 

ISO 9001要求組織要確定采購的産品符合規定的要求,包括評價潛在的分承包方和驗證采購産品。CMM第2級在顧客軟體開發的要求中包括了對分承包方的評價和分承包方提供的軟體進行接收測試等内容。

7) 要素——4.7顧客提供産品的控制 

ISO 9001要求組織要驗證、貯存和維護顧客提供的産品。ISO 9000-3在論述這個條款的要求時特别提到對顧客提供的市售軟體的控制。CMM僅在第3級的子活動中提到采購軟體,提出識别市售軟體或可複用軟體是策劃的一部分。 市售軟體和可複用軟體整體來說是CMM的一大弱點。事實上,CMM在這點上不能充分覆寫ISO9001要求,特别是ISO9000-3的要求。盡管如此,CMM第2級中還是要求對分承包的軟體進行接收測試。 

8) 要素4.8——産品的辨別和可追溯性 

ISO9001要求組織能夠在生産、安裝和傳遞的所有階段辨別和追溯産品。 

CMM主要在第2級的配置管理章節中覆寫了這個要求,在第3級闡述了軟體工作産品之間的一緻性和可追溯性需要。 

ISO 9000-3指出在軟體行業一種産品辨別和可追溯的方法是配置管理,而且強調配置管理的兩個目标:對産品的目前配置及産品達到需求的狀态提供足夠的可視性;保證參與産品工作的每一位成員在軟體生存周期的任何階段都能使用正确的和準确的資訊。在這一點上,兩者基本是一緻的。 

9) 要素4.9——過程控制

ISO 9001要求組織策劃和控制其生産過程,包括在受控條件下按形成檔案的指導書進行生産。當組織不能完全驗證過程的結果時,須對過程進行連續的監控。 

CMM第2級要求在軟體開發計劃中規定軟體生産過程使用的特定程式和标準;第3級闡述了軟體生産過程的定義、內建以及支援這些過程的工具要求;第4級闡述了過程控制的量化要求,并舉統計過程控制(SPC)的例子說明。但對一個組織來說,證明滿足這個條款要求的程度一般并不需要這樣高。CMM的第5級更提出了在組織中轉換新技術的要求,這與ISO 900-3中提到的“供方應改進這些工具和技術”是一緻的。 

ISO 9000-3提出這一要素适用于複制、發行和安裝過程。

10)要素4.10——檢驗和試驗: 

ISO 9001要求組織在使用前對材料進行進貨檢驗或驗證并進行過程檢驗,組織還必須在最終産品發運前實施最終檢驗和試驗并儲存檢驗和試驗記錄。 

CMM第3級闡述了測試和過程檢驗的要求。 

ISO 9000-3對軟體(系統)測試給出了指南。

11) 要素4.11——檢驗、測量和試驗裝置的控制 

ISO 9001要求組織控制、校準和保持所有用于符合性證明的裝置。當使用測試硬體或軟體時必須在使用前進行檢查并在規定的時間間隔内複檢。 

CMM在軟體産品工程的測試活動章節對此進行了一般性的闡述。關于測試軟體,在CMM實施能力共同特征章節中專門闡述了用于支援軟體測試的工具。

12)要素4.12——檢驗和試驗狀态 

ISO 9001要求組織保證産品在不同過程步驟中移動時須保持檢驗和試驗狀态的辨別。 

CMM第2級在問題報告和配置狀态、第3級在測試活動中闡述了這個條款的要求。 

13)要素4.13——不合格品的控制 

ISO 9001要求組織控制不合格(不滿足規定要求的)産品以預防非預期的使用或安裝。 ISO900-3在設計控制、檢驗和試驗(測試和确認)、過程控制(複制、傳遞和安裝)和産品的辨別和可追溯性(配置管理)等條款中對這個要求作了進一步的闡述。 

CMM并沒有專門對不合格産品進行闡述。CMM第2級要求保持那些包含已知缺陷但目前尚未修正的配置項的狀态,第3級的設計、實施、測試和确認中均對此作了闡述。 

14)要素4.14——糾正和預防措施 

ISO 9001要求組織确定不合格産生的原因。糾正措施要求消除不合格産生的實際原因,預防措施要求消除産生潛在不合格的原因。 

CMM第2級的問題報告,及其後對基線工作産品的受控維護進行跟蹤、關鍵過程區域(KPA)的軟體品質保證部分與此内容相對應。 CMM第5級關鍵過程區域(KPA)的很多部分也包含了這一内容,例如,防錯。 

15)要素4.15——搬運、貯存、包裝、防護和傳遞 

ISO 9001要求建立并保持搬運、貯存、包裝、防護和傳遞的形成檔案的程式。ISO9000-3展開為對軟體産品的複制、備份、傳遞和安裝的控制。 

CMM并沒有覆寫複制、傳遞和安裝的要求。它在第2級中闡述了軟體産品的生成和發行,在第3級中規定了接收測試的要求。但是CMM沒有闡述關于産品傳遞和安裝的要求。 

16) 要素4.16——品質記錄的控制 

ISO 9001要求組織收集和儲存品質記錄。 

CMM在實施活動共同特征章節中所規定的所有關鍵過程區域(KPA)都涉及品質記錄的儲存要求。第2級的問題報告、第3級的測試和同行評審活動都對應這一條款的要求。 

17) 要素4.17——内部品質稽核 

ISO 9001要求組織策劃和實施内部品質稽核。稽核的結果送出管理評審,并應針對不符合采取糾正措施。 

CMM第2級闡述了稽核過程。在驗證明施共同特征中明确提出:稽核活動是為了確定符合特定标準和程式的要求。 

18)要素4.18——教育訓練 

ISO 9001要求組織确定教育訓練需求,并提供相應的教育訓練且保留教育訓練記錄。 

CMM的實施能力共同特征中明确了特殊教育訓練需求。它闡述了通用教育訓練基礎結構,包括儲存教育訓練記錄的要求。 

19)要素4.19——服務 

ISO 9001要求:當服務是規定要求時,組織應實施、驗證和報告服務活動。ISO9000-3則把對維護的控制要求歸于本要素。 

CMM并沒有單獨論述軟體維護,而是把維護貫穿于整個CMM過程中。 

20)要素4.20——統計技術 

ISO 9001要求組織明确合适的統計技術,并用它們來驗證過程能力和産品特性的可接受性。

CMM把産品特性納入“執行活動”共同特征章節,作為“測量和分析”共同特征的組成部分。

CMM第2級要求建立項目級的資料庫,第3級要求建立全組織範圍内的過程和産品資料庫,第4級要求組織進行統計過程控制,如使用排列圖分析。 

下表是ISO 9001要素涉及到的CMM級别的對應表,在具體的内容上它們并不是一一對應,有的雖然涉及到了,但在要求的程度上也有差别,本表隻是說明了它們之間的關系。 

ISO 9001要素 本文中涉及的CMM級别 

第2級 第3級 第4級 第5級 共同特征 

4.1 管理職責 √ √ √ 

4.2 品質體系 √ √ √ 

4.3 合同評審 √ 

4.4 設計控制 √ √ √ 

4.5 檔案和資料控制 √ √ √ 

4.6 采購 √ 

4.7 顧客提供産品的控制 √ √ 

4.8 産品辨別和可追溯性 √ √ 

4.9 過程控制 √ √ √ √ 

4.10 檢驗和試驗 √ √

4.11 檢驗、測量和試驗裝置的

控制√ 

4.12 檢驗和試驗狀态 √ √ 

4.13 不合格品控制 √ √ 

4.14 糾正和預防措施 √ √ 

4.15 搬運、包裝、貯存、防護和傳遞 √ √ 

4.16 品質記錄的控制 √ √ √ 

4.17 内部品質稽核 √ √ 

4.18 教育訓練 √ 

4.19 服務 √ 

4.20 統計技術 √ √ √ √ 

三、結論 

1)ISO 9001和CMM既有差別又互相聯系,兩者不可簡單的互相替代。 盡管ISO 9001标準的一些要求在CMM中不存在,而CMM的一些要求在ISO 9001标準中也不存在,但不可否認的是,兩者之間的關系非常密切。當然,兩者之間的差别也很明顯,例如, ISO 9001标準的要素4.7和4.15在CMM中沒有細述,而4.19則是分散在CMM的各部分中。ISO 9001的一些要素可以在CMM中找到完全對應的部分,另外一些要素則是比較分散的對應。 

兩者的最大相似之處在于兩者都強調“該說的要說到,說到的要做到”。對每一個重要的過程應形成檔案,包括指導書和說明,并檢查交貨品質水準。CMM強調持續改進,ISO 9001的1994版标準主要說明的是“合格品質體系的最低可接受水準”(ISO 9001 的2000版标準也增加了持續改進的内容)。 

另外,1999年底,由美國品質協會(ASQ)和MOTOROLA、NOKIA、BELL SOUTH等100多家企業、機構共同制定的電信行業(包括電信軟體開發企業)品質體系标準TL 9000正式釋出,在處理已經取得CMM和ISO 9001認證的軟體開發企業如何更新到TL 9000時,補充稽核的要求有很大差異,這從一個側面也可以說明它們之間的差别。但很明顯,取得ISO 9001認證對于取得CMM的等級證書是有益的,反之,取得CMM等級證書,對于尋求ISO 9001認證也是有幫助的。 

2)取得ISO 9001認證并不意味着完全滿足CMM某個等級的要求。 表面上看,獲得ISO 9001标準的企業應有CMM第3至第4級的水準,但事實上,有些獲得CMM第1級的企業也獲得了ISO 9001證書,原因是ISO 9001強調以顧客的要求為出發點,不同的顧客要求的品質水準也不同,而且各個稽核員的水準/解釋也有些差異;由此可以看出,取得ISO 9001認證所代表的品質管理和品質保證能力的高低與稽核員對标準的了解及自身水準的高低有很大的關系,而這不是ISO 9001标準本身所決定的 

ISO 9001标準隻是品質管理體系的最低可接受準則,不能說已滿足CMM的大部分要求。有一點可以肯定,ISO 9001認證合格的企業至少能滿足CMM第2級的大部分要求以及第3級的一部分要求。 3)取得CMM第2級(或第3級)不能籠統的認為是滿足ISO 9001的要求。CMM 第2級的所有關鍵過程都涉及ISO 9001的要求,但都低于ISO9001的要求。另外,一些CMM第1級的組織在滿足了第2級和第3級的一些關鍵過程的要求後,也可以獲得ISO 9001認證證書.一些CMM第2級或第3級的企業可能被認為符合ISO 9001的要求,但是,甚至一些第3級企業也需另外滿足ISO9001的要素4.15的搬運和傳遞要求以及補充對市售軟體和可複用軟體的控制。當然,盡管CMM沒有完全滿足ISO 9001标準的一些特定要求,但包含了大部分的要求。 

不可否認,CMM是專門針對軟體開發企業設計的,是以在針對性上比ISO 9001要好。ISO已經意識到這個問題,針對軟體開發企業應用ISO 9001提供了指南标準(ISO 9000-3),預計在2000年底釋出的ISO 9000:2000也考慮了軟體企業的特點。 需要特别說明的是,CMM強調的是軟體開發過程的管理,對于國内軟體企業涉及較多的“系統內建”并沒有考慮,如果單純按照CMM的要求建立品質體系應該注意補充“系統內建”方面的内容。 

四、結束語 

本文并沒有回答CMM和ISO 9001誰更好,也不想回答這個問題,一個體系的好壞是由很多方面決定的。上面僅僅反應了作者對這兩個體系的一些看法,不免帶有一些主觀和片面。但是,對于一個軟體開發企業來說,獲得什麼樣的認證證書隻是表面的,重要的是如何着眼于持續改進以更好的保證軟體開發的品質、滿足顧客的要求,進而獲得競争優勢,這是每一個軟體開發企業應該認真考慮的問題。

繼續閱讀