TA的每日心情![](source/plugin/dsu_paulsign/img/emot/kx.gif) | 开心 2022-9-23 15:09 |
---|
签到天数: 2 天 [LV.1]初来乍到
超级版主
![Rank: 8](template/zhikai_n5chengshix3/images/star_level3.gif) ![Rank: 8](template/zhikai_n5chengshix3/images/star_level3.gif)
- 积分
- 10889
|
作者 | 姚旭 编辑 | 小智 本文将通过对比传统国内互联网公司和 Facebook 等硅谷互联网公司的团队构成和项目流程,结合其中对比的利弊,以及融合两种风格在小红书落地的实战经验, 总结一条,以数据驱动和 Ownership 为核心的高效团队组建和协作的方法论,作为增长型公司如何在“效率”上超越大公司的最核心的竞争力。本文整理自 QCon 2018 上海站上的演讲。 从硅谷到中关村到底有什么差别?以 Data Driven+Ownership 组建高效团队!
x& W4 L( J0 ^7 H2 d 效率差距 在加入小红书之前,我曾先后在百度、知乎、Facebook、Airbnb 工作。今天就想分享我在这过去的十几年间看到过、经历过的不同公司在“效率”上不同做法,以及一些自己的总结。
1 n' [" `$ w+ ` E+ e“从硅谷到中关村到底有多远?”大家在十年前觉得硅谷是技术型公司的圣殿。但是,今时今日中美互联网公司,这些差别都变得非常小。' u/ \2 W$ h' o; d8 O3 e9 v
) j+ }9 C# H+ @2 K5 R3 a( J
2018 年初 Mary Meeker 的年度互联网报告里面,Top 20 市值 / 估值的互联网公司中国占了一半,但从实际角度,还是在一些领域内差距明显。以 Facebook 和阿里巴巴为例。他们两个的市值曾经非常接近。但平均每个员工创造的收入,Facebook 大概是阿里巴巴的 3 倍。这个数据代表了一个公司的效率。
s3 Y: n/ ]9 S6 v" y6 Y( U# C
2 t3 \6 F1 g' q# |站在今天,中美互联网企业最明显的差距就是团队效率。1 u" `: [! z/ o( Y. T" q
; E* _" j9 z1 P' } t3 Q) e接下来,我们将对比差别产生的原因,及能从硅谷能学到的东西,包括在小红书的一些实践当中看到的效果和遇到的问题。
]2 `; T1 G1 I4 \8 ?4 G互联网时代的软件工程 我们今天对于效率的讨论,都是在互联网时代这个大背景下如何能够最大化团队的效率,最大化团队的产出。但中文互联网元年大概是在 2000 年左右,我们现阶段的所有互联网企业都是脱胎于那个软件时代。
% M+ J2 }6 I& E" D) R7 ^
1 O& i# j# y" f+ J/ N; A' ~软件时代和互联网时代有什么区别?软件时代 release 周期大概是半年到一年,背后的逻辑就八个字:质量第一,按期交付。3 C. K# g/ `; `
! s/ X/ U/ x- Y( v2 ^6 r
我们来讲讲其中的巨无霸:微软。) \3 A+ T1 F# q. x; {
* d- O( j) v2 }* R5 z7 }在中国互联网企业里,大家沿用了微软的开发流程。PM 中心制,以交付文档作为各个阶段的结果产出。这是一个对于整个软件开发而言好的流程。
4 s R, j3 Q8 ^$ Q0 X. V# R J4 n: {4 x
但到了互联网时代,这样软件工程有什么问题?
+ X8 O- _( g7 V: V( l; n7 A* p7 E, E0 H1 U1 x
- 第一点,所有原始设计的功能点的周期不再是月级别,是周级,甚至可能都是天级。
$ Q; B z: Y( o- r# a4 z* u - 第二点,职能化区隔。基本上我们的团队构成都是以职能切分,PM、工程师、测试工程师等。
m1 Q: T4 h$ k0 z: w. {8 C. X. ` 在复杂的互联网场景中,我们就会出现 PM 的需求和排期,会分别细化到客户端团队,到服务器后端等。Team 越来越大,时间却越来越少。流程能带来安全和质量,但流程不能带来效率。8 u3 |9 G0 O- E& [& w
我们再来看看互联网时代下带来的变化:2 z' @2 H# I) ^: ]' z2 W; X
# R+ l: G; O$ E. s1 b* O' |
- 第一点,迭代速度比不出问题重要。如果一个特别严重的 BUG 放到线上,1 分钟就能定位,5 分钟就能 Release 修复,可能只影响到了非常少的人,可以用迭代速度去弥补出现的问题。2 n8 Z$ n8 x1 z( G- t& U
- 第二点,一个基本功能的 MVP,也就是一个功能的最小化产品单元,比一个完备的产品设计要重要得多。% Y2 N8 V6 S. _, N" c
- 第三点,用户反馈就显得比按期交付更重要。应该用最小化的产品单元,用最快的迭代速度,将用户的反馈收集到,确定这个产品的功能要不要,做不做深耕。8 l% _, s; |8 J+ g/ h3 C9 D
: T8 g0 }. w% l9 q% W, u/ Q
在互联网时代下,对比传统软件时代,我们的最终生产效率能差多少?10 倍肯定是有的。效率就是第一竞争力。$ s- H: Y W! Y4 r) C% e
4 _1 R3 V* O. E% e& N( w; l% C
我们再举个互联网时代公司的例子:Facebook。
4 e) x- z% r$ l" X; x/ O) I! s: O* E' oFacebook 的一个最小 TEAM 单元叫做三人组,是设计师、产品经理和工程师,三个人完成基本功能。三个人之间不是流水线上各自独立的环节,而是相互讨论,相互交织。
( ~1 m$ Q% d) o0 z! }8 n- F
5 h+ @" n8 }4 L" U! u产品经理,他不再只是 Product Manager,而是 Problem Manager,让大家能看到问题的全貌,一起来探索解决的方案。; k! W" o6 D) L. V$ ]; d) }
* N5 J, k+ _) s% s4 \. s" q三人组这样的团队,与那个按职能来划分的团队相比,有什么区别?
$ j# I: c8 X; Z第一点,对问题负责,所有人不再只负责流水线上的一环,而是负责最终结果。* j+ z0 \; [' S! M0 u
第二点,因为存在大量的面对面交流,而不是文档交流,它的结果是对于主观能动性的激发是大的。. ~8 j# G. P& F* u* V$ x8 w
这两点是为什么能激发 10 倍的效能的基础。对一件事情有 Ownership 可以激发个人巨大的效能。
; m% a7 a$ l/ w: E) g以效率为中心,带来了哪些变化呢?
4 O9 Y5 r9 |+ U" o' B$ S变化 1:团队
( i! _, D% }/ q: E
我们先来看看团队的变化。! ?( Y8 Y) L4 r0 G- T! G
" {$ w0 f9 q" V d+ P( w* l- c
例如 Instagram 从创业团队做大,一定要有术业有专攻。对于 Instagram 而言,第一个切分出来的团队是基础架构,他们支撑一个底层业务。1 k& v9 d# d! y; j
第二个拆分出来的团队是 Growth。这个增长团队是闭环的,为了目标就是一个,如何协同一起把这件事情做成,把问题解决。
7 S5 e7 D% \" x之后,还会切分出 Engagment 团队,以及 monetization 团队。! v( Y* ?( g2 ? G4 Y
团队的切分方式都是以能让大家分享同样一个用户侧的目标,或者是公司级的目标。6 [- ~, \5 `* f2 m! U8 y- c ?' q
在实际场景当中,大家最怕与跟自己职能不一样的人放在一起。但我认为,单一驱动在今时今日这个场景下面是不存在的。, v3 f* k$ t2 f& V4 m: v0 f' F
驱动大家的东西,是用户侧的反馈,或者叫数据。每个人都应该放下只有我说了算的 EGO,平等的对话,在各个地方收集问题,一起找到解决路径。 C7 w1 ]" l! O2 \ N, }
在这样的团队里面,带来了第二种变化,数据无比重要。职能不一样,团队的共同语言是什么?数据驱动决策的含义,就是团队里面每个人都需要去阅读数据,读懂数据。
+ T4 u0 t# Q+ @) y/ I L数据驱动分几级:
0 E+ J# d6 `! N) H# W Y
2 n! N J& b% f4 R* I- 第一个,公司级。出个 Dashboard,加个 BI 团队,负责给老板跑数。这是低 level。
( p% r/ n6 X. P$ Q* J6 i: \( ^: |% v - 中等 level 是团队级,每个团队都有自己的可以量化的目标和结果。9 N* p, M, q% @+ k
- 高等 level,应该是团队当中的每一个人每天都在跟数据打交道,每个人都能用数据,每个人都会用数据。但这需要有配套的机制和工具做辅助。& c: l+ S8 @, K8 N
( W8 j- m3 D D& i2 o- G
在 Facebook 内部,五年前有三大工具:Scuba,Hive,Ods。ODS 传统 KV 储存,主要是一些计数器。HIVE 就是数据仓库,可以跑很大的数据量,缺点就是反应慢。SCUBA 在 Facebook 内部是人大家日常使用最多和最有帮助的工具,可以实时地做多维聚合。. {. E; S! }; C4 z
: i: I6 ~9 n6 I: W$ u
6 \0 z& Y. q4 i! ~' ?实际应用工具当中的一个转变,对人的影响是非常大的,工程师关心的不单是 CPU、MEMORY,关心的是全链路业务上面的用户反馈,要有工具能看到结果长什么样子。产品经理也要有能力自己取数,要有 data sense。; t; b7 S# [* l- g/ G; s( k
+ m' R& M2 e8 V5 z" y: ~1 S6 F1 I# Y这样,数据科学家和数据分析师不再是取数工具了,而是可以去做数据分析,找到驱动数据变化的深层原因。
$ j1 ? B1 j, _最后数据应该是公开的,应该是能覆盖到尽量多的维度,数据的生产者和数据的消费者应该是一体的。我想知道,我做了这个功能有没有人用,有多少人用,用得好不好,这才是最大的驱动力。$ I; I1 O+ B' D) f1 a, K& ?& Z, x% ?
变化 3:职责 优秀的团队,需要对结果负责。对结果负责很重要的一点,或者说做出成功产品的团队核心是什么?叫做 DOGFOODING。
. E' E- s) s/ }' T+ w0 N" L
) r7 }* b9 X2 X7 \4 MDOGFOODING 是什么意思呢?就是自己用自己的功能,自己吃自己的狗粮,或者狗屎。自己做出来的功能,首先自己要先用起来。5 Z3 } H* q! i! D2 V) {0 _" t
6 [0 _# {# N# }( v
在 Facebook 有几种简单的工具去支持大家快速做用户侧尝试,哪怕是只给自己使用尝鲜:
( k+ `6 s- b8 g' o2 B- Q+ `3 _4 U! H1 C# Q+ \6 L" E9 n1 C
- 一种是 gatekeeper。通过在 gatekeeper 上设置过滤条件,对一小批用户做测试。( D# `! @: H" u+ J- d$ I: j
- 另外一种是 AB 测试,切 10% 的用户尝试新功能,另外 10% 的用户最对照。
" a( x+ ~1 k& i# q1 p 那工具为什么可以让大家变成对结果负责呢?原因叫做赋能。因为有能力,所以有担当。- x1 i/ a. r0 H: m0 Q: b7 C4 n9 u
1 m6 v" ~! z/ d3 d! `除了靠各种 CI,Canary 工具以外, gatekeeper 和 AB testing 也可以让你小流量去实验,实验个 5000 用户,觉得没问题,再放大,用这样的工具去辅助这样的权力。+ ^" J7 B; s. X) Y1 S
4 ]+ e6 N* \& d; K
总结来说,在互联网时代,为什么 Data driven 和 ownership 可以提供 10 倍的效能差别?因为在大目标对齐的情况下,各个小团队之间可以组成一个分布式的决策机制,大家可以跨职能的团队协作,去中心化进行决策,做到面对不确定性时的敏捷。
' ?3 x" X) m: ?6 e9 p8 s2 _
. \& z# W! `- F+ J4 w小红书的实践 % F t* y1 e& S; u l
最后我们来看一下过去这两年,对于效率,我和我的团队一起在小红书的一些真实的实践。6 k0 |" ]! k& U9 D
小红书是一个生活方式平台,里面涉及到衣食住行,吃喝玩乐,并且可以完成从发现到决策到记录的全链路流程。# Y: }: D+ W+ A1 }
) O( e) s. z* F" w
我们是一个面向用户、有丰富数据的平台,这是我们产品上的天生优势。我们一天的用户阅读量有数十亿次,这种流量规模情况下,我们可以做非常多的 AB Testing,用 1% 的流量就可以做非常多的事情。5 F0 K" J) _2 q- w! T
0 b) \6 d# X& ~# R h
我们刚才讲的对于各种效率理念,在过去两年一步一步在小红书做落地实践。虽然有种种挑战,过去的两年里面我们还是摸索着落地了很多效率层面上的改进:
+ j! S% Q9 T+ w' `7 c) w# Q首先第一点:数据赋能。每个人都会玩的数据平台。我们自己做了一个前端,后面主要是 Hive,Presto,Spark 等等这样的数据计算平台。在这里用户可以套用模板写 query。在小红书团队中最引以为傲的一点是,几乎每个人都会写。然后通过一些工具可以把这些数据变成一个图,或者是变成一个每天监控的 dashboard,还可以变成 high level 的报警。
3 T9 y( W% R* D k
6 X: _6 q7 P" A0 R2 v4 p$ v' p" U第二点,工程赋能。工程师有能力决定自己功能什么时候上,要什么时候上,或者要不要上。我们用了 Phabricator 做 Code Review,集成了后面 Jenkins 做 CI。所以工程师在这里边每天会看到说我现在有多少个 Diff 等着我去 Review,以及我的 diff 在被 review 的状态是什么样子。当有一个 reviewer 点击了 accept,就代表可以上线了,就触发了我们最终的 deploy 流程,就上到线上,这是对于工程权力的下放。
( u# x$ Z% l% K) ?
2 s, j) s9 z+ v3 ~9 ^0 O# e
第三点,实验赋能。我们现在线上 AB testing 平台一天有 300+ 个实验,也就是说我们每天在尝试的新功能有 300 多个。AB testing 就是应该犯错的,AB testing 就应该是 10% 的成功率才对,或者更低,代表实验的效率更高和跑得更快。
4 e& r+ I% n/ a$ F+ L
' n9 t8 a$ K* _0 y- V# ]我们刚才讨论这些关于效率的话题,在小红书团队里面都有所实践并且一直在进步。我能看到工程师、产品经理、数据分析师在团队里面效能的变化,效率成倍的激变。* j3 m0 R+ y# {5 q1 z+ q$ S4 p
5 f; @& v8 }6 i- }3 b9 r我们大概在今年年初的时候,我们整个的用户突破了 1 亿,现在已经超过 1.5 亿。小红书所有核心指标都是一年 4 倍到 5 倍地指数级增长。6 y0 p& [# i# g' V; u
8 A5 |5 l1 r2 u3 j! T我们就是一个从十来个人的团队到 100 多人的团队,QPS 从百到万到十万,去撑起了这么一个每年 5 倍左右的核心 metric 的变化。
1 ~- r* H4 N8 p/ o0 _* k3 C) U5 u
2 k# U, Z: T; h0 h1 C/ T" d
那么从硅谷到中关村到底有多远呢?; O1 M7 U% K: D1 @$ Z4 R
! z& h; Q" p- h
在小红书,我们其实就是 为一线团队做两件事情,一个叫做放权,一个叫做赋能。$ r4 W6 C1 [4 L/ L7 A: P D
放权的意思是通过 Data Driven 的方式给予决策权的分布式下放;赋能的意思是通过工具,无论是测试工具也好,CI 也好,实验平台也好等等这样的工具能让团队每个人有 ownership。最后,欢迎大家加入小红书团队,来一家高增长的公司高效率地做事情。
* r e2 W2 F8 |! Y8 k1 E5 [本文彩蛋 硅谷一直以其“不断创新、鼓励冒险、包容失败、崇尚竞争、平等开放”的文化闻名于世。许多公司从一个灵感迸发的火苗,在这里长成参天大树。究竟硅谷公司里有哪些令人着迷的工程师文化,可以让人管中窥豹略见一斑呢?请在 InfoQ 后台回复关键词:硅谷,获取一篇以 Facebook 为例的项目开发流程和工程师的绩效管理机制文章。: A, N* ]6 ^7 O3 `; j
作者介绍- S1 }- d7 W! I i
U- i7 T6 H( T1 C* F8 b, v
姚旭,小红书社区技术负责人,端到端地负责小红书的社区功能,包括大前端,搜索、推荐、基础架构和相关的机器学习系统。 加入小红书前,曾在 Airbnb、Facebook、知乎和百度等公司担任首席架构师和主任工程师职位。
# X7 a. L; B: \4 [
可能是讲分布式系统最到位的一篇文章4 V& i+ L& v2 C% Q7 H% J
, A7 r0 b: M) _5 t9 b. f高效的技术团队需要技术管理两手抓,你找到正确的上升途径了?关注新一届的 QCon 大会,100+ 技术大咖给你解答启发。2 O' J1 \- B0 A$ C- w8 b
QCon 北京 2019 现已全新起航,除了一些常规的专题设置外,新增了用户增长、智慧零售等当下热点话题,在技术深度和广度上不断延展。目前大会 7 折报名中,立减 2640 元。识别二维码了解 QCon 十周年的精心策划。
* W% p7 S+ B! h( H7 V
* P W- ]6 b/ x$ Y/ u3 M议题讲师持续邀约中,如果你有好的话题并乐于与他人分享,欢迎点击「 阅读原文 」提交议题。! @3 w) a+ |$ L- B2 H1 [) f
. h* ?4 D$ Z" D; U% ^4 U3 j
1 l& S8 f% l5 H4 ?
- ? i8 R7 j o
来源网址:http://www.yidianzixun.com/home?page=article&id=0KdET5Wf |
|