品牌名稱
微信
企業規模
1001-5000人

騰訊TAPD合作微信:研發的蛻變

586次閱讀

(1)客戶介紹

每月一個迭代,每迭代一次發布,穩定的開發節奏是靈活創新的微信團隊現在的研發狀態。沒有延期,沒有爭搶資源,團隊充分溝通,這在一個100多人的大團隊中實屬不易。

然而在半年以前,微信的版本發布節奏并非如此。

 

(2)項目背景

第一階段:初創期,2010年到2012年初

這是微信的初創階段,當時iOS和Android團隊的開發人員分別只有10人左右,主要通過Excel和郵件往來跟進版本需求。每個版本發布的時間極不穩定,有時2周,有時一個月,有時兩個月,發布時間隨著開發進度不斷延期,常常出現為了等某個功能,讓其他所有準備好的功能等待1-2周才發布的情況。由于團隊規模少,不存在跨團隊合作,團隊溝通也進行地有條不紊,先后發布了語音通話、查看附近的人、搖一搖、漂流瓶等核心功能,依靠快速創新迅速占領了市場。

 

第二階段:磨合期,2012年初到2014年

2012年3月,微信用戶突破1億大關,微信團隊也日益壯大,和外團隊或外部門合作日益增多。簡單地依靠Excel和郵件管理已經不能滿足研發需求。微信開始使用TAPD平臺。最早使用TAPD的是測試團隊,他們使用TAPD的“缺陷”模塊來管理測試中的問題。缺陷管理幫助測試人員和開發人員建立了很好的關聯,流程靈活,定制化強,開發同學再也不會遺漏一個bug了。慢慢的,項目經理也將TAPD中的迭代、需求等模塊用起來,但只為記錄,簡單使用。迭代的周期慢慢隨著產品的穩定而穩定,到2014年底,基本穩定在1個半月一個迭代版本。

undefined

 

第三階段:穩定期 2015年至今

隨著團隊人員的增加以及跨部門合作的增多,對TAPD的依賴逐步加強。微信團隊各角色共同融入TAPD中來,團隊合作實現可視化。迭代周期穩定在一個月。固定節奏讓團隊目標更明確,凝聚力更強。

 

(3)解決方案

節奏是一個團隊研發的心跳。當團隊從10人擴大到50人時,團隊會面臨需求管理混亂、變更頻繁、交付延期等各種問題。 微信團隊最終選擇了一個月作為穩定的迭代周期。這是一個TimeBox,團隊稱之為“搭車制”。 每個迭代提前確定迭代的目標,到期交付,延期的需求將不會等待不予發布,統一延后到下個迭代進行發布。

 

有的穩定的節奏,有每個迭代的共同目標,團隊所有角色成員都會為了這一目標而奮斗,不會在長期的開發中迷茫,不會在延期中迷失,團隊更高效,產品反應更迅速。

 

需求統一管理,進展可追溯

微信的需求來源很多,除了本身APP的需求,還有各合作部門(如微信支付、開放平臺、游戲等)的集成需求;有老板需求,也有用戶反饋需求。面對需求來源復雜,變化頻繁的特點,Excel和郵件的管理方式已經不能滿足團隊透明進展、追根溯源的要求。于是團隊在TAPD上建立了需求池(Backlog),統一記錄和跟蹤需求(User Story)。

undefined

 

有了需求池,該做什么,什么時候做,是由團隊共同決定。

在每個迭代的最后一周,項目經理召集產品經理、開發人員、測試人員,共同決定下個迭代的需求范圍(IPM會議),他們根據需求的用戶價值分析需求,進行評估。 這樣做的好處是,團隊的所有角色能夠充分了解迭代的目標,了解用戶價值,同時規避風險。測試人員可以更早地開始進行測試場景設置與測試用例準備。

 

Feature Team并行開發

微信Android的開發團隊目前有30+人,開發團隊拆分成三個Feature Team:基礎開發組、業務開發組、基礎優化組(創新小組)。在確定大迭代范圍后,每個小組分別規劃各自的迭代(時間小于1個月),到了迭代最后一周再合入聯調。 Feature Team并行開發,既保證了大的迭代目標和節奏,也保證了個小組運作的獨立靈活創新,資源分配與迭代跟進更加便利。

undefined
undefined

 

擁抱變化,高效溝通

這個世界上,唯一不變的就是變化。由于內外環境的因素,一個迭代的范圍可能會面臨多次調整,老板臨時加入一個高優先級需求,必須加入迭代;一個需求開發延期了,趕不上迭代deadline,不能參加合入等,諸如此類。

 

微信團隊保證每周兩次的溝通,用來了解迭代進度、調整迭代范圍,并及早透明風險。 溝通會的參與人是項目經理、產品人員、開發leader、測試人員。

 

雖然有溝通,但迭代也不能隨時變更,特別是在迭代的后期。為了保證測試發布質量,微信團隊規定,從迭代的第三周開始,不允許再進行迭代內需求范圍的變更。

 

擁抱變化是研發團隊在互聯網時代必須具備的能力。

undefined

 

灰度發布,用戶參與

灰度發布是快速驗證版本的最好方式,在每個迭代的最后一周,微信為會小部分用戶開放α版本進行灰度驗證?;叶入A段用戶的crash信息會同步為TAPD的缺陷(使用TAPD的接口實現),便于開發測試跟進。產品經理也會在灰度期間充分收集用戶的反饋,追求極致體驗。

 

(4)價值體現

在一個版本結束后,團隊成員會統計分析各類數據,幫助團隊了解版本質量,回顧迭代中的問題,以便在新迭代中進行改進。再出發時,團隊會越來越自適應,越來越敏捷。

undefined
undefined