馬佳俊
【摘要】 傳統(tǒng)的企業(yè)應(yīng)用系統(tǒng)開發(fā)存在較多的不足與弊端,尤其是當(dāng)前客戶對(duì)軟件開發(fā)的需求和要求更加多樣化,為此針對(duì)企業(yè)應(yīng)用系統(tǒng)開發(fā)應(yīng)用與改進(jìn)的研究十分有意義。近年來出現(xiàn)了一些敏捷型軟件開發(fā)方法,它靈活的開發(fā)機(jī)制能有效控制需求變化帶來的風(fēng)險(xiǎn),這種方法被稱為敏捷方法。本文將從敏捷方法的核心思想及內(nèi)容進(jìn)行入手,并對(duì)企業(yè)應(yīng)用系統(tǒng)開發(fā)過程中遇到的難點(diǎn)進(jìn)行了分析。從中可以看出傳統(tǒng)的軟件開發(fā)模式已經(jīng)不能適應(yīng)多樣化的客戶層次,為此針對(duì)敏捷方法的研究與開發(fā)迫在眉睫,更為重要的是加強(qiáng)敏捷方法在軟件開發(fā)過程中的改進(jìn)。
【關(guān)鍵詞】 敏捷方法 企業(yè) 應(yīng)用系統(tǒng) 改進(jìn)
一、敏捷方法應(yīng)用于企業(yè)系統(tǒng)開發(fā)的核心思想及內(nèi)容
1.1敏捷方法應(yīng)用于企業(yè)系統(tǒng)開發(fā)的核心思想
(1)靈活性:敏捷方法的核心思想之一就是適應(yīng)性,這是因?yàn)樵谲浖_發(fā)的過程中會(huì)有很多問題是難以預(yù)測(cè)的,尤其是在面對(duì)變化莫測(cè)的客戶需求,更加需要一定的靈活性。而敏捷方法相對(duì)于傳統(tǒng)方法而言就具備一定的靈活性和適應(yīng)性,并且能夠充分利用不同的客戶需求來對(duì)自己進(jìn)行進(jìn)一步地完善;(2)創(chuàng)新性:其次敏捷方法的核心思想還包含以人為本的思想,這是因?yàn)閭鹘y(tǒng)軟件的開發(fā)過于強(qiáng)調(diào)對(duì)開發(fā)過程的監(jiān)督和管理,但是卻沒有充分發(fā)揮個(gè)人的特性,因此在很大程度上限制了產(chǎn)品的開發(fā)。因此敏捷方法更加看重人的獨(dú)特性和創(chuàng)新性,在實(shí)際研發(fā)的過程中不會(huì)過于限制和管理,而是以一個(gè)較為開放和平等的態(tài)度去對(duì)待軟件開發(fā);(3)迭代增量的開發(fā)模式:敏捷方法以原有的軟件開發(fā)思想作為基礎(chǔ),在實(shí)際的開發(fā)過程中采用迭代增量式的方法,因此敏捷方法開發(fā)的軟件版本都具有小型化的特點(diǎn)。其會(huì)依據(jù)客戶需求的優(yōu)先程度以及風(fēng)險(xiǎn)的大小來制定發(fā)行計(jì)劃。
1.2敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)中的實(shí)踐
1.2.1敏捷方法在企業(yè)應(yīng)用開發(fā)中需遵循的原則
1)核心思想
從整體上來看敏捷方法包含了四個(gè)核心價(jià)值思想,其主要內(nèi)容為簡(jiǎn)單、溝通、反饋和勇氣。具體細(xì)分來看簡(jiǎn)單則表示在設(shè)計(jì)和編碼的過程中要遵循簡(jiǎn)單的原則,即設(shè)計(jì)的最終目的是為了滿足當(dāng)前的使用需求而不用做假想,因此需要編碼設(shè)計(jì)的更為簡(jiǎn)單化;溝通則是指設(shè)計(jì)者、開發(fā)者以及客戶之間要進(jìn)行及時(shí)地溝通,這樣可以有效地對(duì)客戶需求進(jìn)行了解,并且設(shè)計(jì)出高效適用的軟件;反饋則是緊接溝通而言的,意思是指需要設(shè)計(jì)者、開發(fā)者以及客戶之間充分進(jìn)行交流,從而達(dá)成一致意見,實(shí)時(shí)的反饋可以幫助設(shè)計(jì)出來的產(chǎn)品更有說服力;勇氣的含義則是針對(duì)設(shè)計(jì)者以及開發(fā)者而言的,在設(shè)計(jì)的過程中設(shè)計(jì)者以及開發(fā)者應(yīng)勇敢做出選擇,不要害怕進(jìn)行取舍或者是重構(gòu)。
2)敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)過程實(shí)踐規(guī)則
除了上述的四個(gè)核心價(jià)值觀以外,另外還有一些實(shí)踐規(guī)則需要遵循,其包含了方方面面具體內(nèi)容為簡(jiǎn)單設(shè)計(jì)、測(cè)試驅(qū)動(dòng)、代碼重構(gòu)、成對(duì)編程、持續(xù)集成、現(xiàn)場(chǎng)客戶、發(fā)行版本小型化、系統(tǒng)隱喻、代碼集體所有制、規(guī)劃策略、規(guī)范代碼、40小時(shí)工作機(jī)制。這12個(gè)實(shí)踐規(guī)則共同組成了應(yīng)用系統(tǒng)開發(fā)的準(zhǔn)則,該內(nèi)容也需要不斷完善。
二、敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)過程中局限
敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)的過程中也會(huì)遇到各種難點(diǎn),譬如由于客戶的需求是不確定的,這個(gè)問題體現(xiàn)在實(shí)際的操作過程中會(huì)難以滿足不同客戶群的所有需求。加之客戶是無法參與到軟件開發(fā)的整個(gè)過程之中的,因此這種非透明性也會(huì)給產(chǎn)品設(shè)計(jì)帶來諸多問題。為此針對(duì)敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)研究,加強(qiáng)對(duì)方法的改進(jìn)和創(chuàng)新十分有必要。
2.1客戶需求難以滿足
軟件開發(fā)過程中有一個(gè)難點(diǎn)問題需要進(jìn)一步解決,那就是客戶需求不確定性的問題,這也是為什么在應(yīng)用系統(tǒng)的開發(fā)過程中會(huì)出現(xiàn)各種各樣實(shí)質(zhì)性的問題,為此加強(qiáng)對(duì)不同客戶群需求的研究和關(guān)注十分有必要。同時(shí)傳統(tǒng)的軟件開發(fā)過程是需要將前期的調(diào)研分析進(jìn)行細(xì)致劃分和整理,并且以合同的形式來確立客戶的需求。這是因?yàn)樵趯?shí)際的操作過程中很難一次性地針對(duì)客戶的需求進(jìn)行詳細(xì)地了解,更不可能實(shí)現(xiàn)對(duì)客戶需求的完全掌握。
2.2開發(fā)過程的非透明性
要想真正意義上滿足客戶的實(shí)際需求,必須要在原型的基礎(chǔ)之上進(jìn)行演示、試用、測(cè)試,這是一個(gè)漫長(zhǎng)的過程,而且有時(shí)候在實(shí)際使用過程中才能挖掘和確定客戶的真正需求。為此要想讓客戶群體滿意是一件非常難的事情,這就需要客戶可以參與到軟件開發(fā)和研發(fā)的過程中,但是這在實(shí)際操作的過程中是難以實(shí)現(xiàn)的。系統(tǒng)開發(fā)過程非透明性的問題,導(dǎo)致了很多問題的不斷發(fā)生,例如系統(tǒng)工作模式和操作界面與客戶的要求存在一定距離,甚至?xí)厝幌喾础?/p>
三、敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)中的應(yīng)用探析
(1)迭代式項(xiàng)目:從迭代項(xiàng)目計(jì)劃的內(nèi)容上來看,其主要是指將系統(tǒng)開發(fā)的整個(gè)過程分成若干了過程和小部分,并嚴(yán)格按照一定的要求來完成。在這個(gè)過程之中,通過不斷地完善和改進(jìn)可以促使系統(tǒng)處于一直可使用的狀態(tài);(2)項(xiàng)目文檔:項(xiàng)目文檔也是敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)過程中的一個(gè)重要內(nèi)容,其對(duì)于系統(tǒng)開發(fā)來說有著至關(guān)重要的作用,為此加強(qiáng)對(duì)維護(hù)系統(tǒng)方面文檔的編寫將是一個(gè)好主意;(3)重構(gòu)改進(jìn):重構(gòu)的改進(jìn)也是敏捷方法的一個(gè)重點(diǎn)內(nèi)容,其可以利用系統(tǒng)日志機(jī)制,實(shí)現(xiàn)對(duì)問題的分析和處理,即當(dāng)每次重構(gòu)之后若能夠保證系統(tǒng)日志監(jiān)控系統(tǒng)正常運(yùn)行,就可以找出錯(cuò)誤源;(4)項(xiàng)目運(yùn)行維護(hù):項(xiàng)目的運(yùn)行維護(hù)是指,對(duì)于系統(tǒng)的開發(fā)是一個(gè)長(zhǎng)期改進(jìn)和不斷完善的過程,因此在進(jìn)行模塊和功能上的變更時(shí),要進(jìn)行科學(xué)管理和維護(hù),擴(kuò)展和變更目的是為了適應(yīng)業(yè)務(wù)環(huán)境變化的需要。
四、敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)中的改進(jìn)
(1)開發(fā)模式:在具體的實(shí)施過程中要將項(xiàng)目進(jìn)行分塊開發(fā)和處理,從其根本目的上來看,是為了合理地規(guī)避風(fēng)險(xiǎn),同時(shí)有必要先做架構(gòu)設(shè)計(jì)從而可以很好地利于各平臺(tái),實(shí)現(xiàn)在開發(fā)模式上的統(tǒng)一;(2)需求挖掘:軟件開發(fā)的最終目的是要實(shí)現(xiàn)對(duì)客戶需求的滿足,因此在具體的實(shí)踐過程中要加強(qiáng)對(duì)客戶需求的挖掘,采用具體的辦法可以是問卷調(diào)查、進(jìn)行素材的收集和整理。更為重要的是將這些有效的數(shù)據(jù)進(jìn)行整合并加以分析,找到當(dāng)前市場(chǎng)上的空缺和客戶多樣化的需求;(3)團(tuán)隊(duì)組織:軟件開發(fā)的過程是十分復(fù)雜的,因此一個(gè)好的組織和團(tuán)隊(duì)是十分有必要的。敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)的過程中也要借助團(tuán)隊(duì)的力量。團(tuán)隊(duì)之間要做到科學(xué)分配任務(wù),從而保證系統(tǒng)開發(fā)可以又好又快地完成;(4)質(zhì)量控制:質(zhì)量控制在敏捷方法當(dāng)中也是十分重要的,只有切實(shí)保障系統(tǒng)開發(fā)后投入實(shí)踐的作用;(5)開發(fā)過程控制:開發(fā)的整個(gè)過程是十分艱難的,每一個(gè)環(huán)節(jié)都是至關(guān)重要的,為此加強(qiáng)對(duì)系統(tǒng)開發(fā)的過程控制相當(dāng)有必要。
五、結(jié)束語
加強(qiáng)對(duì)敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)過程中的應(yīng)用和改進(jìn)研究,需要從多個(gè)角度進(jìn)行深入討論和考慮,尤其是針對(duì)當(dāng)前敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)過程中的實(shí)際運(yùn)用情況,對(duì)現(xiàn)存的一些問題進(jìn)行剖析從而找到問題發(fā)生的根本原因。更為重要的是針對(duì)當(dāng)前敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)過程中透露出來的不足進(jìn)行進(jìn)一步改正,為此加強(qiáng)對(duì)問題的分析以及措施的探索十分有必要和有意義。希望通過本文的研究和探討,能夠不斷發(fā)揮敏捷方法在企業(yè)應(yīng)用系統(tǒng)開發(fā)過程中的作用。
參 考 文 獻(xiàn)
[1]榮國(guó)平,劉天宇,謝明娟,陳婕妤,張賀,陳道蓄. 嵌入式系統(tǒng)開發(fā)中敏捷方法的應(yīng)用研究綜述[J]. 軟件學(xué)報(bào),2014,v.2502:267-283.
[2]宋妍. SCRUM敏捷方法在小型團(tuán)隊(duì)移動(dòng)游戲開發(fā)中的應(yīng)用研究[D].中國(guó)科學(xué)院大學(xué)(工程管理與信息技術(shù)學(xué)院),2013.
[3]陳亭華. 敏捷方法在通訊軟件開發(fā)中的應(yīng)用研究[D].東華大學(xué),2014.