豐巢CTO:張弛有度,打造高效率的技術團隊

  • 2020 年 1 月 14 日
  • 筆記

豐巢科技作為服務2億用戶的智慧物流運營商,是連接物流企業與消費者之間的重要平台。豐巢科技在全國大約有18萬台櫃機,覆蓋全國110多個城市。在CTDC2019第三屆首席技術官領袖聯盟年會上豐巢科技的CTO 黃明(Andy)為我們講述了豐巢如何打造高效技術團隊。

大家好,我是來自豐巢的Andy,今天由我來跟大家分享一下如何張弛有度,打造的高效率的技術團隊。

豐巢的研發團隊有300人左右,分布在深圳和武漢兩地。除了櫃機相關的需求外,技術團隊還肩負增值業務、智慧決策以及提效賦能等開發職責。

為了提升團隊的能力,我們會通過「一松一緊」來使得團隊更加有戰鬥力,並藉助研發管理工具這個抓手來實現團隊的成長。

 松:弛有度  

1

對一些互聯網企業來說,加班是一種常態。我們團隊不太提倡通過消耗性的方式來應對業務需求和科技升級。

首先,我們有四個方向的「松」:彈性工作制、技術氛圍、成長空間以及學習時間。

1.彈性工作制 

在豐巢團隊,大家每天的工作時間是7個半小時左右,短期趕項目加班可以通過調休保證休息。我們提倡高效的工作,而拒絕無效的加班。對我們的團隊而言,彈性的工作制是後面是三個「松」的前提。

2.技術氛圍 

我們會注重整體的工作實效,而不是加班的時長。在團隊中有一個技術分的機制,低品質的工作會受到懲罰,高技術含量的工作會受到嘉獎。這樣的方式使我們團隊的技術牛人有更多的話語權和發揮空間。

3.成長空間 

首先,我們會允許新人犯錯。我們會允許他們犯一定程度的錯誤,但是我也希望他們犯錯之後能夠快速的糾正。

除此之外,我們也提倡「老人做新事,新人做老事」。我們也希望新員工嘗試在舊的項目中帶來新的框架;老人跳出舒適區去做新的事情。

4.學習時間 

我們會非常重視團隊的充電。我們在公司會有圖書館,讓大家儘可能接觸最新或者最經典的技術書籍。我們鼓勵團隊程式碼開源和發表論文,每兩周會有論文分享及閱讀分享會。

互聯網的技術迭代非常迅速,如果沒有時間去充電的話,技能和經驗也會很快過時。讓團隊成員充分自我成長,才能打造可持續的戰鬥力。

 緊:張有法 

2

在技術團隊中,光有「松」是不行的,如果只有松沒有緊的話,這個團隊松垮垮了。

我們在下面五個方面都會做到「緊」,通過這些約束去讓團隊有更好的戰鬥力。

1.技術價值觀 

在豐巢技術團隊中,有這三個價值觀:第一是擔當,第二是無邊界,第三是極客精神。這些精神整體上會讓我們團隊呈現出一種專業負責,不推脫、不甩鍋的這樣狀態。

剛剛提到了技術分機制,我們的扣分是連坐制的,出現bug之後,從測試到開發到運維,大家會一起扣分,目的是希望每個團隊成員都可以做到專業負責,把系統做到極致。讓下游可以充分的依賴上游,減少無效的消耗。

2.架構先行 

在我們團隊,大型或者中型的項目,一定要先做架構圖才能動手開發。架構、程式碼、平台這三個是相輔相成的。有了架構之後才開始寫程式碼,程式碼儘可能要沉澱成平台。通過架構的設計,我們才能保證在做項目時有章可循,有度可依。

3.攻堅小組 

從人員結構來看,我們的中型或者大型項目一般都包含技術經理、項目經理和產品經理這個三個角色。這個三角陣可以保證項目更好的往前走。

在開發方式上,我們的小組是不關小黑屋的。我們更多是強調精神的凝聚力。如果關小黑屋太久,基本上大家都很疲了,得不償失。

對攻堅小組來說,角色互補是非常重要的一點。曾經面試一個演算法同學,他說他既要負責從底層撈數據、做特徵,又要負責最後模型上線,總之非常辛苦。而在豐巢團隊中,有底層的數據倉庫工程師去幫忙撈數據,演算法同學只要focus在模型和演算法上面,把模型做好之後會有專業的工程師去幫他把模型上線做ab test。這樣,演算法同學的工作會更加輕鬆有效。

就像打團戰一樣,角色互補會讓大家工作更有效率。通過這樣的攻堅小組,我們才能做到陣法有度,從容不迫。

4.項目管理 

項目管理可能大家都聽得很多了,這裡有以下五點內容:

①Make a (Good) Plan,Stick to the Plan:如果你做出來這個plan是不好的,你還堅持它的話,這效果可想而知也是不好的。

②進度承諾制:前期做的項目規劃是非常精細的,大家都承諾了之後就要去承諾進度。

③項目延期,集體扣分:如果項目有延期的,是會集體扣分的。如果項目出現風險,我們提倡大家主動的去加班解決。

④重大風險的識別:當在項目出現風險時,項目經理是一定要提前去識別這個風險,並且提前把它解決掉的。這是項目經理最重的工作職責之一。

⑤項目日曆:我們高層可以在上面隨時看到各個項目的競爭和progress,讓項目按照之前的規劃推動,如果出現問題,我們也會提前干預的。

5.精品意識 

我們會有 Code Review & 單元測試覆蓋率的要求,並通過頒發優秀獎、項目復盤等措施來提升團隊精品意識。力求打造技術加藝術的項目,保證大家的工作都處在高水平的level上面去。

工具:工欲善其事,必先利其器

3

工具和平台,跟工程師的效率、系統穩定性都是息息相關的。好的項目需要有很專業的項目管理,也要求更專業的項目管理工具。

一般來說好的敏捷項目管理工具,它需要包括下面的五個特性:需求管理、設計文檔記錄、工時預估,項目把控以及協同討論。作為一站式的敏捷開發平台,騰訊的TAPD是基本能滿足我們的需求的。

1.需求梳理:TAPD可以很方便的幫我們把業務方的需求,藉助各種的工具去把它變成版本的迭代,並且可以通過很好的節奏來發布版本。

2.設計文檔:騰訊TAPD在文檔的記錄上有很專業的記錄方式,尤其是工程師用Markdown語法寫架構設計的文檔的時候,非常自然的親切。而TAPD也支援像WORD、Excel這些附件以及富文本的編輯,讓產品經理可以非常自然地直接在上面粘貼各種文檔。

3.工時預估:合理的工時預估是精細化項目管理的前提。做完技術方案和規劃迭代之後,工程師會根據詳細的技術方案和業務需求去給出合理的工時,然後我們再來評估項目或者迭代到底需要多少的時間完成。

除了「雙11「」和「66」(我們的周年慶)之外,其他的項目如果確實不能滿足的話,我們會適當的往後延期或者增加人手,來確保我們的項目是可控的狀態。

4.項目進度:風險和變更對一個項目非常關鍵。我們需要識別重大的風險以及控制需求的變更,不能產品經理隨便更改需求。在TAPD上可以方便地控制項目的進度,可以看到所有的需求、完成時間以及各個成員的工作量。可以幫我們通過多種的手段來保證整個項目的進度是受控的。

5.協同討論:TAPD上有很好的項目看板,在需求發生變更的時候,通過企業微信以及郵件的方式去同步資訊,這對我們來說非常關鍵。

因為我們是兩地的工作成員是在武漢的,有些成員是在深圳。這種及時的通知方式是非常重要的。通過TAPD這樣的一站式敏捷開發平台,我們才能實現高效的項目開發。

結語

最後總結一下,打造高戰鬥力的技術團隊,提升團隊的能力、默契和配合才是最關鍵的。我們通過鬆緊結合的方式來實現整個團隊的高戰鬥力的打造,加上適當的工具、方向和人才,讓整個團隊不需要996也能夠有很好的戰鬥力。

 推薦閱讀 

點擊圖片即可閱讀全文

點擊閱讀原文,提升團隊研發效率