本篇内容来自吴军的《富足》里面的节选,讲的是如何避免产品习惯性流产,找到自己和团队的真正问题。对大家做产品有借鉴意义,分享给大家。
1. 先学习正规军打法
我到美国之后发现,几乎所有教授在指导学生做研究时,第一步都不是让学生做自己的研究,而是要重复前人的研究成果,按照前人发表的论文,把他们的实验重复一遍直到得出和论文中一致的结果后才允许他们按照自己的想法做研究。我发现这是一个非常好的做法,因为现代科学研究都很复杂,做成一件事要考虑很多细节,而一个刚入门的新手通常想不到所有的方面,让学生先按照前人的做法做一遍,有章可循,容易获得第一次成功。有了第一次成功,等到了第二次按照自己的想法做的时候,成功的可能性就会大大增加。当然可能有人会问,是否有跟着别人做也做不成的时候?这种情况时有发生,大部分都是因为自己没有搞懂人家的方法,忽略了很多细节,但也有极个别情况是前人发表的论文有水分,比如夸大了甚至编造了结果,这种事情每年都会发生。这其实是学术造假,属于题外话了。
2. 深度复盘失败原因
其次,如果第一次失败了,要花功夫尽可能找出全部失败的原因。失败之后找原因,是很多人都懂的道理,但是,绝大部分人在找到一个原因后,就以为发现了全部的失败原因,然后匆匆忙忙又开始了第二次尝试,随后面临的肯定是第二次失败。
航空业有一个海恩法则(Hain'slaw),它是德国工程师、飞机涡轮发动机的发明人帕布斯·海恩提出的。海恩统计发现,每一起重大事故的背后,平均有29次小事故;每一次小事故背后,大约有10次未遂事故;每一次未遂事故背后,有3-4个事故隐患。在听说海恩法则之前,我其实也体会到这个规律,只是没有刻意做统计。比如我们做一个产品,上市后没有达到预期,这里面可能有很多问题,绝不能简单地归结为市场推广没做好、产品质量不过关或设计有漏洞中的任何一个,通常我们的失败是这些问题叠加的结果。如果真是一个完美的产品,只是市场推广不够,通常不会遭受特别大的失败,因为在信息传播很快的今天,好东西即便没有人推广也会口口相传。一个失败的产品,背后的问题通常比我们想象的要多得多。因此当我们做事失败的时候,要想到可能存在很多问题,注意筛查,绝不是解决一个问题就能保证下次尝试一定会成功的。
3. 再做一遍直到对为止
再次,在找到失败原因之后,一定要重新做一遍,直到成功为止,即便那件事已经变得不重要了,这个步骤也不能省。所有的学霸在考试后都会做一件事,就是把考试的错题重新做一遍,确认自己真的会做了,有的人甚至会把相关的内容重新复习一遍。这个小小的操作就是在完成从失败到成功的转化。几乎所有的“学渣”也都有一个特点,要么考卷扔一边了,因为以后不会考了;要么看一看,“觉得”自己会了就放过自己了。这个世界上最不靠谱的事情就是“觉得”二字。觉得自己能行,通常就是不行。
有一段时间,我对打高尔夫球感兴趣,为了提高水平,我就去观察那些能够进入大学高尔夫球队的青少年是怎么练球的。这些人和那些业余爱好者有一个很大的差别,就是在什么地方打了一个坏球,一定要练习到在同样的地方打好为止,这就完成了从失败到成功的转化。我从45岁的“高龄”开始摸球杆,10年下来已经比绝大部分有20年球龄的人打得好很多了。并非我进步快,而是绝大部分业余球员学习的方法不对路,他们和那些准备走职业道路的青少年正相反,打一个坏球,自己随便找点原因就放过自己了,以后在那个地方还会重复失败,即使造成失败的原因可能不同。
这些年我和一些职业运动员有过交往,发现他们都有一个共同特点,就是有一股不放过自己的狠劲儿,不允许自己带着问题进入下一个阶段,很多职业运动员甚至会为了纠正一个动作牺牲半年的比赛成绩。但是业余选手却不会这么做,他们一旦发现纠正错误要付出代价,就会放弃。把自己的错误一一纠正是需要时间和精力的,因此职业运动员都很专注,不会同时做好几件事情。相比之下,很多人是一件事情还没有做好,就急着去做另一件无关的事情,这样在做很多事情的时候就难免陷入“习惯性流产”的困境。人一辈子能做成几件事就好,不必太多,做了很多事都没有做成,反而是最失败的人生。最后,我们需要知道,任何事情的成功与失败,人为的因素只是一方面,运气是不能忽略的。凡是做成功的事情,一定是自己的水平和努力满足了成功的要求,同时得到了上天的眷顾。因此,成事固然可喜,也不必自得;失败了固然可悲,也不必过于沮丧。通常,对老天爷越有敬畏之心的人,越容易成事,因为他们会打出很多富余量,但凡不大的难关都能安全渡过。
4. 复盘建议,怎么找到全面的问题
在了失败后要找出所有原因,这样才能避免习惯性失败。这在计算机科学领域被称为排错(debug),在案例分析中被称为复盘。
那么如何排错或者复盘呢?要想尽可能一次性地把各种问题都找到,就要在做事的时候,每做一步都记录下结果,不能等到最后出了问题一次性算总账。我记得我父母的单位会定期给他们发笔记本,就是鼓励他们记录每一个步骤的细节结果。这种做事方法其实在美国的大学和大公司里非常普遍,我也一直这么做,因此没有觉得这是什么问题。
后来我在谷歌指导中国年轻的工程师时发现,很多人做事失败后半天都找不到原因,就指望着有经验的工程师帮助他们发现问题。由于他们在中国,我在美国,电话里也讲不清,于是我就让他们到美国出差,坐在我旁边的办公室工作,这样我就可以仔细观察他们是如何做事的。我发现他们做事的方法完全不对,做一件事,不论多复杂,只有一个结果,要么成功,要么失败。一旦失败,就不知道是哪一步或者哪几步做错了,下一次再做还是失败。后来我就和他们讲,假如我从重复前人的工作出发,将那项工作作为基点,然后在此基础上做我们的事情。前人完成的工作和我们的任务之间可能有十个步骤或者十个要考虑的因素,不要十步一起做或者十个因素一起考虑,必须一步一步来,每做一步都要记录结果,最后出了错就很容易回溯,找到问题所在。
目前,中国最好的半导体公司无论是在设计上还是在制造上都达不到世界一流水平,很多地方投入了很多钱,但似乎没有产生什么明显的效果。正好我弟弟是半导体行业的老兵,我也认识中美两国很多这个领域的专家,让我有机会了解全世界半导体行业内部的一些细节操作。根据我的研究发现,中国公司设计的半导体芯片中,用于测试的部分(DST)非常少。这些部分不产生任何功能,多了之后不仅会让设计工作量大增,而且增加制造成本,因此工程师不重视这个部分,而公司为了节省成本,也不强求工程师把这部分做好。美国的公司却非常重视测试部分,这些公司的芯片中一半的电路都是为测试准备的。那么测试部分为什么重要呢?要知道今天复杂的芯片里有10亿以上的晶体管,坏掉几个或者某些部分的设计有错,是很难排查的。
今天的半导体设计,做一个样片的成本和生产100万片没多少差别,如果第一个样片失败了,不能把所有问题找出来,就要靠不断做样片来试错,不仅成本高,而且最终的设计是好是坏也说不准。测试部分的作用就在于,芯片里面无论哪部分功能模块有了问题,它都可以帮助设计者测试出来,这样可能只要做两次样片就能定型了。前一种做法是习惯性失败,后一种做法是一次失败导致后面的成功。那么是否一旦设计成功,就可以把测试部分拿掉,以节省成本呢?不是。因为制造半导体芯片时有成品率的问题,可能一半的芯片都有问题。即便是全世界最擅长生产芯片的台积电,成品率也只有70%左右,二流的企业成品率还不到一半。芯片在出厂前,必须要把有问题的芯片挑出来,总不能等到芯片焊接到手机中发现问题再更换吧。测试部分的功能,就是帮助测试每一个芯片的。
国内曾经有一家颇为知名的半导体企业,做的芯片质量很不稳定,原因是为了追求成本,它设计的芯片中几乎没有测试部分的电路。当客户反映它的芯片有很多废品后,它表示可以免费更换,可是那些芯片已经做进了电子设备中,根本无法更换。这家企业后来因为经营不善被迫退市出售了。任何肯动脑思考的人,都应该明白失败是一个大概率事件,很多小问题都可能导致失败。失败不可能完全避免,但关键是失败之后要有办法很快找出所有原因。为了做到这一点,我们需要假定每一步都有失败的可能性,记录下每一步的结果。