資源描述:
《騰訊敏捷開發(fā)及快速迭代》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、騰訊敏捷開發(fā)及快速迭代 從2006年開始,騰訊的研發(fā)規(guī)模開始膨脹,開發(fā)模式急需規(guī)范和標準化,到底走IPD(集成產(chǎn)品開發(fā))還是Agile(敏捷)的開發(fā)路線,公司管理層也在為拿不定主意而犯愁,之后研發(fā)管理部開始與ThoughtWorks公司接觸,逐漸將敏捷產(chǎn)品開發(fā)引入進來,并正式命名為TAPD(TencentAgileProductDevelopment)?! 〗佑|是從一次3天15W的培訓(xùn)開始的,ThoughtWorks派來了一個4人講師團隊,由此也誕生了騰訊日后推行敏捷的第一批種子。接著總結(jié)騰訊本身是怎么樣子的,有這樣一個框架之后就搞一些團隊去實
2、踐,通過實踐以后再不斷改進,本身也是一個不斷迭代的過程。 整個實施階段大概分成幾個階段:·試點期:組織很多專題研討和內(nèi)部培訓(xùn),樹立標桿,更大范圍內(nèi)進行培訓(xùn)?!ね茝V期:內(nèi)部建立一個顧問團隊,開發(fā)一些掃盲的課程,不斷的到一些團隊里面去介紹去培訓(xùn),讓大家接受這些理念?! ⊥瑯域v訊在推廣敏捷的過程中也面臨一些挑戰(zhàn):1.團隊非常多,每個團隊特點都不一樣,比如規(guī)模不一樣,應(yīng)用方法不一樣;2.產(chǎn)品非常廣,互聯(lián)網(wǎng)上所有的產(chǎn)品騰訊幾乎都有,這種多元化的產(chǎn)品它本身產(chǎn)品的研發(fā)模式會有一些不一樣,那么敏捷、TAPD怎么樣去適應(yīng)這種多元化產(chǎn)品的研發(fā);3.敏捷在騰訊也是存
3、在一個過程改進,這樣就會存在一些不適應(yīng)性,針對這種不適應(yīng)性應(yīng)該怎么樣去做才能更好;4.騰訊人員本身的素質(zhì)也是參差不齊,每年校園招聘大概會招聘1000多個畢業(yè)生,這些畢業(yè)生從畢業(yè)到能上手工作,他們對敏捷的了解,融入到團隊中都需要一個過程;5.一些長周期的項目,比如QQ客戶端,一個版本的發(fā)布可能要半年到1年的時間,像這樣一個產(chǎn)品怎樣去做敏捷開發(fā),也許它就不適合敏捷開發(fā)。 正是由于這些挑戰(zhàn),才孕育出了獨特的騰訊敏捷模式。以下為收集的一些資料整理: 一、整體的框架結(jié)構(gòu) 簡言之,騰訊的TAPD是吸收了XP+SCRUM+FDD三者特點的并行迭代開發(fā)模式
4、,涉及范疇包括敏捷項目管理和敏捷軟件開發(fā)?! ?、產(chǎn)品 采用FDD,即產(chǎn)品特性開發(fā)驅(qū)動的一種模式,騰訊的產(chǎn)品會有一個明確的產(chǎn)品經(jīng)理這樣一個角色,他會負責(zé)整個產(chǎn)品,包括產(chǎn)品的驗證、產(chǎn)品的方向、市場調(diào)研、用戶調(diào)研等。FDD模式是一種非常適合產(chǎn)品經(jīng)理來對產(chǎn)品做一些滾動的要求,騰訊在產(chǎn)品設(shè)計上引入了類似FDD這樣的模式,但是也不完全是FDD,只是參考FDD,所有的開發(fā)團隊都是由產(chǎn)品經(jīng)理所歸納出來的產(chǎn)品特性去驅(qū)動整個產(chǎn)品的研發(fā)。 FDD的核心是面向產(chǎn)品的功能點,但這個功能點是從客戶角度出發(fā)的,并不是從系統(tǒng)角度出來的。功能點是用一個短句描述出一個業(yè)務(wù)需求
5、,而這個業(yè)務(wù)需求的粒度是按開發(fā)時間來衡量的(一般不超過兩個星期)。特征與用例的相似之處是,兩者都可以用短句(動賓短語)來描述;兩者的不同之處在于,用例用UML的用例圖來表示,而特征是用四色原型(類圖)來表示。產(chǎn)品經(jīng)理這個角色有點Scrum的ProductOwner的味道。但產(chǎn)品特性和backlog相差甚遠,因為產(chǎn)品特性只是一個動賓短語,而backlog卻是一個完整的故事(story)?! ?、項目管理過程 騰訊采取了SCRUM,但也不完全是SCRUM,騰訊根據(jù)自己的特點去總結(jié)的一些實踐,大概的項目管理過程同SCRUM的過程比較類似,包括每天的晨
6、會、迭代、timebox、每個迭代完成的時候會有showcase、回顧總結(jié)等?! ?、開發(fā)實踐 參考了很多XP的實踐,就XP完整的實踐來說會比較理想化,很多東西不一定在實際開發(fā)中能夠采納,所以騰訊也是采納其中的某些實踐,比如自動化測試和持續(xù)集成,通過這樣的實踐就能保證產(chǎn)品有一個快速發(fā)布的過程?! 《Ⅱv訊的快速迭代過程 一個完整的迭代過程包括概念、設(shè)計、開發(fā)、測試和發(fā)布五個過程。1.在概念階段,會采用FDD里面提到的一些好的最佳實踐來支撐到我們怎么樣去敏捷的做需求開發(fā),會制定一些產(chǎn)品發(fā)布的計劃,比如產(chǎn)品在未來,某個迭代什么時候發(fā)布,要發(fā)布哪些
7、產(chǎn)品特性,都是在這個階段做的。2.在設(shè)計階段,會做產(chǎn)品原型上的設(shè)計。對于互聯(lián)網(wǎng)產(chǎn)品說更多的是通過快速原型法快速的讓產(chǎn)品在不同范圍內(nèi)去做一些體驗,比方產(chǎn)品在某個迭代的一個小迭代里面,可能會在一個團隊里面先去體驗,可能就會采取發(fā)布到公司某一個部門去體驗,或者發(fā)布到整個公司范圍去體驗,它會是一個不斷放大的一個過程。1.在開發(fā)和測試階段,更多的采取XP的一些實踐,包括編碼規(guī)范,代碼走讀,比如1周一次代碼走讀,構(gòu)建持續(xù)集成的環(huán)境,包括自動化構(gòu)建,自動化測試等,會有一些好的測試上的實踐,如全員測試,就是將測試看成不僅僅是測試人員的工作,更多的是整個團隊的工作
8、,當(dāng)然也包括這個產(chǎn)品的其他同事的工作,通過全員測試來激發(fā)大家對產(chǎn)品質(zhì)量負責(zé)。2.在發(fā)布階段,騰訊采用的是灰度發(fā)布,同傳統(tǒng)的軟件發(fā)布不一樣