本文試圖從大家所熟悉的ISO 9001標準入手,對ISO 9001、ISO 900-3和CMM之間的區別和聯(lián)系做個(gè)簡(jiǎn)單的分析,探討一些大家感到困惑的問(wèn)題,包括:
1)取得ISO 9000認證的組織大約相當于CMM的哪個(gè)等級?
2)取得CMM第2級(或第3級)的組織是否可以認為滿(mǎn)足ISO 9001要求?
3)取得ISO 9001證書(shū)與取得CMM相應等級證書(shū)的企業(yè),誰(shuí)的質(zhì)量管理/質(zhì)量保證水平/能力更高?
一、背景:
ISO 9000族國際標準是在總結了英國的國家標準基礎之上產(chǎn)生的,因此,歐洲通過(guò)ISO 9000認證的企業(yè)數量最多,約占全世界的一半以上。受此影響,相當多的歐洲軟件企業(yè)選擇了ISO 9001或TickIT****(ISO 9001)認證。
CMM是由美國卡內基-梅隆大學(xué)的軟件工程研究所(SEI)開(kāi)發(fā)的軟件成熟度模型,美國的軟件企業(yè)更多的選擇取得CMM等級證書(shū)。在形式上,CMM分為5個(gè)等級(第1級級別最低,第5級級別最高),與ISO 9000審核后只有“通過(guò)”和“不通過(guò)”兩個(gè)結論相比,CMM是一個(gè)動(dòng)態(tài)的過(guò)程,企業(yè)在取得低級別證書(shū)后,可根據高級別的要求確定下一步改進(jìn)的方向。
在基本原理方面,ISO 9001和CMM都十分關(guān)注軟件產(chǎn)品質(zhì)量和過(guò)程改進(jìn)。尤其是ISO 9000:2000版標準增加持續改進(jìn)、質(zhì)量目標的量化等方面的要求后,在基本思路上和CMM更加接近。
① 本文參考了Mark C. Paulk先生的 HOW ISO 9001 COMPARES WITH THE CMM,但觀(guān)點(diǎn)不盡相同。
② ISO 9001是軟件企業(yè)開(kāi)展質(zhì)量體系認證依據的標準;
③ ISO 9000-3是國際標準化組織(ISO)制定的軟件開(kāi)發(fā)企業(yè)實(shí)施ISO 9001指南;
④ TickIT認證是一個(gè)基于ISO 9001的、專(zhuān)門(mén)針對軟件開(kāi)發(fā)企業(yè)的認證制度,與取得非TiclIT(ISO 9001)認證相比,TickIT對審核員的專(zhuān)業(yè)要求更高, TickIT(ISO 9001)證書(shū)在業(yè)界更有權威性
二、內容
下面以ISO 9001為主線(xiàn),列出了ISO 9001的要點(diǎn)及CMM的對應部分。
1.要素4.1:管理職責:
ISO 9001標準要求:
組織應規定質(zhì)量方針,形成文件并予以實(shí)施和保持;
對從事與質(zhì)量有關(guān)的管理、執行和驗證工作的人員規定其職責、權限和相互關(guān)系;
識別和提供驗證資源
被指派的管理者保證實(shí)施和保持質(zhì)量大綱。
CMM第2級提出了質(zhì)量方針和驗證的職責,包括識別各類(lèi)人員在項目中的職責,建立一支受過(guò)培訓的軟件質(zhì)量保證小組和指派高級管理者監控軟件質(zhì)量保證(SQA)活動(dòng)。
作為CMM的通用特點(diǎn),CMM在高級管理人員和項目經(jīng)理兩個(gè)層次上識別管理職責,以監控軟件項目,支持SQA審核,建立支持軟件工程的組織結構和分配資源。
ISO 9001要求的質(zhì)量目標(一種量化的、可檢查的要求),與在CMM第4級提到的“量化的”質(zhì)量方針是一致的
2.要素4.2:質(zhì)量體系:
ISO 9001要求建立一個(gè)文件化的質(zhì)量體系包括質(zhì)量手冊、質(zhì)量計劃、程序文件和作業(yè)指導書(shū)。
CMM第2級提出驗證符合性和管理過(guò)程的質(zhì)量體系活動(dòng),在軟件開(kāi)發(fā)計劃中規定軟件項目使用的具體程序和標準。CMM的驗證實(shí)施(Verifying Implementation)通用特點(diǎn)明確要求進(jìn)行審核以保證符合特定標準和程序。
CMM第3級要求組織必須規定軟件工程任務(wù),并持續實(shí)施,在全組織都必須規定軟件過(guò)程資源,包括標準、程序和過(guò)程描述。
與ISO 9001相比,CMM特別強調組織支持和項目實(shí)施之間的關(guān)系
3.要素4.3:合同評審:
ISO 9001要求組織必須評審每一個(gè)合同以判斷需求是否明確、組織是否有能力滿(mǎn)足合同要求。
CMM第2級提出組織必須文件化顧客要求并予以評審,明確不恰當或模糊的要求。
CMM第2級也要求描述目的、工作陳述和軟件開(kāi)發(fā)計劃以履行軟件工程小組和高級管理者評審過(guò)的外部(合同)承諾。
4.要素4.4:設計控制:
ISO 9001要求組織建立控制和驗證設計的程序,包括:
策劃設計和開(kāi)發(fā)活動(dòng);
規定組織上和技術(shù)上的接口;
識別設計輸入和設計輸出;
評審、驗證和確認設計;
控制設計更改
CMM第3級描述生存周期過(guò)程,包括需求分析、設計、編碼和測試;第2級提出策劃和跟蹤所有項目活動(dòng),包括上述生存周期活動(dòng)及配置管理。
ISO 9001要求必須進(jìn)行設計評審,至于應如何進(jìn)行設計評審,并沒(méi)有提出具體要求,組織可根據具體情況,在一定范圍內選擇。與此不同的是,CMM第3級特別要求設計評審要采用同行評審的方式。ISO 9000-3關(guān)于設計評審的指南包含了CMM這一要求。
CMM第4級對設計過(guò)程的要求與ISO 9001相比更加正式和量化。
5.要素4.5:文件和資料的控制
ISO 9001要求組織控制文件和資料的發(fā)放與更改。
CMM第2級提出要將對文件和資料的控制納入配置管理,第3級特別要求對文件控制須實(shí)施并維持配置管理體系。在CMM的實(shí)施活動(dòng)(Activities Performance)通用特點(diǎn)章節中,對不同的關(guān)鍵過(guò)程區域明確了哪些專(zhuān)門(mén)的程序文件、標準和其它文件可納入配置管理。
ISO 9000-3提出應將文件和資料納入配置管理。
6.要素:4.6 采購
ISO 9001要求組織要確保采購的產(chǎn)品符合規定的要求,包括評價(jià)潛在的分承包方和驗證采購產(chǎn)品。
CMM第2級在顧客軟件開(kāi)發(fā)(Customer software develpoment)的要求中包括了對分承包方的評價(jià)和分承包方提供的軟件進(jìn)行接收測試等內容。
7.要素:4.7 顧客提供產(chǎn)品的控制
ISO 9001要求組織要驗證、貯存和維護顧客提供的產(chǎn)品。ISO 9000-3在論述這個(gè)條款的要求時(shí)特別提到對顧客提供的市售軟件的控制。
CMM僅在第3級的子活動(dòng)(sub-practice)中提到采購軟件,提出識別市售軟件或可復用軟件是策劃的一部分。
市售軟件和可復用軟件整體來(lái)說(shuō)是CMM的一大弱點(diǎn)。事實(shí)上,CMM在這點(diǎn)上不能充分覆蓋ISO9001要求,特別是ISO9000-3的要求。盡管如此,CMM第2級中還是要求對分承包的軟件進(jìn)行接收測試。
8.要素4.8 產(chǎn)品的標識和可追溯性
ISO9001要求組織能夠在生產(chǎn)、安裝和交付的所有階段標識和追溯產(chǎn)品。
CMM主要在第2級的配置管理章節中覆蓋了這個(gè)要求,在第3級闡述了軟件工作產(chǎn)品(software work products)之間的一致性和可追溯性需要。
ISO 9000-3指出在軟件行業(yè)一種產(chǎn)品標識和可追溯的方法是配置管理,而且強調配置管理的兩個(gè)目標:對產(chǎn)品的當前配置及產(chǎn)品達到需求的狀態(tài)提供足夠的可視性;保證參與產(chǎn)品工作的每一位成員在軟件生存周期的任何階段都能使用正確的和準確的信息。在這一點(diǎn)上,兩者基本是一致的。
9.要素4.9 過(guò)程控制:
ISO 9001要求組織策劃和控制其生產(chǎn)過(guò)程,包括在受控條件下按形成文件的指導書(shū)進(jìn)行生產(chǎn)。當組織不能完全驗證過(guò)程的結果時(shí),須對過(guò)程進(jìn)行連續的監控。
CMM第2級要求在軟件開(kāi)發(fā)計劃中規定軟件生產(chǎn)過(guò)程使用的特定程序和標準;第3級闡述了軟件生產(chǎn)過(guò)程的定義、集成以及支持這些過(guò)程的工具要求;第4級闡述了過(guò)程控制的量化要求,并舉統計過(guò)程控制(SPC)的例子說(shuō)明。但對一個(gè)組織來(lái)說(shuō),證實(shí)滿(mǎn)足這個(gè)條款要求的程度一般并不需要這樣高。CMM的第5級更提出了在組織中轉換新技術(shù)的要求,這與ISO 900-3中提到的“供方應改進(jìn)這些工具和技術(shù)”是一致的。
ISO 9000-3提出這一要素適用于復制、發(fā)行(release)和安裝過(guò)程。
10.要素4.10 檢驗和試驗:
ISO 9001要求組織在使用前對材料進(jìn)行進(jìn)貨檢驗或驗證并進(jìn)行過(guò)程檢驗,組織還必須在最終產(chǎn)品發(fā)運前實(shí)施最終檢驗和試驗并保存檢驗和試驗記錄。
CMM第3級闡述了測試和過(guò)程檢驗的要求。
ISO 9000-3對軟件(系統)測試給出了指南。
11.要素4.11 檢驗、測量和試驗設備的控制
ISO 9001要求組織控制、校準和保持所有用于符合性證實(shí)的設備。當使用測試硬件或軟件時(shí)必須在使用前進(jìn)行檢查并在規定的時(shí)間間隔內復檢。
CMM在軟件產(chǎn)品工程(Software Product Engingeering)的測試活動(dòng)章節對此進(jìn)行了一般性的闡述。關(guān)于測試軟件,在CMM實(shí)施能力(Ability to Perform)通用特點(diǎn)章節中專(zhuān)門(mén)闡述了用于支持軟件測試的工具。
12.要素4.12 檢驗和試驗狀態(tài)
ISO 9001要求組織保證產(chǎn)品在不同過(guò)程步驟中移動(dòng)時(shí)須保持檢驗和試驗狀態(tài)的標識。
CMM第2級在問(wèn)題報告和配置狀態(tài)、第3級在測試活動(dòng)中闡述了這個(gè)條款的要求。
13.要素4.13 不合格品的控制
ISO 9001要求組織控制不合格(不滿(mǎn)足規定要求的)產(chǎn)品以預防非預期的使用或安裝。ISO900-3在設計控制、檢驗和試驗(測試和確認)、過(guò)程控制(復制、交付和安裝)和產(chǎn)品的標識和可追溯性(配置管理)等條款中對這個(gè)要求作了進(jìn)一步的闡述。
CMM并沒(méi)有專(zhuān)門(mén)對不合格產(chǎn)品進(jìn)行闡述。CMM第2級要求保持那些包含已知缺陷但目前尚未修正的配置項的狀態(tài),第3級的設計、實(shí)施、測試和確認中均對此作了闡述。
14.要素4.14 糾正和預防措施
ISO 9001要求組織確定不合格產(chǎn)生的原因。糾正措施要求消除不合格產(chǎn)生的實(shí)際原因,預防措施要求消除產(chǎn)生潛在不合格的原因。
CMM第2級的問(wèn)題報告,及其后對基線(xiàn)工作產(chǎn)品(baselined work product)的受控維護進(jìn)行跟蹤、關(guān)鍵過(guò)程區域(KPA)的軟件質(zhì)量保證部分與此內容相對應。
CMM第5級關(guān)鍵過(guò)程區域(KPA)的很多部分也包含了這一內容,例如,防錯(Defect Prevention)。
15.要素4.15 搬運、貯存、包裝、防護和交付
ISO 9001要求建立并保持搬運、貯存、包裝、防護和交付的形成文件的程序。ISO9000-3展開(kāi)為對軟件產(chǎn)品的復制、備份、交付和安裝的控制。
CMM并沒(méi)有覆蓋復制、交付和安裝的要求。它在第2級中闡述了軟件產(chǎn)品的生成和發(fā)行,在第3級中規定了接收測試的要求。但是CMM沒(méi)有闡述關(guān)于產(chǎn)品交付和安裝的要求。
16.要素4.16 質(zhì)量記錄的控制
ISO 9001要求組織收集和保存質(zhì)量記錄。
CMM在實(shí)施活動(dòng)(Activities Performed)通用特點(diǎn)章節中所規定的所有關(guān)鍵過(guò)程區域(KPA)都涉及質(zhì)量記錄的保存要求。第2級的問(wèn)題報告、第3級的測試和同行評審活動(dòng)都對應這一條款的要求。
17.要素4.17 內部質(zhì)量審核
ISO 9001要求組織策劃和實(shí)施內部質(zhì)量審核。審核的結果提交管理評審,并應針對不符合采取糾正措施。
CMM第2級闡述了審核過(guò)程。在驗證實(shí)施(Verifying Implementation)通用特點(diǎn)中明確提出:審核活動(dòng)是為了確保符合特定標準和程序的要求。
18.要素4.18 培訓
ISO 9001要求組織確定培訓需求,并提供相應的培訓且保留培訓記錄。
CMM的實(shí)施能力(Ability to Perform)通用特點(diǎn)中明確了特殊培訓需求。它闡述了通用培訓基礎結構,包括保存培訓記錄的要求。
19.要素4.19 服務(wù)
ISO 9001要求:當服務(wù)是規定要求時(shí),組織應實(shí)施、驗證和報告服務(wù)活動(dòng)。ISO9000-3則把對維護的控制要求歸于本要素。
CMM并沒(méi)有單獨論述軟件維護,而是把維護貫穿于整個(gè)CMM過(guò)程中。
20.要素:4.20:統計技術(shù)
ISO 9001要求組織明確合適的統計技術(shù),并用它們來(lái)驗證過(guò)程能力和產(chǎn)品特性的可接受性。CMM把產(chǎn)品特性納入“活動(dòng)執行”(Activities Performed)通用特點(diǎn)章節,作為“測量和分析”通用特點(diǎn)的組成部分。
CMM第2級要求建立項目級的數據庫,第3級要求建立全組織范圍內的過(guò)程和產(chǎn)品數據庫,第4級要求組織進(jìn)行統計過(guò)程控制,如使用排列圖分析。
三、結論
1.ISO 9001和CMM既有區別又相互聯(lián)系,兩者不可簡(jiǎn)單的互相替代。
盡管ISO 9001標準的一些要求在CMM中不存在,而CMM的一些要求在ISO 9001標準中也不存在,但不可否認的是,兩者之間的關(guān)系非常密切。當然,兩者之間的差別也很明顯,例如, ISO 9001標準的要素4.7和4.15在CMM中沒(méi)有細述,而4.19則是分散在CMM的各部分中。ISO 9001的一些要素可以在CMM中找到完全對應的部分,另外一些要素則是比較分散的對應。
兩者的最大相似之處在于兩者都強調“該說(shuō)的要說(shuō)到,說(shuō)到的要做到”。對每一個(gè)重要的過(guò)程應形成文件,包括指導書(shū)和說(shuō)明,并檢查交貨質(zhì)量水平。CMM強調持續改進(jìn),ISO 9001的1994版標準主要說(shuō)明的是“合格質(zhì)量體系的最低可接受水平”(ISO 9001 的2000版標準也增加了持續改進(jìn)的內容)。
另外,1999年底,由美國質(zhì)量協(xié)會(huì )(ASQ)和MOTOROLA、NOKIA、BELL SOUTH等100多家企業(yè)、機構共同制定的電信行業(yè)(包括電信軟件開(kāi)發(fā)企業(yè))質(zhì)量體系標準TL 9000正式發(fā)布,在處理已經(jīng)取得CMM和ISO 9001認證的軟件開(kāi)發(fā)企業(yè)如何升級到TL 9000時(shí),補充審核的要求有很大差異,這從一個(gè)側面也可以說(shuō)明它們之間的差別。
但很明顯,取得ISO 9001認證對于取得CMM的等級證書(shū)是有益的,反之,取得CMM等級證書(shū),對于尋求ISO 9001認證也是有幫助的。
2.取得ISO 9001認證并不意味著(zhù)完全滿(mǎn)足CMM某個(gè)等級的要求
表面上看,獲得ISO 9001標準的企業(yè)應有CMM第3至第4級的水平,但事實(shí)上,有些獲得CMM第1級的企業(yè)也獲得了ISO 9001證書(shū),原因是ISO 9001強調以顧客的要求為出發(fā)點(diǎn),不同的顧客要求的質(zhì)量水平也不同,而且各個(gè)審核員的水平/解釋也有些差異;如果審核員接受過(guò)TickIT審核員課程的培訓,那么經(jīng)他審核獲得ISO 9001證書(shū)的企業(yè)大約相當于CMM第 3級的水平。由此可以看出,取得ISO 9001認證所代表的質(zhì)量管理和質(zhì)量保證能力的高低與審核員對標準的理解及自身水平的高低有很大的關(guān)系,而這不是ISO 9001標準本身所決定的
ISO 9001標準只是質(zhì)量管理體系的最低可接受準則,不能說(shuō)已滿(mǎn)足CMM的大部分要求。有一點(diǎn)可以肯定,ISO 9001認證合格的企業(yè)至少能滿(mǎn)足CMM第2級的大部分要求以及第3級的一部分要求。
3.取得CMM第2級(或第3級)不能籠統的談可以滿(mǎn)足ISO 9001的要求
CMM 第2級的所有關(guān)鍵過(guò)程都涉及ISO 9001的要求,但都低于ISO 9001的要求。另外,一些CMM第1級的組織在滿(mǎn)足了第2級和第3級的一些關(guān)鍵過(guò)程的要求后,也可以獲得ISO 9001認證證書(shū)。
一些CMM第2級或第3級的企業(yè)可能被認為符合ISO 9001的要求,但是,甚至一些第3級企業(yè)也需另外滿(mǎn)足ISO 9001的要素4.15的搬運和交付要求以及補充對市售軟件和可復用軟件的控制。
當然,盡管CMM沒(méi)有完全滿(mǎn)足ISO 9001標準的一些特定要求,但包含了大部分的要求。
不可否認,CMM是專(zhuān)門(mén)針對軟件開(kāi)發(fā)企業(yè)設計的,因此在針對性上比ISO 9001要好。ISO已經(jīng)意識到這個(gè)問(wèn)題,針對軟件開(kāi)發(fā)企業(yè)應用ISO 9001提供了指南標準(ISO 9000-3),預計在2000年底發(fā)布的ISO 9000:2000也考慮了軟件企業(yè)的特點(diǎn)。
需要特別說(shuō)明的是,CMM強調的是軟件開(kāi)發(fā)過(guò)程的管理,對于國內軟件企業(yè)涉及較多的“系統集成”并沒(méi)有考慮,如果單純按照CMM的要求建立質(zhì)量體系應該注意補充“系統集成”方面的內容。
四、結束語(yǔ)
本文并沒(méi)有回答CMM和ISO 9001誰(shuí)更好,也不想回答這個(gè)問(wèn)題,一個(gè)體系的好壞是由很多方面決定的。上面僅僅反應了作者對這兩個(gè)體系的一些看法,不免帶有一些主觀(guān)和片面。但是,對于一個(gè)軟件開(kāi)發(fā)企業(yè)來(lái)說(shuō),獲得什么樣的認證證書(shū)只是表面的,重要的是如何著(zhù)眼于持續改進(jìn)以更好的保證軟件開(kāi)發(fā)的質(zhì)量、滿(mǎn)足顧客的要求,從而獲得競爭優(yōu)勢,這是每一個(gè)軟件開(kāi)發(fā)企業(yè)應該認真考慮的問(wèn)題。
聯(lián)系客服