敏捷開發(fā)在支付寶團(tuán)隊(duì)中的應(yīng)用
51CTO推薦專題:初探敏捷開發(fā)
支付寶的研發(fā)體系是從自身實(shí)際出發(fā)制定的,既要保障產(chǎn)品的高品質(zhì),又要保持對業(yè)務(wù)變化的快速響應(yīng),加上協(xié)調(diào)多個(gè)團(tuán)隊(duì)高度并行開發(fā)的需要,整套研發(fā)體系是一個(gè)精心設(shè)計(jì)的嚴(yán)謹(jǐn)結(jié)構(gòu),也是比較重量型的。但還是可以從中找到敏捷開發(fā)方法中的一些重要元素。
首先談?wù)劽艚蓍_發(fā)中的迭代。支付寶技術(shù)架構(gòu)是采用與業(yè)務(wù)發(fā)展齊肩并進(jìn)的策略,這個(gè)過程就像給F1比賽中的賽車換輪胎,所有架構(gòu)改進(jìn)的實(shí)施必須安全快速,盡量不打斷正常的產(chǎn)品研發(fā)的節(jié)奏。因此,在確定技術(shù)架構(gòu)的基本發(fā)展方向或者基礎(chǔ)設(shè)施產(chǎn)品的藍(lán)圖之后,會將研發(fā)工作切分成很短的迭代,每一個(gè)迭代的目標(biāo)明確,一般只解決少數(shù)幾個(gè)技術(shù)問題。以引入企業(yè)服務(wù)總線為例:
第一個(gè)迭代的任務(wù)是調(diào)研,目標(biāo)是概念驗(yàn)證與產(chǎn)品選型;
第二個(gè)迭代是試水,我們選擇了一個(gè)新的業(yè)務(wù)產(chǎn)品作為服務(wù)總線應(yīng)用的小白鼠,當(dāng)時(shí)的目標(biāo)是解決高可用部署模式問題以及集成邏輯的統(tǒng)一管理問題,架構(gòu)師進(jìn)入到該項(xiàng)目中,通過服務(wù)總線提供該產(chǎn)品與其它系統(tǒng)的集成方案,這個(gè)迭代與新產(chǎn)品發(fā)布的同時(shí)完成;
以后的迭代是一系列推廣使用的迭代,幾次之后,完全替換了原來不夠靈活的商用JMS服務(wù)器集群,并且整個(gè)技術(shù)團(tuán)隊(duì)可以不依賴架構(gòu)組使用服務(wù)總線了;
再以后的迭代是服務(wù)總線的自身的改進(jìn),如QoS的改進(jìn)服務(wù)治理功能的增加等等。
采用這種敏捷開發(fā)的方式,每一次迭代都有實(shí)際可運(yùn)行的產(chǎn)出,并且其結(jié)果可以作為選擇下一輪迭代目標(biāo)的依據(jù)。以這種模式,架構(gòu)發(fā)展以一種穩(wěn)健的方式小步快跑著,但與有些敏捷方法學(xué)建議的固定迭代時(shí)長有些不同,當(dāng)搭順風(fēng)車時(shí),是宿主項(xiàng)目的規(guī)模決定迭代的時(shí)長。
對于長周期的項(xiàng)目或者需求難以在初期完全確定時(shí),在一個(gè)項(xiàng)目內(nèi)部也設(shè)計(jì)一些迭代,開發(fā)人員增量地交付功能,測試并行進(jìn)行功能驗(yàn)證。
保證高效的溝通是另一個(gè)重要的問題,這通常是采用我們俗稱為閉關(guān)的形式來解決的。項(xiàng)目上到一定規(guī)模,就會包下一個(gè)會議室,項(xiàng)目經(jīng)理架構(gòu)系分開發(fā)測試等人員都會坐在一起,保持溝通的高效率,也減少不必要的干擾。暢通無阻的溝通以及項(xiàng)目經(jīng)理在場的協(xié)調(diào)管理是這種工作模式能夠順暢運(yùn)轉(zhuǎn)的關(guān)鍵。
【編輯推薦】