小米单点突破
2014-06-10黄江吉
编者按:
14年的微软工程师经验,2010年加入小米,黄江吉经历了产品开发的两个时代。微软一直在追求“最完美”的开发模式,那是一种要求你不能犯错的开发模式;而小米是互联网思维,允许犯错、快速迭代。当外界对小米研发、运营、管理的秘诀屡屡猜测之时,小米联合创始人黄江吉走向前台,从工程师的角度,亲述小米的产品开发模式。
我从最早的1996年加入微软,在这个行业里面做了14个年头,学到一些工程或者产品方面有价值的经验。2010年,我加入小米,负责米聊、小米云等业务,去年主导小米的硬件产品——小米路由器。从微软到小米的经历,让我深刻地体会到,移动互联网创新的玩法的确变了。
微软“最完美的开发模式”不完美
1996年6月,经过两轮7个资深工程师的面试,我作为实习生加入微软。当时非常幸运,你可能想象不到,我做实习生时甚至有机会去参加比尔·盖茨的家庭Party。
我在微软第一个意识到的是敬畏之心,怎么说呢?分享几个有意思的故事:
第一个是我开工了一个礼拜之后,完成了第一个任务,不到200行代码的模块,他们却派出了3个资深工程师,外加我的老板,四个人花了一个半小时去看,结果是这200行代码每一行都被挑出了毛病。这让我认识到,微软把工程师看得非常重。另外,微软对人的培养超出了我的预期,没想到他们会花这么多的时间去培养一个实习生。
第二个小故事是2000年春天的一个晚上,10点钟,我花了两个月时间把一个我做过的最复杂的代码完成了,然后去给我老板演示,并告诉他,我这个模块比以前的快了多少倍,他听完后说,不错,你是怎么做的?
我就跟他讲我的算法,我的数据模型等,他听完之后就说你这个方法不对,做得还不够快。然后转身打开他的电脑,开始在我写的代码里改动,到了大概11点30分的时候才全部改完,然后测试全部通过,性能比我改了两个月的代码还上升了15%。
这在当时给了我两个震撼:第一,这个世界比你强的人多的是,天才多的是,人才多的是;第二,因为他比你强,所以他是你老板。这是在2000年,我已经意识到这个公司为什么能变成一个如此伟大的公司了。
其实每个公司都在追求最完美的开发模式:首先花几个月时间做计划;然后是设计,设计又是几个月的时间;然后开发,开发这个过程可能仅仅占整个周期的24%,甚至更少,最后的测试也是一个浩瀚的工程,在微软,没有测试完的产品是不可以发布的。
产品发布以后才是用户真正使用这个产品的开始,在这样的一个开发模式里面,产品的周期往往会变成“产品月期”。到最后,每个Windows新版本基本上没有两年是做不出来的,不只是Windows,哪怕是一些小的产品也做不出来。
当时我感觉比较痛苦,我不明白为什么像谷歌、Facebook这样的初创公司,甚至其他一些小公司,他们那么小,竟然可以在直面微软的竞争压力下,发展那么迅速,甚至在某一些方面超越微软,当时我不明白,到底问题在哪里?
微软的人才还有内部的流程,当时在我看来基本上已经是无敌了。给大家一个简单的概念,就是做Windows时有五六千个开发人员做每一版的Windows。你可以想象,五六千个最顶尖的软件开发工程师,分成一个个小组,每组配五个人,311配备——即每3个工程师就要配一个产品经理,一个测试。
在311的后面有个0是我自己加上去的。大家知道这个3110里面的0是代表什么吗?
是用户的声音。
在微软,前面三个数字不管你放大多少倍,多少人去做这样的项目,在开发过程中,代表用户的这个数字还是零。
因为微软一直在追求“最完美”的开发模式,那是一种让你不可能犯错的开发模式。每个周期都是那么严谨,要执行这个计划的话,没有人可以犯错。但这本身就有一个问题。
微软在新的领域里面,为什么没有跑得那么快?是不是应该重新思考开发的模型?
小米的产品开发秘密:口碑法则
2010年,我遇到了一个绝好的反思机会——开始做小米。一个新的开始,最大的好处就是可以全部推倒重来,重新思考怎样才是我们当前需要的模式。
核心要解决的问题是什么?我们就把它列出来:
第一,产品定义。你怎么知道你现在做的产品定义是对的,你怎么知道你现在做的产品里面功能都是最重要的。
第二,成本。第二个问题是怎么样最有效的,最低成本的,用最快最稳健的方法做工程迭代,因为工程师的成本是最高的。
第三,测试的方法。以前微软是找几千人甚至上万人的测试团队来把这个测试的工作做到完美,然后才把产品发出去。这个模式最要命的是让你完全不可能犯错,现在创立小米,我们又可以犯很多低级错误了,要允许我们可以尽快地试错,这是我认为跟微软模式最大的不同。以前是防止犯错,现在我们是鼓励,甚至这个模式会因为试错而变得越来越强大。
在这里,我从产品开发角度讲讲雷军的互联网七字诀:专注、极致、口碑、快。
其中最重要的一个关键词是哪个?口碑。因为没有口碑怎么快都没有用。说到快,是体现在快速实践我们的想法上。很多开发者通常会陷入一个误区,就是他们的第一版要做很多功能,要把它做完整了才推出去,其实这样不够快,而且投诉率也很高。
我们的建议是在快速实验的时候每次都专注地去试一个点。这个点推出去之后,不管你的用户量是1个、10个、1000个,还是100万个,你都会得到反馈。如果是负面的就快速调整,重新试验,如果口碑正面,接下来就应该顺势而为了。
一旦你找准了用户需求,就马上把这个方向做得更深,深到极致。
这里有个流程是:“单点突破→试错→用户反馈负面口碑→再迭代→再试错→直到正面口碑→然后顺势而为,将单点做到极致”。
所以在整个开发模型里,我们强调的是轻量级的投入去切入新市场。当时得到这样的结论,我们非常兴奋,因为小米可以尝试一个全新的方法来做产品。
六大落地方法
用全新的方法做产品,有六大关键点。
第一,人才落地。因为我们要杀鸡,所以要用牛刀。
小米全新的开发模式具体怎么铺开?我觉得全部在于细节。如果遇到新的机会,大家判断这个方向靠谱,其实前期投入不需要太多。但这里有个前提,就是这个轻量级的投入里,每一个成员都必须是在其领域里最强的人。
我们在创办小米的时候,找的前10个人是我们可以找到的最强的人。大家说杀鸡不应该用牛刀,但我们当时的想法是,因为我们要杀鸡,所以就是要用牛刀,才能杀得比别人快。因为这些人以前都不是杀鸡的,是杀牛的,所以他们的潜力更大。
就像我在微软的那个老板,我的代码已经优化了一遍,他认为还有更好的方法,我相信如果我再去找他,他还可以做得更好,我需要这样的人,遇到困难不找借口,字典里面没有“以前试过了,不行”,这是最关键的。
如果你要轻量级尝试你认为很有潜力的一个方向,一定要找最强的人,不然你就不知道这些事尝试完之后,到底是这个事情不靠谱,还是人不靠谱。找最强的人去做,做不成我也认了。
另外,这样的人,他们的基础已经很好了,所以才可以在发展速度很快的情况下,依然知道什么东西可以省略,什么东西不能省略,而不是盲目地只求怎么快怎么来。如果真的这么干,我认为我们会走很多弯路。
第二,文化落地,拥抱开源。
拥抱开源文化,其实是一个长远的心态。如果不拥抱开源文化,小米也就永远做不大。
很多已经开源的技术,这些技术已经被很多公司使用在几千万、几个亿用户的场景里,所以我们一上来不需要从头来过。有些东西值得我们重用的我们绝对重用,到最后我们也希望可以回馈给整个开源社区,从去年开始,小米已经有工程师成为国际性的开源组织的成员。
第三,团队落地,最核心的岗位让用户来做。
这个世界最难招的岗位是什么?产品经理真的是非常难招,为什么?因为优秀的项目经理是可以培养出来的,但是产品经理本身是需要有非常高的悟性,还要认识到不只是他自己怎么去想这个事,更要注重用户会怎样接触这个事情。到目前为止,我觉得很多公司人员里面的最大瓶颈依然是产品经理还有设计师。
在小米,100个产品经理里面可能只有两个是小米公司的,另外可能有98个都是小米手机的第一波用户,而且是最发烧的这些用户。100万个用户里面,一定有100个用户对这个产品很有自己的想法,而且非常热爱这个产品,他的想法可以带动很多别的用户。
把这100个“产品经理”纳入到我们的开发模式里,这个是关键。里面更关键的一点是这个业务的总经理或者负责人,他本身就要成为头号产品经理。每个业务总经理一定要热爱自己的产品,他如果要做自己都不会用的产品,他做不好。
第四,迭代落地,大数据分析可以有,用户吐槽更直接。
现在大家都讲大数据了,我们也会通过大数据分析到底什么功能重要,什么功能不重要。尽管大数据分析很重要,但其实我更相信用户的直接吐槽。
如果我们的大数据分析到很多用户特别关心功能A,但微博里我被骂得最多的是功能B,我会毫不犹豫地第一时间解决功能B需求,因为我更相信用户直接的反馈、吐槽。
也许你会说,这些用户我们不给工资,他们为什么要帮我们干活?有时候用户是很单纯的。他们如果在论坛里给你推荐了一个好功能,好想法后,你把这个功能做出来了,告诉大家这个想法是他想的,保证他第二天马上帮你想另外十个更好的想法,成就感是一个非常大的动力。
第五,测试落地,找到发烧友,进行灰度测试。
其实最好的测试方式是发动海量的用户去帮我们做各个方向的测试,这样不单只是最高效的,同时也是覆盖面最高的。
小米提倡的是什么呢?我们根据用户最大的痛点去判断到底什么方面要修正,什么方面要提高。更重要的问题是,我们先修哪一个?有100个问题我们先修哪10个?
也许有人问这样做是不是有很大风险,现在用户量也不小了,如果你这样去用全国用户做测试的话,出了问题怎么办?
我们可以用一个灰度升级的方式,就是通过一些条件选择1%的用户,让他们升级,然后观察他们的使用。测试确保他们没有遇到问题之后,你再把1%变成5%、10%、20%、50%、100%。当然里面有风险,但是通过1%的反馈你基本上可以找到大部分的问题。
当然你要让这些用户知道他们是VIP用户,他们在跟你测试,他们才尝鲜,他们可以选择不当这1%的测试用户,但相信我,有些用户会用各种手段,就是想提前尝鲜,这些都会成为我们的测试人员。
一个轻量级的工程已经动用了从10个人到100个人再到1000个人,现在是10000个发烧友,我们讲发烧友讲得很多,为什么发烧友那么重要?原因很简单,因为我们一上来就挑了一波最严格、最挑剔的用户,你过不了他们这一关,就不用继续了;但是你过了他们这一关,他们会成为你最大的口碑推动者,因为你过了最艰难的时刻,就像我看电影少林寺的十八铜人,你过了这十八铜人之后出去基本上就可以天下无敌了。
第六,责任感落地,从跟用户做朋友开始。
我们提倡的是“用户就是我们的朋友”,朋友听起来好像很虚,其实不是。一个工程师能遇到最大的压力就是他的朋友告诉他,你这个产品有问题。设计师最害怕的是他去朋友聚会,他的朋友跟他说,这个东西你设计的?你为什么会用这个颜色?这会开始挑战他的品位。一个员工,最大的压力不一定是来自于他的老板、同事或用户。如果他把用户只当用户的话,他就不会着急,他会觉得这只是工作内容。但是如果有朋友打电话给他,说电话有问题,打不出去,或者充不了电,他会恨不得马上开车去朋友家给他送一台新的手机,就希望他不要觉得自己的东西不靠谱。
小米路由器如何轻开发?
去年公司给了我一个绝佳的机会去验证前面所讲的小米新开发模式在软件以外的行业是否可行。
这是一个路由器,我们把它定为大人的玩具。同时也是一个家庭智能中心的老大。这个项目其实是从2013年4月份启动的,当时我跟雷军聊到这个事,只是几分钟的交流,然后雷军就说干吧。
4月份到7月份的时候,基本上是我搭建团队的过程,这里跟大家分享两个小故事。
第一个,路由器肯定是硬件产品,我应该找硬件高手,但我想不对,刚才我讲,杀鸡要用牛刀,我们虽然做的是家用路由器,应该要找企业级别的路由器人才,因为我不只要做路由器,还要做未来的数据中心,它会变得越来越强大。
一上来我就找做企业的路由器超过十年以上的人,我找了谁?唐沐。唐沐是腾讯用户交互中心的老大,他十年前去腾讯一手创办了用户体验中心,业界做设计的基本上没有人不认识他。
如果我叫他过来做跟他之前十几年做的一样的东西,估计打动不了他。所以,我跟他讲,你要不要过来跟我一块做路由器,这个就打动他了。这对他是一个挑战,他一听完,就对这个兴奋得一塌糊涂,问我的第一个问题就是:“路由器上面是不是应该有一个显示屏,不然我的UI怎么发挥出来?”
然后我跟他说,兄弟不是这样的,你的屏无处不在,你看看我们在做的小米手机、小米电视、小米盒子,他们全部都有屏,我们现在是什么时代了?我们控制一个设备,不一定要跑过去按他,你可以用手机,手机的屏幕就是你的UI交互,甚至电视,你想在里面做什么样的操作,或者什么样的交互,都有很多空间去发挥。这样基本上他就决定了,然后就开车过来报到。
为什么我们会搞“小米路由器1元公测”?其实这是为了达到之前我讲的如何让用户参与进来帮我们做测试的目的。像路由器这样的网络设备,在中国每个城市里面都不一样,怎么保证小米做的路由器在中国各个角落都可以捕捉到?最好的方法就是公测。
标价1元,这是一个态度,因为我真的很感激这些用户,他们也很开心,花一块钱买一个这么高端的路由器,然后里面还有1T的硬盘,还有迅雷白金会员卡什么的,超值。这个态度让他们知道,我很尊重他们。
第二个态度是什么呢?这是一个玩具,什么意思呢?我们希望用户去玩它,而不是纯粹用它。我们会鼓励他们去想,他们会怎么样去玩儿这个路由器,他们会怎么样去用这个硬盘,怎么样去用其他的硬件,还有我们给他们提供的软件,一下子你会发现我们多了很多“测试人员”和“产品经理”。
你真的不得不佩服用户的设计,非常漂亮。让用户参与产品测试这个开放模式是靠谱的。目前我们已经做了两轮公测,下面我们就会做第三轮,而第三轮的产品已经在前两轮基础上做了一些调整,所以前面两轮公测的价值我已经得到了。