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