“敏捷開(kāi)發(fā)”一詞,想必大家都不陌生,不過(guò)對(duì)有些人來(lái)說(shuō),可能也就是書(shū)上見(jiàn)過(guò)或者聽(tīng)說(shuō)過(guò),事實(shí)上,“敏捷開(kāi)發(fā)”并不是一門(mén)技術(shù)或者工具,而只是一個(gè)軟件開(kāi)發(fā)方法,也可以說(shuō)是思想。
那么,究竟什么是敏捷開(kāi)發(fā)?
敏捷開(kāi)發(fā)是一套軟件開(kāi)發(fā)的價(jià)值和原則,倡導(dǎo)演進(jìn)式開(kāi)發(fā),提早交付,持續(xù)改進(jìn),鼓勵(lì)對(duì)變化做出快速靈活的反應(yīng)。很多人可能會(huì)有這樣一個(gè)誤區(qū),即敏捷開(kāi)發(fā)就是快速,越快越好,加班加點(diǎn)寫(xiě)代碼、趕進(jìn)度等,而實(shí)際卻并非如此,對(duì)于敏捷,我們可看作是輕量級(jí)、高效。
一般而言,傳統(tǒng)軟件開(kāi)發(fā)時(shí)通常是羅列大堆需要的功能,之后再進(jìn)行線(xiàn)性流程開(kāi)發(fā),這也被稱(chēng)作瀑布流開(kāi)發(fā)流程。而敏捷開(kāi)發(fā)則是將項(xiàng)目分解成多個(gè)”小目標(biāo)“,通過(guò)分階段不停完成這些小目標(biāo),進(jìn)而完成一整個(gè)大項(xiàng)目。
敏捷開(kāi)發(fā)具體又是什么樣的一種方法呢?下面一起來(lái)看一下!
1、團(tuán)隊(duì)密切協(xié)作
敏捷開(kāi)發(fā)中,最核心的就是人。因此,敏捷開(kāi)發(fā)需要做到以下幾個(gè)關(guān)鍵點(diǎn):
定期會(huì)議。定期舉行一個(gè)高效會(huì)議,有利于開(kāi)發(fā)人員保持緊張有序的工作狀態(tài)。
及時(shí)告知項(xiàng)目進(jìn)展。遇到問(wèn)題時(shí)互相及時(shí)告知,讓所有人及時(shí)了解項(xiàng)目最新進(jìn)展。
知識(shí)共享。共享知識(shí),可以讓整個(gè)團(tuán)隊(duì)開(kāi)發(fā)能力提升的更快。
代碼共享。把代碼集中在版本管理工具之中,團(tuán)隊(duì)任何人都有訪(fǎng)問(wèn)權(quán)限。
代碼審查。對(duì)于代碼的每個(gè)改動(dòng),相關(guān)人員都需要做代碼審查。
2、不斷反饋和調(diào)整
敏捷開(kāi)發(fā)與傳統(tǒng)開(kāi)發(fā)不一樣的就是其并不是一次定終身,因?yàn)檐浖_(kāi)發(fā)不是線(xiàn)性路程,所以可能存在著很大的不確定性,需要不斷的反饋、調(diào)整,快速的去響應(yīng)變化。
需求調(diào)整。在產(chǎn)品真正落地前,沒(méi)有人可以制定出完美需求方案,用戶(hù)說(shuō)不定什么時(shí)候就變更了某個(gè)需求,所以開(kāi)發(fā)團(tuán)隊(duì)需要做好需求不斷變化的心理準(zhǔn)備,并快速響應(yīng)需求變化。
功能調(diào)整。收集客戶(hù)反饋、用戶(hù)反響,來(lái)不斷調(diào)整和優(yōu)化軟件功能。
代碼重構(gòu)。在開(kāi)發(fā)的過(guò)程中,需要不斷的重構(gòu)代碼,保持代碼清晰、內(nèi)聚、整潔。
3、保持軟件可用
傳統(tǒng)軟件開(kāi)發(fā)方式是當(dāng)所有編程代碼寫(xiě)完后再集中測(cè)試和上線(xiàn),這一點(diǎn)在如今信息快速發(fā)展的今天,略有落伍,畢竟若你的軟件開(kāi)發(fā)個(gè)半年,那么行業(yè)中可能早已出現(xiàn)類(lèi)似軟件了,到時(shí)就是涼了的黃花菜了。
敏捷開(kāi)發(fā)則有所不同,可在最小可用版本基礎(chǔ)之上,不斷做功能迭代,不斷發(fā)布新的版本。簡(jiǎn)單來(lái)說(shuō)就是,先做一個(gè)簡(jiǎn)化功能版本出來(lái),讓用戶(hù)有軟件可用,之后再逐步添加更多功能,而非一步到位。這樣還有利于不斷收集用戶(hù)反饋和需求,并及時(shí)調(diào)整開(kāi)發(fā)方向。
4、短迭代,增量發(fā)布
所謂“迭代”就是,重復(fù)下一個(gè)開(kāi)發(fā)周期,用迭代的方法在前一版本之上逐步開(kāi)發(fā)新的功能,發(fā)布新的版本,即:增量發(fā)布。迭代周期不宜過(guò)長(zhǎng),需保持開(kāi)發(fā)過(guò)程穩(wěn)步前進(jìn),不過(guò)也不能太過(guò)頻繁,否則可能就會(huì)過(guò)猶不及,具體迭代周期可根據(jù)實(shí)際情況量力而行。
5、提早集成,不斷集成
“集成”的含義就是,把軟件的各個(gè)模塊,新舊代碼統(tǒng)一整合在一起,能夠正確編譯、運(yùn)行,并且能夠通過(guò)一系列的單元測(cè)試。
對(duì)于敏捷開(kāi)發(fā)來(lái)說(shuō),開(kāi)發(fā)人員需要盡可能做到提早集成,頻繁集成,一般每添加進(jìn)一些新的代碼時(shí),最好都做一次集成,不要臨到軟件發(fā)布或者交付的當(dāng)天才開(kāi)始集成,也不要很久才集成一次,如此可以盡早發(fā)現(xiàn)代碼中的問(wèn)題,保持軟件的狀態(tài)一直是可用的。
6、自動(dòng)化集成、測(cè)試與部署
敏捷開(kāi)發(fā)可通過(guò)技術(shù)手段把集成、測(cè)試與部署這些非常耗時(shí)的操作自動(dòng)化。對(duì)于大型軟件開(kāi)發(fā)團(tuán)隊(duì)來(lái)說(shuō),編譯。測(cè)試過(guò)程都是非常耗時(shí)的,這時(shí),通過(guò)技術(shù)手段把這些耗時(shí)的純體力勞動(dòng)扔給機(jī)器去做,只需等待結(jié)果就好,而且兩個(gè)人同時(shí)Check In時(shí)也不會(huì)受到影響。
綜上所述,敏捷開(kāi)發(fā)最大的一個(gè)特色就是迭代式開(kāi)發(fā),不過(guò)迭代式開(kāi)發(fā)也并非敏捷思想的全部,團(tuán)隊(duì)協(xié)作與自動(dòng)化開(kāi)發(fā)也是敏捷思想的精髓所在。
來(lái)源:匯新云
聲明:世紀(jì)卓越所發(fā)稿件、圖片均用于學(xué)習(xí)交流使用,并在顯要位置注明文章出處和來(lái)。
若涉及版權(quán),請(qǐng)通過(guò)平臺(tái)與我們?nèi)〉寐?lián)系,我們將在第一時(shí)間處理。
聯(lián)系客服