景學(xué)紅
【關(guān)鍵詞】CMMI 敏捷開發(fā)過程 比較分析
隨著軟件開發(fā)企業(yè)的發(fā)展,軟件開發(fā)市場競爭越來越激烈,目前軟件開發(fā)面臨的最大挑戰(zhàn)是軟件按開發(fā)企業(yè)既要積極應(yīng)對開發(fā)過程中客戶的變動需求,又要保障在較短的時(shí)間內(nèi)完成整個(gè)項(xiàng)目的研發(fā)工作。簡單的說就是,軟件開發(fā)團(tuán)隊(duì)既要有過硬的技術(shù),又要在開發(fā)過程管理上積極的改進(jìn),以便提高整個(gè)開發(fā)團(tuán)隊(duì)的效率,提高軟件開發(fā)的質(zhì)量,滿足不斷變化的市場與客戶需求。所以必須制定一套軟件開發(fā)過程管理機(jī)制,達(dá)到軟件的開發(fā)與客戶需求的一致性。
1 CMMI和敏捷開發(fā)簡述
CMMI和敏捷開發(fā)是兩種完全不同的軟件開發(fā)模式,它們的概念不同,管理方法和技巧不同,開發(fā)流程不同,開發(fā)過程不同,管理特點(diǎn)不同,它們之間有著本質(zhì)的區(qū)別。敏捷與CMMI 都非常注重質(zhì)量,差別在于CMMI開發(fā)模式是一種重量形式的開發(fā),敏捷是一種輕量模式的開發(fā)。CMMI強(qiáng)調(diào)的是以數(shù)學(xué)統(tǒng)計(jì)為基礎(chǔ)的技術(shù)方式,而敏捷強(qiáng)調(diào)的更多的是具體的、使用的工程技術(shù)方式 。另外敏捷與CMMI有著共同的目標(biāo),即用最短的時(shí)間,投入最少的資金,開發(fā)出滿足客戶需求的最好的軟件;同時(shí)他們都是目前應(yīng)用比較廣泛軟件開發(fā)模式,均具有最佳的實(shí)踐經(jīng)驗(yàn)。CMMI軟件開發(fā)管理模式的有很強(qiáng)的包容性,它強(qiáng)調(diào)重量級的項(xiàng)目過程管理控制,而敏捷是輕量級開發(fā),強(qiáng)調(diào)具體、實(shí)用開發(fā)技術(shù)。相比較而言他們在各自的開發(fā)領(lǐng)域都有比較好的積極作用的發(fā)揮,但是敏捷開發(fā)中輕量級的管理過程開發(fā)效率相對比較高。敏捷開發(fā)與CMMI都注重團(tuán)隊(duì)與組織,只是敏捷開發(fā)更加注重人的主觀能動性。
2 敏捷與CMMI項(xiàng)目管理比較
敏捷開發(fā)項(xiàng)目管理更注重軟件開發(fā)實(shí)施的模式,強(qiáng)調(diào)團(tuán)隊(duì)中個(gè)人的能力的發(fā)揮。它對軟件開發(fā)中技術(shù)和控制管理不是太看重。從這方面來看它與CMMI項(xiàng)目管理過程有著較大的區(qū)別。CMMI軟件開發(fā)過程管理模式是根據(jù)預(yù)先制定的計(jì)劃,按照計(jì)劃中的每一個(gè)步驟進(jìn)行的管理與開發(fā)。如果在開發(fā)的過程中項(xiàng)目發(fā)生變更,需要重新對項(xiàng)目進(jìn)行估計(jì),重新作出項(xiàng)目計(jì)劃,所以此管理模式容易受客戶需求變更的影響,效率比較低。CMMI項(xiàng)目管理過程對客戶和供應(yīng)商的可視性不高。在開發(fā)過程中計(jì)劃驅(qū)動方法、軟件交付實(shí)踐少,風(fēng)險(xiǎn)控制滯后。
敏捷開發(fā)的項(xiàng)目管理過程是一個(gè)不斷變化的過程,它使用迭代、增量的步驟進(jìn)行開發(fā)管理。敏捷開發(fā)的方式實(shí)現(xiàn)沒有對項(xiàng)目進(jìn)行仔細(xì)的分析,項(xiàng)目研發(fā)初期他們不注重對項(xiàng)目的了解,而是在開發(fā)的過程中對項(xiàng)目進(jìn)行慢慢的了解的過程,敏捷只為項(xiàng)目中的一個(gè)迭代做開發(fā)規(guī)劃,不會針對整個(gè)項(xiàng)目做整體規(guī)劃,所以它的具有較高的靈活性,能夠在客戶變更需求時(shí),第一時(shí)間做出反應(yīng)。另外,它對整個(gè)項(xiàng)目一個(gè)比較粗略的規(guī)劃,然后對每一次迭代做詳細(xì)的規(guī)劃,根據(jù)迭代規(guī)劃做研發(fā)工作。相互信任和給予權(quán)力是敏捷開發(fā)的主要管理方式。這種管理模式使合同變更變得簡單,客戶和開發(fā)人合作關(guān)系,關(guān)系密切,每次迭代的完成,都有可交付的軟件生成,能夠利用第一代迭代軟件識別軟件早期風(fēng)險(xiǎn),從而及時(shí)更正。
敏捷來發(fā)不僅能及時(shí)、有效的解決軟件研發(fā)中存在的問題,減少軟件開發(fā)風(fēng)險(xiǎn),而且能夠在最短的實(shí)踐內(nèi)完成項(xiàng)目的交付,提高研發(fā)效率。因?yàn)樗看蔚伎梢援a(chǎn)生可以運(yùn)行的軟件,所以能夠?qū)崿F(xiàn)快捷交付。開發(fā)的過程中國根據(jù)項(xiàng)目風(fēng)險(xiǎn)級別,采取最優(yōu)先行開發(fā)的原則進(jìn)行開發(fā)。增強(qiáng)項(xiàng)目的變更管理,減少大量的重型計(jì)劃工作,簡化繁瑣的管理過程,提高研發(fā)的效率。有效的改善項(xiàng)目的溝通,使客戶能夠有效的參與到研發(fā)中,減少項(xiàng)目管理中錯(cuò)誤的假設(shè)。敏捷開發(fā)能夠最大限度的額提高研發(fā)效率,減少工作中不必要的文檔和工作量,提高客戶滿意度,達(dá)到短期內(nèi)生產(chǎn)生效,完成交付的任務(wù)。還能有效的改善員工的滿意度,增強(qiáng)團(tuán)隊(duì)精神,使每位員工都能夠規(guī)劃和管理自己的工作,提高員工工作的積極性,使項(xiàng)目更加適應(yīng)市場變化。
CMMI和敏捷開發(fā)各有優(yōu)勢,只是側(cè)重帶你不同,前者側(cè)重管理過程的規(guī)劃和質(zhì)量控制的技術(shù),后者側(cè)重具體、使用的軟件按工程技術(shù),它們在各自的應(yīng)用范圍內(nèi)都是最佳的管理模式。在未來的發(fā)展中,CMMI和敏捷開發(fā)可能會走向融合,敏捷可以幫助CMMI高級別更容易實(shí)現(xiàn)短期的轉(zhuǎn)變。從另外一方面看敏捷開發(fā)是使用CMMI第4,5級別來改進(jìn)如何發(fā)展產(chǎn)品的完美例子,二者具有很強(qiáng)的互補(bǔ)性。
3 結(jié)語
總之,軟件的開發(fā)并不是只有一個(gè)或者兩個(gè)模式,軟件企業(yè)可以選用一個(gè)比較適合自身且發(fā)展的而研發(fā)模式實(shí)施管理,也可以多個(gè)結(jié)合運(yùn)用。CMMI與敏捷開發(fā)雖然有很多的不同,但是也不是兩個(gè)完全對立的管理模式,他們有著共同的研發(fā)目標(biāo),致力于軟件研發(fā)的高質(zhì)量、高效率以及高效益,同樣追求客戶的滿意度。所以,在一定的環(huán)境下,二者完全可以相互補(bǔ)充、共同促進(jìn),共同達(dá)到市場需求標(biāo)準(zhǔn),推動軟件研發(fā)的發(fā)展。
參考文獻(xiàn)
[1]徐俊,彭章綱.敏捷開發(fā)過程與CMMI實(shí)施融合研究[J].現(xiàn)代計(jì)算機(jī)(下半月版),2011(24):122-123.
[2]王易,童杰,宋鵬飛.基于CMM/CMMI和敏捷軟件過程改進(jìn)的研究[J].科技資訊,2009(14):196-197.
[3]楊根興.軟件過程的改進(jìn)與敏捷方法[J].軟件產(chǎn)業(yè)與工程,2010(6):287-288.
[4]仲萃豪.從認(rèn)知觀看“軟件危機(jī)”是怎樣解決[J].軟件工程,2006(12):114-115.