騰訊的敏捷實踐 管理與開發

2022-04-08 13:52:50 字數 1876 閱讀 7891

tencent的tapd是吸收了xp+scrum+fdd三者特點的並行迭代開發模式,涉及範疇包括敏捷專案管理和敏捷軟體開發。

一、敏捷專案管理:

(1)iteration

軟體開發模型經歷了從瀑布到螺旋再到敏捷的過程,迭代不是敏捷獨有的創造,無論在rup還是在msf中迭代都是其核心特性之一。而在tencent特別強調的是並行迭代,即多個版本並行,最大程度發揮資源的效率。

release(發布)可理解成當實現的產品feature累積到一定使用者價值時的正式發布,它是比iteration更大的概念;iteration(迭代)是在固定時間內開發feature的過程,release一般包括多次iteration。

(2)timebox

timebox(時間箱)反映了敏捷開發的節奏,即在固定時間內實現不固定特性的週期,拋開需求定義階段,從設計-實現-測試到部署,在tencent一般一至兩周時間居多。

(3)planning game

對敏捷的一種常見誤解是不要計畫,其實在敏捷的體系中不僅強調計畫,甚至區分release計畫、iteration計畫和task計畫等多種不同粒度、不同時長的計畫。planning game突出的是讓使用者代表參與,由使用者代表評估userstory/feature的優先順序,開發人員評估任務的開發時間,由使用者代表+專案經理+核心成員三方共同排序、組合,確定本次迭代計畫需要實現的feature list。在tencent使用者代表就是產品經理。

(4)iterationplanningmeeting

iterationplanningmeeting就是planning game實現的管理形式,通過會議溝通達成。

(5)stand-up meeting

團隊成員圍成一圈,逐個說明3個問題:昨天做了什麼,今天計畫做什麼,有沒有困難並計畫如何解決。對team而言這是檢查進度、快速調整非常有效的形式,在tencent這已經成為大家每天早上的固定習慣。

(6)showcase

提交測試前由開發人員演示實現的功能,產品經理到場review是否符合當初的設想,避免接近發布時才反饋。

(7)retrospect

每個迭代結束後,專案經理組織或輪流組織所有team成員共同回顧本次迭代的得與失,整理well/lesswell,因為敏捷的團隊是自我反省、持續調整的團隊。

二、敏捷軟體開發:

(1)story card/story wall/feature list

storycard是xp中推薦的需求定義方法,要求符合invest和moscow原則;storywall則用於跟蹤storycard的變化狀態,而featurelist是tencent一直沿用的需求表達形式,在tencent的tapd工具中已經實現了類似thoughtworks 的mingle的storycard管理功能,對於需求跟蹤而言這是不錯的方法,一目了然。

(2)refactoring

相信我們都聽過這句話:好的**不是設計出來的,而是重構出來的。

(3)tdd

「測試驅動開發」在tencent執行地並不太好,tencent的產品以web形式居多、業務邏輯相對簡單,c++下的單元測試有些力不從心。相反自動化測試在tencent比較盛行,因為有測試部門專門的自動化測試team在推動,而且鏈結的是正式生產環境,可以即時反映產品當前的狀態。

(4)pair programming

理論上結對程式設計可以提高**的質量,而且並不會降低開發效率,但tencent的業務繁忙,資源上不允許兩人結對。

(5)ci

持續整合可以降低發布前整合階段的難度與成本,tencent的自動化構建系統推行的比較早,覆蓋了大多數產品,而且正在朝自動化構建-自動化測試-自動化發布三者協同的目標邁進。

(6)灰度發布

灰度發布是tencent的又一創新,它將產品試用擴大到海量使用者一端,在小範圍及時吸取使用者反饋,分析使用者行為和喜好,持續修正自己產品的功能體驗。

敏捷開發思想與實踐

我想敏捷的思想大家都能說出一大堆來,我也不囉嗦了。在此只是談談自己的一些想法和觀點,希望大家拍磚,謝謝。1 整理需求,分析,總體設計,先把握住總體,忌拘泥於細節。2 先找到乙個可以快速突破的點,根據專案的實際確定第乙個迭代。3 敏捷的關鍵是快速的交付客戶,哪怕只是最簡單的demo,這樣便於與客戶交流...

敏捷軟體開發 原則 模式與實踐 之敏捷實踐

參與公司的敏捷開發也有一段時間了,還沒有系統的學習過敏捷開發。比如早上的站會,每個月的迭代會,還有自己領取任務去開發故事,這些都是敏捷開發的流程之一。敏捷開發需要不斷的學習,不斷的實踐。現在開始寫一些關於敏捷開發的部落格。一 敏捷聯盟 1 個體和互動勝過過程和工具 乙個優秀的團隊成員未必是乙個一流的...

敏捷開發實踐 pair programming

上週一是洋老闆d正式上班的第一天,我們三人小組開了乙個很短的會,會議的主題很簡單,依然是那不變的scrum 每日站立會議三段論 前一陣做了什麼?將要做什麼?有什麼問題?下午,我正在皺著眉頭解決乙個dojo的問題 剛接觸dojo,很具挑戰性啊 d問我是否準備好了pair programming.對於p...