有道李勤飛:敏捷不是快速,更多的是靈活
原創(chuàng)【51CTO專稿】敏捷開(kāi)發(fā)從國(guó)外引進(jìn)發(fā)展已經(jīng)有了很長(zhǎng)的一段時(shí)間,而在國(guó)內(nèi)的追棒依然很火爆,中小企業(yè),創(chuàng)業(yè)公司很多項(xiàng)目成員開(kāi)始學(xué)習(xí)敏捷,采用以及轉(zhuǎn)向敏捷開(kāi)發(fā)??墒?,當(dāng)實(shí)際操作上并不能解決傳統(tǒng)開(kāi)發(fā)的一些問(wèn)題解決,反而新增加了更多的問(wèn)題。
有人說(shuō),實(shí)踐敏捷的根本不在于敏捷本身,而在于理解敏捷背后擁抱變化的基因。確實(shí),使用敏捷,那么你就應(yīng)該知道為何敏捷。
當(dāng)你從某個(gè)行業(yè)去領(lǐng)悟衍生出這種方式,畢竟那是成熟行業(yè)成功的經(jīng)驗(yàn)映射。在實(shí)際的操作中,分配,轉(zhuǎn)型,時(shí)間,技能等等都需要嚴(yán)格謹(jǐn)慎的執(zhí)行。
就在前段時(shí)間,網(wǎng)易有道云筆記負(fù)責(zé)人蔣煒航在微博上分享了一篇名為《敏捷開(kāi)發(fā)的實(shí)戰(zhàn)經(jīng)驗(yàn)》的文章,講解了團(tuán)隊(duì)如何實(shí)踐scrum的一些經(jīng)驗(yàn)得到了網(wǎng)友很高的評(píng)價(jià)。網(wǎng)易有道云筆記從事敏捷開(kāi)發(fā)積累了豐富的經(jīng)驗(yàn),因此,51CTO的記者基于敏捷開(kāi)發(fā)為主題,采訪了網(wǎng)易有道研發(fā)經(jīng)理李勤飛。
李勤飛目前是網(wǎng)易有道研發(fā)經(jīng)理,有道云筆記技術(shù)負(fù)責(zé)人。曾參與過(guò)有道詞典的開(kāi)發(fā),具有多年的團(tuán)隊(duì)管理經(jīng)驗(yàn)。是有道云筆記引入和實(shí)踐敏捷開(kāi)發(fā)方式的主要負(fù)責(zé)人。
以下是李勤飛給網(wǎng)友們分享的敏捷開(kāi)發(fā)管理經(jīng)驗(yàn):
一、敏捷團(tuán)隊(duì)
1)在敏捷開(kāi)發(fā)中團(tuán)隊(duì)的拆分
在敏捷開(kāi)發(fā)中,組織團(tuán)隊(duì)方式是按照項(xiàng)目組織,而不是行政劃分。拆分團(tuán)隊(duì)只有一個(gè)理由,就是能提高團(tuán)隊(duì)效率。根據(jù)經(jīng)驗(yàn),小團(tuán)隊(duì)的效率更高。當(dāng)團(tuán)隊(duì)人數(shù)大于9個(gè)時(shí),計(jì)劃會(huì)和站會(huì),成員的參與感會(huì)下降,效率會(huì)降低,溝通成本也會(huì)加大,這時(shí)候需要拆分團(tuán)隊(duì)。
2)在敏捷開(kāi)發(fā)中團(tuán)隊(duì)的管理
敏捷開(kāi)發(fā)只適用于小規(guī)模的團(tuán)隊(duì)的這種說(shuō)法是錯(cuò)誤的,敏捷開(kāi)發(fā)跟團(tuán)隊(duì)的數(shù)量沒(méi)有直接關(guān)系,只要大于3人的團(tuán)隊(duì)都可以實(shí)行敏捷開(kāi)發(fā)。
但是,小團(tuán)隊(duì)更容易敏捷。團(tuán)隊(duì)人數(shù)的增加必然會(huì)提升溝通協(xié)作的成本,可以通過(guò)拆分團(tuán)隊(duì)的方式來(lái)提升效率。把一個(gè)大團(tuán)隊(duì)拆分成幾個(gè)小團(tuán)隊(duì),團(tuán)隊(duì)之間的協(xié)作也走敏捷開(kāi)發(fā)的流程,就是我們常說(shuō)的Scrum of Scrums。
3)在敏捷開(kāi)發(fā)中團(tuán)隊(duì)的轉(zhuǎn)型
想要做到敏捷開(kāi)發(fā),每個(gè)團(tuán)隊(duì)都要經(jīng)歷一個(gè)轉(zhuǎn)型期,那么在轉(zhuǎn)型期還需要每個(gè)團(tuán)隊(duì)根據(jù)自身的不同,找出合理有效的解決方法。
對(duì)于有道云筆記的團(tuán)隊(duì)是逐步推行敏捷開(kāi)發(fā)的,沒(méi)有遭遇明顯的轉(zhuǎn)型期,但推行過(guò)程中確實(shí)也遇到一些問(wèn)題。比如產(chǎn)品經(jīng)理開(kāi)始并不認(rèn)同根據(jù)固定時(shí)間的sprint來(lái)劃分版本,最后用已有團(tuán)隊(duì)整體產(chǎn)出提升的經(jīng)驗(yàn)說(shuō)服了他。還有比如產(chǎn)品已經(jīng)上線,sprint進(jìn)行中間會(huì)有一些線上的問(wèn)題插進(jìn)來(lái),我們通過(guò)線上值日,以及根據(jù)經(jīng)驗(yàn)數(shù)據(jù)來(lái)預(yù)留時(shí)間等方式來(lái)解決這個(gè)問(wèn)題。
二、敏捷方式
1)編碼方式
很多人為了編寫易變更的代碼,在采用敏捷時(shí),拋棄許多習(xí)慣用法,這是一個(gè)誤解。敏捷開(kāi)發(fā)推崇涌現(xiàn)式設(shè)計(jì),通過(guò)不斷的重構(gòu)來(lái)實(shí)現(xiàn)更好的架構(gòu)。指的設(shè)計(jì)而不是編碼,對(duì)于編碼方式,不需要發(fā)生變化,除了需要遵守公司和團(tuán)隊(duì)的編碼規(guī)范外,用自己熟悉的方式即可。
2)極限編程(XP)
極限編程有很多爭(zhēng)議,我們的方式是選擇性接受,比如把兩位工程師組成一對(duì),相互review代碼,并且要求編碼測(cè)試代碼等。但是暫時(shí)不會(huì)采用兩人一起編程的方式。
3)指標(biāo)衡量
每個(gè)sprint的總結(jié)非常重要,會(huì)記錄每個(gè)任務(wù)(task)的預(yù)估時(shí)間和完成時(shí)間。并且定義了完成度(任務(wù)的完成情況),希望sprint的完成度在80%以上。如果完成度低,就需要總結(jié)原因并改進(jìn),團(tuán)隊(duì)成員的績(jī)效也會(huì)受影響。當(dāng)然,除了項(xiàng)目進(jìn)度以外,有道公司還有另一套評(píng)價(jià)體系,跟業(yè)務(wù)無(wú)關(guān),而是由專業(yè)的技術(shù)委員會(huì)對(duì)程序員個(gè)人能力的評(píng)估。這兩套評(píng)估結(jié)合在一起,就可以很好的衡量程序員的工作??偟膩?lái)說(shuō)就是,按進(jìn)度完成項(xiàng)目的同事,個(gè)人能力也需要不斷提升。
4)scrum會(huì)議
Sprint會(huì)議是實(shí)踐scrum中最重要的事件,這更是團(tuán)隊(duì)做改進(jìn)的最佳時(shí)機(jī)。有道云筆記團(tuán)隊(duì)的Sprint以一個(gè)月為期,四種會(huì)議:需求梳理會(huì),Sprint計(jì)劃會(huì),Scrum例會(huì),Sprint回顧會(huì)議。
- 需求梳理會(huì)在Sprint計(jì)劃會(huì)的前1-3天開(kāi),參加的人員是產(chǎn)品經(jīng)理和開(kāi)發(fā)人員,由產(chǎn)品經(jīng)理稱述需求,開(kāi)發(fā)人員討論設(shè)計(jì)與實(shí)現(xiàn)。
- Sprint計(jì)劃會(huì)是Sprint開(kāi)始第一天開(kāi),參加的人員有產(chǎn)品、開(kāi)發(fā)和測(cè)試,由產(chǎn)品經(jīng)理講需求,開(kāi)發(fā)人員把需求分解成任務(wù)。
- Scrum例會(huì)每周兩次,周二和周四,主要溝通任務(wù)的完成情況,和下一個(gè)兩天做什么。
- Sprint回顧會(huì)議在Sprint結(jié)束時(shí)做,主要總結(jié)這個(gè)Sprint的經(jīng)驗(yàn)教訓(xùn),并且達(dá)成一些團(tuán)隊(duì)共識(shí),比如例會(huì)遲到如何懲罰等。
最后,
李勤飛希望未來(lái)敏捷開(kāi)發(fā)在多地方點(diǎn)辦公,敏捷測(cè)試等方面有新的發(fā)展。建議大家使用敏捷開(kāi)發(fā)時(shí)都可以做些調(diào)整,然后把自己的實(shí)踐經(jīng)驗(yàn)分享出來(lái),共同改進(jìn)這套方法。