開(kāi)發(fā)工作中使用的敏捷開(kāi)發(fā)模式
敏捷開(kāi)發(fā)的定義及解釋說(shuō)明這里就略過(guò)了,想要詳細(xì)了解的朋友可以猛點(diǎn)這里(敏捷開(kāi)發(fā)詳解)。
談敏捷開(kāi)發(fā)先從流程講起吧。首先,每天早上我們會(huì)有一個(gè)晨會(huì)( 站立會(huì)議 ),主要匯報(bào)昨天自己所做的工作及自己在工作的過(guò)程中所遇到的問(wèn)題,然后敘述今天計(jì)劃的工作,組內(nèi)成員依次匯報(bào)組長(zhǎng)做好筆錄。如果組內(nèi)成員有遇到自己不能解決的問(wèn)題,晨會(huì)上提出來(lái)大家共同探討,但如果估計(jì)討論時(shí)間會(huì)比較長(zhǎng)的時(shí)候就會(huì)安排會(huì)下協(xié)調(diào)處理,畢竟每個(gè)人的時(shí)間是寶貴的。這是一個(gè)高效的會(huì)議意在了解組內(nèi)各成員的工作進(jìn)度及狀態(tài)。
會(huì)議結(jié)束后大家就得忙各自的Story去了,說(shuō)到Stroy可能有朋友會(huì)問(wèn)了,什么是Story?下面我們就一起來(lái)了解下,說(shuō)白了敏捷里面Story就是項(xiàng)目啟動(dòng)前你的項(xiàng)目經(jīng)理或組長(zhǎng)將項(xiàng)目劃分出來(lái)的一個(gè)獨(dú)立的功能模塊。然后根據(jù)組內(nèi)成員的特長(zhǎng)安排的開(kāi)發(fā)任務(wù),在迭代中(通常兩個(gè)星期為一個(gè)迭代周期)開(kāi)發(fā)完成。一般測(cè)試人員會(huì)在開(kāi)發(fā)人員開(kāi)發(fā)Story的期間完成測(cè)試用例的編寫(xiě),便于開(kāi)發(fā)完成Stroy后showCase(開(kāi)發(fā)人員在本地環(huán)境運(yùn)行story供測(cè)試人員測(cè)試)時(shí)進(jìn)行驗(yàn)收。showCase通過(guò)后Story算是初步通過(guò),因?yàn)榈J街械拿總€(gè)模塊交付時(shí)都必須是獨(dú)立可運(yùn)行的也是集成可測(cè)試的,所以,功能代碼在測(cè)試環(huán)境集成測(cè)試無(wú)誤后該Story才算驗(yàn)收通過(guò)。
開(kāi)發(fā)人員完成編碼工作后并不意味著任務(wù)就結(jié)束了,這只是剛剛開(kāi)始。是的,沒(méi)說(shuō)錯(cuò),剛剛開(kāi)始!測(cè)試人員會(huì)在測(cè)試環(huán)境對(duì)各個(gè)模塊進(jìn)行測(cè)試,如果發(fā)現(xiàn)問(wèn)題會(huì)及時(shí)的在bug反饋系統(tǒng)中(用于跟蹤問(wèn)題的解決進(jìn)度及完成情況)提出問(wèn)題單進(jìn)行跟蹤,開(kāi)發(fā)人員編碼完成后最主要的工作估計(jì)就是和這個(gè)系統(tǒng)打交道了,需要及時(shí)的查看解決bug系統(tǒng)上面的問(wèn)題單然后對(duì)問(wèn)題單的狀態(tài)進(jìn)行變更,便于測(cè)試人員回歸測(cè)試。
當(dāng)然,讓測(cè)試人員發(fā)現(xiàn)并反饋了很多的問(wèn)題也是讓我們開(kāi)發(fā)人員比較苦惱的一件事情,畢竟不是什么好事兒。誰(shuí)都希望自己交付的代碼能夠經(jīng)得起考驗(yàn),少出現(xiàn)或不出現(xiàn)問(wèn)題(當(dāng)然我們知道這是不可能的),那么怎么辦呢?敏捷里面針對(duì)類(lèi)似的情況也有合理的應(yīng)對(duì)流程,確保高效、高質(zhì)、高產(chǎn)按時(shí)的交付。那就是我們常說(shuō)的結(jié)對(duì)編程,通俗的說(shuō)就是A和B兩個(gè)人劃分為一個(gè)編程小組,有問(wèn)題及時(shí)溝通反饋。甚至A看著B(niǎo)或B盯著A寫(xiě)代碼也是一件比較常見(jiàn)的情況。A在提交自己的Stroy時(shí)必須先讓B檢視Review一下自己的代碼,發(fā)現(xiàn)了問(wèn)題應(yīng)修復(fù)完成后才能讓測(cè)試人員去測(cè)試。這樣可以避免一些不必要的錯(cuò)誤和疏忽出現(xiàn),提高開(kāi)發(fā)效率的同時(shí)提高編碼質(zhì)量。
還有一種防范問(wèn)題發(fā)生的措施,那就是集體檢視代碼。
迭代開(kāi)發(fā)中一個(gè)星期后,團(tuán)隊(duì)成員的編碼工作基本上完成了或完成了大半。這時(shí)候頭兒會(huì)組織一個(gè)開(kāi)發(fā)人員會(huì)議,就是開(kāi)發(fā)人員坐到一個(gè)會(huì)議室里面瞪著大眼在投影儀上找bug或編碼規(guī)范問(wèn)題。團(tuán)隊(duì)的力量還是巨大的,一會(huì)兒功夫一個(gè)功能模塊可能就給你揪出了十幾個(gè)bug,大家一起發(fā)現(xiàn)的問(wèn)題會(huì)議結(jié)束后會(huì)形成一個(gè)bug列表,按責(zé)任人給依次分配下去解決。相當(dāng)于集體重構(gòu)了一次代碼,讓系統(tǒng)更加的健壯、穩(wěn)定。
經(jīng)過(guò)九九八十一難般的兩個(gè)星期就這樣循環(huán)反復(fù)中一閃而過(guò),這時(shí)候我們可以暫時(shí)的小憩一會(huì)兒了。
這一會(huì)兒是多久呢,大概也就是一天左右的時(shí)間吧。因?yàn)橐粋€(gè)迭代周期結(jié)束后,項(xiàng)目組成員會(huì)再次的坐在一起開(kāi)一個(gè)即重要又輕松的會(huì)議--迭代回顧會(huì)議。大家吃著零食邊談?wù)摽偨Y(jié)這個(gè)迭代中做的好的部分及需要改進(jìn)的部分,“嘿,那個(gè)誰(shuí)上次那個(gè)地方我說(shuō)應(yīng)該XX做樣吧!”、"這個(gè)迭代中XX同學(xué)給予了我很大的幫助,感謝",大家你一言我一語(yǔ)就這樣展開(kāi)討論開(kāi)來(lái)...
回顧會(huì)議的第二天,開(kāi)始了上面工作的第二次循環(huán),直到整個(gè)項(xiàng)目交付......
原文鏈接:http://www.cnblogs.com/zzxbest/archive/2012/10/29/2745639.html
【編輯推薦】