ISO9000和CMM:誰更適合軟件開發(fā)管理?
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
目前,許多軟件企業(yè)在開發(fā)管理上存在的問題是沒有統(tǒng)一的規(guī)范標準,質(zhì)量把控也不夠理想。因此,許多企業(yè)的軟件開發(fā)項目都要求承包商有一定的cmm級別或iso9000認證作為參加投標的資格。在上周,我參加了一個華南地區(qū)的軟件行業(yè)會議,會議主題是關(guān)于如何做好軟件開發(fā)的質(zhì)量管理。在會議上大家掀起了一股討論的熱潮,就是在軟件開發(fā)中是選擇cmm體系還是iso9000質(zhì)量體系?
什么是cmm和iso質(zhì)量管理體系? (1)什么是軟件過程質(zhì)量管理? 在研討會上,許多與會者一致的都認為目前我國軟件企業(yè)遇到的最大困難既不是來自國家有關(guān)的產(chǎn)業(yè)政策,也不是來自市場的競爭,而是來自企業(yè)內(nèi)部管理的不完善和不協(xié)調(diào),有相當一部分軟件企業(yè)的質(zhì)量管理環(huán)節(jié)是相當?shù)谋∪酢R虼?,軟件企業(yè)的當務(wù)之急應(yīng)該是苦練內(nèi)功,通過加強質(zhì)量管理工作來規(guī)范企業(yè)內(nèi)部行為。而要想高效率、高質(zhì)量和低成本的開發(fā)軟件,必須要改善軟件生產(chǎn)過程這一核心問題。 軟件過程是指軟件生存周期所涉及的一系列相關(guān)過程。軟件過程是研究如何將人員、技術(shù)和工具等組織起來,通過有效的管理手段,提高軟件的生產(chǎn)效率和保證軟件的產(chǎn)品質(zhì)量。軟件過程成熟是指一個特定軟件過程被明確和有效地定義、管理、測量和控制的程度。由此誕生了軟件過程的兩個主要流派:美國軟件工程研究所(sei)開發(fā)的cmm軟件成熟度模型和國際標準化組織(iso)開發(fā)的iso9000標準系列。它們兩者都共同著眼于質(zhì)量和過程管理,兩者都為了解決同樣的問題。但是它們的基礎(chǔ)是不同的:iso9000標準是確定一個質(zhì)量體系的最少需求,而cmm模型強調(diào)持續(xù)過程改進。當然,這種觀點有一定的主觀性,因為一些國際標準團體認為如果深入地解讀iso9000,而不只是停留在表面的話,iso9000也是為了解決持續(xù)過程改進的問題。 (2)什么是cmm軟件成熟度模型? cmm(capability maturity model)是能力成熟度模型的縮寫。cmm描述了一個有效的軟件過程中的關(guān)鍵要素,討論了不成熟的軟件機構(gòu)發(fā)展成為有規(guī)律的、成熟的軟件機構(gòu)的改進過程。cmm涉及對軟件開發(fā)規(guī)劃、軟件過程工程化和對軟件過程管理的實踐活動。通過這些實踐活動,以提高軟件機構(gòu)滿足成本、進度、功能和質(zhì)量要求的能力。cmm的核心是把軟件開發(fā)視為一個過程,并根據(jù)這一原則對軟件開發(fā)和維護進行過程監(jiān)控和研究,以使其更加科學(xué)化、標準化。 cmm可分為五個等級:一級為初始級,二級為可重復(fù)級,三級為已定義級,四級為已管理級,五級為優(yōu)化級。其中任何軟件企業(yè)都可以認為是成熟度級別為一級的組織。換句話說,一級的企業(yè)在軟件過程中是有很多問題,但隨著成熟度級別的升高,企業(yè)軟件過程的能力也會越來越強。目前,cmm模式已被公認為是當前最好的軟件過程管理模式,它已成為業(yè)界事實上的軟件過程的工業(yè)標準。但是需要提醒的是,并不是實施了cmm,軟件項目的質(zhì)量就一定有了保障。因為按照cmm思想進行管理與通過cmm認證并不能劃上等號。 (3)什么iso9000質(zhì)量體系? 自從1987年iso國際標準化組織公布iso9000標準以來,iso 9000標準已經(jīng)成為全球最有影響力的質(zhì)量管理和質(zhì)量保證標準。iso9000標準是建立在"所有工作都是通過過程來完成的"這樣一個認識基礎(chǔ)之上。在iso 9000標準中,與軟件企業(yè)關(guān)系最密切的是《iso 9001 質(zhì)量體系-設(shè)計、開發(fā)、生產(chǎn)、安裝和服務(wù)的質(zhì)量保證模式》和《iso 9000-3 質(zhì)量管理和質(zhì)量保證標準第三部分:iso 9001在計算機軟件開發(fā)、供應(yīng)、安裝和維護中的指南》。還有如iso9004-2是指導(dǎo)軟件維護和服務(wù)的質(zhì)量系統(tǒng)標準,它是指導(dǎo)和支持軟件產(chǎn)品的維護。而iso9004-4則是近年公布的很有用的附加標準,是用于改善軟件質(zhì)量的質(zhì)量管理系統(tǒng)文件。 iso 9000-3作為軟件企業(yè)實施iso 9001的指南,其主要思想是:軟件的開發(fā)和維護有著一系列的任務(wù)。這些任務(wù)的順利完成是需要各級管理層和開發(fā)人員的共同配合和一致協(xié)調(diào)的。需要指出的是,iso 9000-3對軟件企業(yè)的軟件開發(fā)和維護活動起到的只是指導(dǎo)性和建議性的作用,不帶有強制性。因此,一個軟件企業(yè)在貫徹和執(zhí)行iso 9000-3的過程中,應(yīng)該根據(jù)企業(yè)自身的基礎(chǔ)和現(xiàn)狀,有針對性地開展軟件質(zhì)量管理和質(zhì)量保障活動。此外,iso/iec還制訂了《信息技術(shù)-軟件生存周期過程》,全面系統(tǒng)地描述了軟件生存周期過程,是iso 9000-3實施指南的進一步擴展。 iso9000和cmm,誰更適合軟件開發(fā)? iso9000 和 cmm 是國際上通用的軟件質(zhì)量評估和管理方法。二者有很多相似之處,它們的實施都可以改變軟件開發(fā)的不規(guī)范、文檔不齊、維護跟不上、質(zhì)量漏洞多等弊病。因此,盡管iso9000標準的一些要求在cmm中不存在,而cmm的一些要求在iso9000標準中也不存在,但兩者之間都受到類似的關(guān)系驅(qū)動,有著相似之處。它們的核心思想都涉及質(zhì)量管理和過程管理。因此,往往會產(chǎn)生這樣的問題:iso9000和cmm,誰更適合軟件開發(fā)? (1)兩者相通的聯(lián)系 兩者最大的相似點是都強調(diào)規(guī)范化和文檔化的過程管理。在基本原理方面,iso9000和cmm都十分關(guān)注軟件產(chǎn)品質(zhì)量和過程改進。尤其是iso 9000:2000版標準增加持續(xù)改進、質(zhì)量目標的量化等方面的要求后,在基本思路上和cmm更加接近。 它們的共同點都是認為:過程管理的核心是使過程狀態(tài)可見并使過程可控。也就是說:如果組織還沒有一個規(guī)范化的開發(fā)過程,則首要任務(wù)是對當前的開發(fā)過程進行分析、整理并文檔化,制定出一個符合本組織實際開發(fā)過程的規(guī)范,并從制度上確保開發(fā)過程規(guī)范的執(zhí)行。如果已經(jīng)具備了相對規(guī)范的開發(fā)過程,則需要對這個開發(fā)過程的規(guī)范表現(xiàn)進行持續(xù)的評估,找出問題,然后進行補充修訂。這就是我們通常所說的持續(xù)改進。 (2)cmm和iso有什么區(qū)別? 一般來說,iso9001會被認為是適用于所有領(lǐng)域的一種質(zhì)量保證模式。針對質(zhì)量管理而言,iso可以看作是一個濃縮的管理學(xué)框架。它是一個大而全的系統(tǒng),幾乎覆蓋了公司管理的各個方面。它對于一個尚無完整質(zhì)量管理體系和規(guī)范的公司來說,是一個很好的快速建立公司系統(tǒng)化管理框架的參照體系。通過這個體系的建立,可把公司的各個部門的業(yè)務(wù)流程、接口關(guān)系、人員崗位、部門職能界定及各種公司管理制度有機的整合起來。 而cmm 主要是對軟件開發(fā)實踐所涉及的整個開發(fā)流程的規(guī)定和分析,它的體系既包括軟件工程過程本身,也包括對這一過程的管理。它更多的是提示組織所處于各個成熟度等級的階段目標,以及為了達到這些特定的階段目標而需要的具體活動。對于一個具有一定管理基礎(chǔ)的組織,引入 cmm會對其持續(xù)提高過程能力、持續(xù)改進過程質(zhì)量將起到極大的推動作用。 cmm與iso9000的區(qū)別主要有以下幾點:①iso9000的通用性太強,針對性太弱。iso9000適用范圍是所有設(shè)計\制造\開發(fā)及服務(wù)的行業(yè),對軟件質(zhì)量管理體系的要求是很低的,通過iso9000認證的企業(yè)只相當于cmm的2級或3級,而且要求不是很具體。②cmm是專門針對軟件開發(fā)及服務(wù)的。它提出的是對軟件開發(fā)過程改善的全程指導(dǎo)。它的每一級對所要實現(xiàn)的關(guān)鍵過程都有詳細的要求,關(guān)鍵實現(xiàn)的說明就有500頁之多,這對于推動軟件企業(yè)自身質(zhì)量管理素質(zhì)是非常有利的。③cmm強調(diào)軟件開發(fā)過程的成熟度,即不斷改進和提高開發(fā)過程,而iso9000僅是描述了可接受的最低標準。就軟件過程來說,cmm3級的覆蓋范圍是要大于iso9000的覆蓋范圍。④iso認證過程只有兩種結(jié)果:要么通過認證,要么不通過認證。cmm則給出一個過程改善的框架,它將成熟度分為五個級別。 簡單的說,不同點在于cmm是把焦點嚴格對準軟件開發(fā),iso9000則是包括硬件、軟件、流程性材料和服務(wù)。一個是軟件行業(yè)"專用"的,另一個則是"泛用"的。因此,盡管兩者在涉及質(zhì)量管理和軟件過程中有著相似之處,但也存在很大差別。 選擇兩種質(zhì)量體系的策略和建議 就軟件企業(yè)來說,兩者在質(zhì)量管理指導(dǎo)原則上的要求是差不多的。只是實現(xiàn)和表述上是不同的,但不能籠統(tǒng)的說誰比誰好。因此,對于軟件過程改進應(yīng)該是基于cmm模型還是iso9001呢?明智的回答是應(yīng)該同時考慮兩者,雖然兩者有很大程度的重疊。那么,到底是先選擇cmm還是iso呢?從筆者的實踐經(jīng)驗來看,應(yīng)從以下幾個方面進行考慮: (1)從軟件企業(yè)的業(yè)務(wù)特點考慮 一般來說,iso9000是全面規(guī)范企業(yè)的質(zhì)量管理,而解決軟件過程問題則是cmm模型有很好的優(yōu)勢。也就是說:如果企業(yè)只希望提高自己在項目管理、開發(fā)活動或者過程管理等方面中的某些能力,那么就可以應(yīng)用cmm方法來增強自己的過程控制能力。而如果軟件企業(yè)希望全面提高質(zhì)量管理,那么就可以先選擇iso9000。所以,當企業(yè)的規(guī)模不是很大,業(yè)務(wù)又主要集中在軟件開發(fā)為主的話,應(yīng)是cmm比較適用。但如果企業(yè)的規(guī)模比較大,并且業(yè)務(wù)不僅僅集中在軟件開發(fā),還包括硬件開發(fā)、硬件代理(采購)和其它服務(wù),則可以考慮先實施iso9000體系。 (2)軟件企業(yè)對質(zhì)量過程改進的熟悉程度 這一點的考慮主要是因為很多軟件企業(yè)長期以來形成的管理陋習(xí)和企業(yè)文化與cmm制度化的管理理念會存在一些相沖突的地方。因此,在打破舊體制建立新體制時就必然會帶來軟件企業(yè)的陣痛。此外,由于cmm是強調(diào)逐步改進,而非突變,故很難在短時間內(nèi)看到顯著 的效果,這樣直接實施cmm的話會打擊大家對cmm的信心。因此,可以借助iso9000質(zhì)量體系先建立規(guī)范化的軟件過程,熟悉質(zhì)量管理內(nèi)容和建立質(zhì)量管理體系。也就是說,如果過去沒有接觸過類似的規(guī)范化質(zhì)量管理,那么最好先從iso9000開始,首先建立持續(xù)過程改進的思想。因為iso9000的要求比cmm要稍低一些,可以適當?shù)慕档蛯嵤╇y度。如果企業(yè)已經(jīng)實施過iso9000了,并且取得了較好的效果,這時再考慮實施cmm就會順利得多了。 (3)軟件企業(yè)對開發(fā)過程改進的預(yù)算 不論怎樣,幾乎可以肯定地說實施cmm的費用肯定要比實施iso9000的高出一些。據(jù)有關(guān)方面的統(tǒng)計,通過cmm4級以上的直接和間接的投入會是超過百萬元級的。因此,如果企業(yè)的預(yù)算不多的話,我們立足于"少花錢、多辦事"的原則,可以先采用iso9000的實施和評估方法,先建立規(guī)范化的質(zhì)量控制過程。這樣不但經(jīng)濟很多,而且效果還不錯。在預(yù)算充足的時候,再上cmm就也會事半功倍了。通常來說,單純比較軟件過程的話cmm的價值會更大些。但總的來說cmm和iso沒有孰輕孰重之分,而是可以互相結(jié)合的。例如,iso的質(zhì)量目標是非常好的思想,cmm管控軟件開發(fā)過程則相對比較細致。 總之,單純實施cmm,永遠不能真正做到能力成熟度的升級,只有將實施cmm與實施iso9000有機地結(jié)合起來,才能發(fā)揮最大的效力。因此,我傾向于一個公司先基于iso9000建立起質(zhì)量管理體系框架,培養(yǎng)質(zhì)量意識。然后,在此基礎(chǔ)上再選擇若干開發(fā)過程進行重點監(jiān)控,以逐步達到cmm成熟度等級的要求。 該文章在 2010/7/25 2:11:47 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |