CMM與ISO9001認證有什么不同?山東濟南
CMM和ISO9001都涉及質量管理和過程管理,并且都受到類似的厲害關系驅動,兩者之間有著相似之處。因此,往往產生這樣的問題:
符合ISO9001的軟件組織達到CMM的哪一級?
達到CMM的第2或3級的軟件組織是否符合ISO9001?
一個組織打算推進質量管理或改進軟件過程時是采用ISO9001還是采用CMM?
ISO9001被認為是適用于所有各類專業領域的一種質量保證模式;但是,對于軟件組織來說,盡管加上了ISO990-3作為實施指南,ISO9001似乎仍然不夠貼切,留給審核員作解釋的回旋余地相當大。于是就軟件能力評定而言,按ISO90()進行認證時,不確定性很大;換言之,同是通過了ISO90()認證的組織,其間的軟件能力可能有很大差別。
CMM是專門針對軟件組織設計的一種描述軟件過程能力的模型。CMM研制的主要目的有二:一是幫助事先確定承包商的軟件能力;二是用于軟件組織的過程改進。考慮到按ISO9001對軟件組織進行認證審核時存在的較大不確定性,在設計CMM時。注意了盡量縮小審核員解釋的回旋余地,因此,不僅對每個關鍵過程方面給出了明確的目標和體現這些目標的各個關鍵慣例,而且對各個關鍵慣例都給出了明確的定義和詳細的說明,以期按CMM進行評估時能有較大的一致性和可靠性。結果,CMM成了一個“龐然大物”——長達500余頁。
如上所述,CMM與ISO9001的設計思路不同,并且一個是“專用”,一個是“泛用”,因此,盡管兩者都由于涉及質量管理和過程而有著相似之處,但也存在很大差別。下面依次按ISO9001的20個要素對CMM作一些簡單比較。
4.1.管理職責
ISO9001要求確定質量方針并且加以文件化,理解,執行和維護;要求確定所有員工在規定,達到和監控質量方面的責任和權限;要求確定自有的驗證資源,進行培訓和給予財政支持。由一名指定的經理保證質量計劃的實現和維護。
在CMM中,管理層在質量方針和驗證活動方面的責任主要反映在“軟件質量保證’沖,在“軟件項目策劃”和“軟件項目跟蹤和監督”中只是指出履行所有項目角色時的責任。
高級管理層和項目管理層的軟件項目管理責任是在確認實現中反映。一般,領導問題反映在公共特性的“承諾’方面,組織和資源問題反映在公共特性的“能力”方面。雖然CMM在第再級的“軟件質量管理”中也描述了質量方針,不過,第4級的質量方針是定量的。此外,ISO9001中關于度量在質量管理體系中的作用也有點含糊,ISO9001第4.20條要求確定質量目標并且形成文件,而沒有要求量化。
4.2.質量體系ISO9001要求建立文件化的質量體系,包括程序和指導書。ISO9000-3以質量體系作為整個軟件生存周期的綜合過程。
CMM主要在“軟件質量保證”中涉及質量體系活動。各項程序分布在“關鍵過程方面”的各項“要執行的活動”中。
軟件項目將用到的特定程序和標準在“軟件項目策劃”中描述的軟件開發計劃中
規定。通過“軟件質量保證”和執行‘確認實現”中的審核活動來確保持合這些標準和程序。
“軟件產品工程”要求確定各項軟件工程任務,加以綜合并且統一執行;這一點與ISO900-3關于此條的指南對應。
CMM第3級“組織過程定義”這一關鍵過程方面描述了一組組織一級的軟件過程財富,包括標準,程序和過程說明。運用“組織過程定義”肯定有助于達到此條要求,但是在JSO9001的這~條里,標準和程序可能直接在項目級處理。ISO9001討論供方的質量體系,而不討論組織支持與項目實現的關系;CMM作了討論。另一方面,在ISO9000-3中,關于質量策劃的指南有兩節:423節討論跨項目的質量策劃;5.5節討論具體開發工作中的質量策劃。
4.3合同評審
ISO90()要求評審合同,以確定各項要求是否充分規定,是否與標書~致,是否能實現。
在CMM中,對顧客軟件需求的審查在“需求管理”中敘述。軟件組織(供方)確保分配給軟件的(系統)要求形成文件并且予以審查,確保那些可能引起誤解的或含混的要求得以澄清。因為CMM僅限于軟件方面,所以顧客需求作為一個整體歸于“需求管理”這個關鍵過程方面里。
CMM中的“軟件項目策劃”描述了為簽定合同而要提出的軟件開發計劃建議和工作陳述,并且要求軟件工程組和高級管理層加以審查。
CMM還就軟件組織通過分包獲得軟件的情況作了規定(在“軟件分包方管理”中敘述)。合同可以是與某個外部顧客的,也可以是與分包方的;雖然這一點在ISO9001的這一節中沒有明確規定,但也可以意識到。
4.4設計控制
ISO9001要求建立控制和證實設計的程序。這包括策劃設計活動,標識輸入和輸出,證實設計和控制設計變更。ISO9000-3用了幾條來詳細描述了這一條:購方需求規范(5.3),開發策劃(5.4),質量策劃(5.5),設計和實現(5.6),測試和驗證(5.7)和配置管理(6.1)。
CMM中,需求分析,設計,編碼和測試等生存周期活動在“軟件產品工程”中描述。這些活動的策劃是在“軟件項目策劃”中描述。“軟件項目跟蹤和監督”描述這些活動的控制,而“軟件配置管理”描述的是這些活動產生的軟件工作產物的配置管理。
ISO9001要求進行諸如記錄并且保存設計審查和鑒定測試之類的設計控制手段。ISO9000-3指出,供方應該進行審查,以保證需求得到滿足和設計方法得到正確執行。雖然對設計控制手段有要求,但是使用了“Should”(最好)之類短語則為具體控制手段的使用賦予了靈活性。相反,CMM要求專門的質量控制機制:對等審查。“對等審查”這一關鍵過程方面支持生存周期從需求分析到測試的各個過程。
“軟件質量管理”中描述的定量的設計過程方面更為正規,但ISO9001不一定要求這種正規程度。