小紅書高速增長中的技術(shù)升級(jí)

小紅書高速增長中的技術(shù)升級(jí)

小紅書北京辦公室

2018年10月,QCon全球軟件開發(fā)大會(huì)在上海舉行。大會(huì)上,小紅書社區(qū)技術(shù)負(fù)責(zé)人姚旭發(fā)表演講,通過對(duì)比傳統(tǒng)國內(nèi)互聯(lián)網(wǎng)公司和 Facebook 等硅谷互聯(lián)網(wǎng)公司的團(tuán)隊(duì)構(gòu)成和項(xiàng)目流程,結(jié)合其中對(duì)比的利弊,以及融合兩種風(fēng)格在小紅書落地的實(shí)戰(zhàn)經(jīng)驗(yàn), 總結(jié)一條以數(shù)據(jù)驅(qū)動(dòng)和 Ownership 為核心的高效團(tuán)隊(duì)組建和協(xié)作的方法論,作為增長型公司如何在“效率”上超越大公司的最核心的競爭力。

演講內(nèi)容整理如下。

效率差距

在加入小紅書之前,我曾先后在百度、知乎、Facebook、Airbnb 工作。今天就想分享我在這過去的十幾年間看到過、經(jīng)歷過的不同公司在“效率”上不同做法,以及一些自己的總結(jié)。

“從硅谷到中關(guān)村到底有多遠(yuǎn)?”大家在十年前覺得硅谷是技術(shù)型公司的圣殿。但是,今時(shí)今日中美互聯(lián)網(wǎng)公司,這些差別都變得非常小。

小紅書高速增長中的技術(shù)升級(jí)

2018 年初 Mary Meeker 的年度互聯(lián)網(wǎng)報(bào)告里面,Top 20 市值 / 估值的互聯(lián)網(wǎng)公司中國占了一半,但從實(shí)際角度,還是在一些領(lǐng)域內(nèi)差距明顯。以 Facebook 和阿里巴巴為例。他們兩個(gè)的市值曾經(jīng)非常接近。但平均每個(gè)員工創(chuàng)造的收入,Facebook 大概是阿里巴巴的 3 倍。這個(gè)數(shù)據(jù)代表了一個(gè)公司的效率。

小紅書高速增長中的技術(shù)升級(jí)

站在今天,中美互聯(lián)網(wǎng)企業(yè)最明顯的差距就是團(tuán)隊(duì)效率。

接下來,我們將對(duì)比差別產(chǎn)生的原因,及能從硅谷能學(xué)到的東西,包括在小紅書的一些實(shí)踐當(dāng)中看到的效果和遇到的問題。

互聯(lián)網(wǎng)時(shí)代的軟件工程

我們今天對(duì)于效率的討論,都是在互聯(lián)網(wǎng)時(shí)代這個(gè)大背景下如何能夠最大化團(tuán)隊(duì)的效率,最大化團(tuán)隊(duì)的產(chǎn)出。但中文互聯(lián)網(wǎng)元年大概是在 2000 年左右,我們現(xiàn)階段的所有互聯(lián)網(wǎng)企業(yè)都是脫胎于那個(gè)軟件時(shí)代。

小紅書高速增長中的技術(shù)升級(jí)

軟件時(shí)代和互聯(lián)網(wǎng)時(shí)代有什么區(qū)別?軟件時(shí)代 release 周期大概是半年到一年,背后的邏輯就八個(gè)字:質(zhì)量第一,按期交付。

我們來講講其中的巨無霸:微軟。

小紅書高速增長中的技術(shù)升級(jí)

在中國互聯(lián)網(wǎng)企業(yè)里,大家沿用了微軟的開發(fā)流程。PM 中心制,以交付文檔作為各個(gè)階段的結(jié)果產(chǎn)出。這是一個(gè)對(duì)于整個(gè)軟件開發(fā)而言好的流程。

但到了互聯(lián)網(wǎng)時(shí)代,這樣軟件工程有什么問題?

第一點(diǎn),所有原始設(shè)計(jì)的功能點(diǎn)的周期不再是月級(jí)別,是周級(jí),甚至可能都是天級(jí)。

第二點(diǎn),職能化區(qū)隔。基本上我們的團(tuán)隊(duì)構(gòu)成都是以職能切分,PM、工程師、測試工程師等。

在復(fù)雜的互聯(lián)網(wǎng)場景中,我們就會(huì)出現(xiàn) PM 的需求和排期,會(huì)分別細(xì)化到客戶端團(tuán)隊(duì),到服務(wù)器后端等。Team 越來越大,時(shí)間卻越來越少。流程能帶來安全和質(zhì)量,但流程不能帶來效率。

我們再來看看互聯(lián)網(wǎng)時(shí)代下帶來的變化:

第一點(diǎn),迭代速度比不出問題重要。如果一個(gè)特別嚴(yán)重的 BUG 放到線上,1 分鐘就能定位,5 分鐘就能 Release 修復(fù),可能只影響到了非常少的人,可以用迭代速度去彌補(bǔ)出現(xiàn)的問題。

第二點(diǎn),一個(gè)基本功能的 MVP,也就是一個(gè)功能的最小化產(chǎn)品單元,比一個(gè)完備的產(chǎn)品設(shè)計(jì)要重要得多。

第三點(diǎn),用戶反饋就顯得比按期交付更重要。應(yīng)該用最小化的產(chǎn)品單元,用最快的迭代速度,將用戶的反饋收集到,確定這個(gè)產(chǎn)品的功能要不要,做不做深耕。

小紅書高速增長中的技術(shù)升級(jí)

在互聯(lián)網(wǎng)時(shí)代下,對(duì)比傳統(tǒng)軟件時(shí)代,我們的最終生產(chǎn)效率能差多少?10 倍肯定是有的。效率就是第一競爭力。

我們再舉個(gè)互聯(lián)網(wǎng)時(shí)代公司的例子:Facebook。

Facebook 的一個(gè)最小 TEAM 單元叫做三人組,是設(shè)計(jì)師、產(chǎn)品經(jīng)理和工程師,三個(gè)人完成基本功能。三個(gè)人之間不是流水線上各自獨(dú)立的環(huán)節(jié),而是相互討論,相互交織。

小紅書高速增長中的技術(shù)升級(jí)

產(chǎn)品經(jīng)理,他不再只是 Product Manager,而是 Problem Manager,讓大家能看到問題的全貌,一起來探索解決的方案。

三人組這樣的團(tuán)隊(duì),與那個(gè)按職能來劃分的團(tuán)隊(duì)相比,有什么區(qū)別?

第一點(diǎn),對(duì)問題負(fù)責(zé),所有人不再只負(fù)責(zé)流水線上的一環(huán),而是負(fù)責(zé)最終結(jié)果。

第二點(diǎn),因?yàn)榇嬖诖罅康拿鎸?duì)面交流,而不是文檔交流,它的結(jié)果是對(duì)于主觀能動(dòng)性的激發(fā)是大的。

這兩點(diǎn)是為什么能激發(fā) 10 倍的效能的基礎(chǔ)。對(duì)一件事情有 Ownership 可以激發(fā)個(gè)人巨大的效能。

以效率為中心,帶來了哪些變化呢?

變化 1:團(tuán)隊(duì)

小紅書高速增長中的技術(shù)升級(jí)

我們先來看看團(tuán)隊(duì)的變化。

例如 Instagram 從創(chuàng)業(yè)團(tuán)隊(duì)做大,一定要有術(shù)業(yè)有專攻。對(duì)于 Instagram 而言,第一個(gè)切分出來的團(tuán)隊(duì)是基礎(chǔ)架構(gòu),他們支撐一個(gè)底層業(yè)務(wù)。

第二個(gè)拆分出來的團(tuán)隊(duì)是 Growth。這個(gè)增長團(tuán)隊(duì)是閉環(huán)的,為了目標(biāo)就是一個(gè),如何協(xié)同一起把這件事情做成,把問題解決。

之后,還會(huì)切分出 Engagment 團(tuán)隊(duì),以及 monetization 團(tuán)隊(duì)。

團(tuán)隊(duì)的切分方式都是以能讓大家分享同樣一個(gè)用戶側(cè)的目標(biāo),或者是公司級(jí)的目標(biāo)。

在實(shí)際場景當(dāng)中,大家最怕與跟自己職能不一樣的人放在一起。但我認(rèn)為,單一驅(qū)動(dòng)在今時(shí)今日這個(gè)場景下面是不存在的。

驅(qū)動(dòng)大家的東西,是用戶側(cè)的反饋,或者叫數(shù)據(jù)。每個(gè)人都應(yīng)該放下只有我說了算的 EGO,平等的對(duì)話,在各個(gè)地方收集問題,一起找到解決路徑。

變化 2:數(shù)據(jù)

在這樣的團(tuán)隊(duì)里面,帶來了第二種變化,數(shù)據(jù)無比重要。職能不一樣,團(tuán)隊(duì)的共同語言是什么?數(shù)據(jù)驅(qū)動(dòng)決策的含義,就是團(tuán)隊(duì)里面每個(gè)人都需要去閱讀數(shù)據(jù),讀懂?dāng)?shù)據(jù)。

數(shù)據(jù)驅(qū)動(dòng)分幾級(jí):

●第一個(gè),公司級(jí)。出個(gè) Dashboard,加個(gè) BI 團(tuán)隊(duì),負(fù)責(zé)給老板跑數(shù)。這是低 level。

●中等 level 是團(tuán)隊(duì)級(jí),每個(gè)團(tuán)隊(duì)都有自己的可以量化的目標(biāo)和結(jié)果。

●高等 level,應(yīng)該是團(tuán)隊(duì)當(dāng)中的每一個(gè)人每天都在跟數(shù)據(jù)打交道,每個(gè)人都能用數(shù)據(jù),每個(gè)人都會(huì)用數(shù)據(jù)。但這需要有配套的機(jī)制和工具做輔助。

小紅書高速增長中的技術(shù)升級(jí)

在 Facebook 內(nèi)部,五年前有三大工具:Scuba,Hive,Ods。ODS 傳統(tǒng) KV 儲(chǔ)存,主要是一些計(jì)數(shù)器。HIVE 就是數(shù)據(jù)倉庫,可以跑很大的數(shù)據(jù)量,缺點(diǎn)就是反應(yīng)慢。SCUBA 在 Facebook 內(nèi)部是人大家日常使用最多和最有幫助的工具,可以實(shí)時(shí)地做多維聚合。

小紅書高速增長中的技術(shù)升級(jí)

小紅書高速增長中的技術(shù)升級(jí)

實(shí)際應(yīng)用工具當(dāng)中的一個(gè)轉(zhuǎn)變,對(duì)人的影響是非常大的,工程師關(guān)心的不單是 CPU、MEMORY,關(guān)心的是全鏈路業(yè)務(wù)上面的用戶反饋,要有工具能看到結(jié)果長什么樣子。產(chǎn)品經(jīng)理也要有能力自己取數(shù),要有 data sense。

這樣,數(shù)據(jù)科學(xué)家和數(shù)據(jù)分析師不再是取數(shù)工具了,而是可以去做數(shù)據(jù)分析,找到驅(qū)動(dòng)數(shù)據(jù)變化的深層原因。

最后數(shù)據(jù)應(yīng)該是公開的,應(yīng)該是能覆蓋到盡量多的維度,數(shù)據(jù)的生產(chǎn)者和數(shù)據(jù)的消費(fèi)者應(yīng)該是一體的。我想知道,我做了這個(gè)功能有沒有人用,有多少人用,用得好不好,這才是最大的驅(qū)動(dòng)力。

變化 3:職責(zé)

優(yōu)秀的團(tuán)隊(duì),需要對(duì)結(jié)果負(fù)責(zé)。對(duì)結(jié)果負(fù)責(zé)很重要的一點(diǎn),或者說做出成功產(chǎn)品的團(tuán)隊(duì)核心是什么?叫做 DOGFOODING。

小紅書高速增長中的技術(shù)升級(jí)

DOGFOODING 是什么意思呢?就是自己用自己的功能,自己吃自己的狗糧,或者狗屎。自己做出來的功能,首先自己要先用起來。

在 Facebook 有幾種簡單的工具去支持大家快速做用戶側(cè)嘗試,哪怕是只給自己使用嘗鮮:

●一種是 gatekeeper。通過在 gatekeeper 上設(shè)置過濾條件,對(duì)一小批用戶做測試。

●另外一種是 AB 測試,切 10% 的用戶嘗試新功能,另外 10% 的用戶最對(duì)照。

那工具為什么可以讓大家變成對(duì)結(jié)果負(fù)責(zé)呢?原因叫做賦能。因?yàn)橛心芰?所以有擔(dān)當(dāng)。

小紅書高速增長中的技術(shù)升級(jí)

除了靠各種 CI,Canary 工具以外, gatekeeper 和 AB testing 也可以讓你小流量去實(shí)驗(yàn),實(shí)驗(yàn)個(gè) 5000 用戶,覺得沒問題,再放大,用這樣的工具去輔助這樣的權(quán)力。

總結(jié)來說,在互聯(lián)網(wǎng)時(shí)代,為什么 Data driven 和 ownership 可以提供 10 倍的效能差別?因?yàn)樵诖竽繕?biāo)對(duì)齊的情況下,各個(gè)小團(tuán)隊(duì)之間可以組成一個(gè)分布式的決策機(jī)制,大家可以跨職能的團(tuán)隊(duì)協(xié)作,去中心化進(jìn)行決策,做到面對(duì)不確定性時(shí)的敏捷。

小紅書高速增長中的技術(shù)升級(jí)

小紅書的實(shí)踐

最后我們來看一下過去這兩年,對(duì)于效率,我和我的團(tuán)隊(duì)一起在小紅書的一些真實(shí)的實(shí)踐。

小紅書是一個(gè)生活方式平臺(tái),里面涉及到衣食住行,吃喝玩樂,并且可以完成從發(fā)現(xiàn)到?jīng)Q策到記錄的全鏈路流程。

小紅書高速增長中的技術(shù)升級(jí)

我們是一個(gè)面向用戶、有豐富數(shù)據(jù)的平臺(tái),這是我們產(chǎn)品上的天生優(yōu)勢。我們一天的用戶閱讀量有數(shù)十億次,這種流量規(guī)模情況下,我們可以做非常多的 AB Testing,用 1% 的流量就可以做非常多的事情。

我們剛才講的對(duì)于各種效率理念,在過去兩年一步一步在小紅書做落地實(shí)踐。雖然有種種挑戰(zhàn),過去的兩年里面我們還是摸索著落地了很多效率層面上的改進(jìn):

首先,第一點(diǎn):數(shù)據(jù)賦能。每個(gè)人都會(huì)玩的數(shù)據(jù)平臺(tái)。我們自己做了一個(gè)前端,后面主要是 Hive,Presto,Spark 等等這樣的數(shù)據(jù)計(jì)算平臺(tái)。在這里用戶可以套用模板寫 query。在小紅書團(tuán)隊(duì)中最引以為傲的一點(diǎn)是,幾乎每個(gè)人都會(huì)寫。然后通過一些工具可以把這些數(shù)據(jù)變成一個(gè)圖,或者是變成一個(gè)每天監(jiān)控的 dashboard,還可以變成 high level 的報(bào)警。

小紅書高速增長中的技術(shù)升級(jí)

第二點(diǎn),工程賦能。工程師有能力決定自己功能什么時(shí)候上,要什么時(shí)候上,或者要不要上。我們用了 Phabricator 做 Code Review,集成了后面 Jenkins 做 CI。所以工程師在這里邊每天會(huì)看到說我現(xiàn)在有多少個(gè) Diff 等著我去 Review,以及我的 diff 在被 review 的狀態(tài)是什么樣子。當(dāng)有一個(gè) reviewer 點(diǎn)擊了 accept,就代表可以上線了,就觸發(fā)了我們最終的 deploy 流程,就上到線上,這是對(duì)于工程權(quán)力的下放。

小紅書高速增長中的技術(shù)升級(jí)

第三點(diǎn),實(shí)驗(yàn)賦能。我們現(xiàn)在線上 AB testing 平臺(tái)一天有 300+ 個(gè)實(shí)驗(yàn),也就是說我們每天在嘗試的新功能有 300 多個(gè)。AB testing 就是應(yīng)該犯錯(cuò)的,AB testing 就應(yīng)該是 10% 的成功率才對(duì),或者更低,代表實(shí)驗(yàn)的效率更高和跑得更快。

小紅書高速增長中的技術(shù)升級(jí)

我們剛才討論這些關(guān)于效率的話題,在小紅書團(tuán)隊(duì)里面都有所實(shí)踐并且一直在進(jìn)步。我能看到工程師、產(chǎn)品經(jīng)理、數(shù)據(jù)分析師在團(tuán)隊(duì)里面效能的變化,效率成倍的激變。

我們大概在今年年初的時(shí)候,我們整個(gè)的用戶突破了 1 億,現(xiàn)在已經(jīng)超過 1.5 億。小紅書所有核心指標(biāo)都是一年 4 倍到 5 倍地指數(shù)級(jí)增長。

小紅書高速增長中的技術(shù)升級(jí)

我們就是一個(gè)從十來個(gè)人的團(tuán)隊(duì)到 100 多人的團(tuán)隊(duì),QPS 從百到萬到十萬,去撐起了這么一個(gè)每年 5 倍左右的核心 metric 的變化。

小紅書高速增長中的技術(shù)升級(jí)

那么從硅谷到中關(guān)村到底有多遠(yuǎn)呢?

在小紅書,我們其實(shí)就是為一線團(tuán)隊(duì)做兩件事情,一個(gè)叫做放權(quán),一個(gè)叫做賦能。

放權(quán)的意思是通過 Data Driven 的方式給予決策權(quán)的分布式下放;賦能的意思是通過工具,無論是測試工具也好,CI 也好,實(shí)驗(yàn)平臺(tái)也好等等這樣的工具能讓團(tuán)隊(duì)每個(gè)人有 ownership。最后,歡迎大家加入小紅書團(tuán)隊(duì),來一家高增長的公司高效率地做事情。

姚旭,小紅書社區(qū)技術(shù)負(fù)責(zé)人,端到端地負(fù)責(zé)小紅書的社區(qū)功能,包括大前端,搜索、推薦、基礎(chǔ)架構(gòu)和相關(guān)的機(jī)器學(xué)習(xí)系統(tǒng)。 加入小紅書前,曾在 Airbnb、Facebook、知乎和百度等公司擔(dān)任首席架構(gòu)師和主任工程師職位。小紅書是一個(gè)擁有1.5億年輕用戶的生活方式分享平臺(tái),2018年6月,已完成超過3億美金的D輪投資,估值30億美元。

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2018-11-22
小紅書高速增長中的技術(shù)升級(jí)
小紅書北京辦公室2018年10月,QCon全球軟件開發(fā)大會(huì)在上海舉行。

長按掃碼 閱讀全文