来源:涵的硅谷成长笔记(ID:HanGrowth)
编辑:放开那芒果
作为一名合格的码农,我是喜欢写代码的。可是,最烦的就是:修Bug。
话说我们公司的QA(质量保障部门),也真是神通广大啊。各种犄角旮旯的小问题,都能给你找出来。
所以,他们有个小名:“宝藏部门”,每天都在我们写的代码里寻宝。
我怀疑他们的目标就是,“我要送你999朵玫(B)瑰(U)花(G)”。
“喏,你的Bug~”,一旦QA发现问题,马上就会塞给负责的码农处理。
我之前吧,嫌烦。做那种好几周的大项目啥的,我都等全做完了之后,再让QA来查。QA把问题全都找到,之后我再一口气把Bug都修掉。
合作无间嘛!我心想。
直到最近,我的好基友Tik告诉我:Han,你这么做事,效率其实很差。
啊?怎么会这样。
Tik塞给我一本很有名的书,叫做《Scrum》,Jeff Sutherland写的 。读完之后,我知道了原因...
造车的故事
生产同样类型的车,世界各地的工厂,用的时间是不一样的。
根据统计(Holweg and Pil, 2004),我们可以看到北美,日本还有欧洲车企,对一辆规格相近的车,生产所需要的时间。
日本最快,欧洲最慢。尤其是,在1989年的时候,日本车企,平均只需要16.8小时就能下线一辆车,而德国需要35.5小时。
单看这个数据,你可能会觉得,“慢工出细活”嘛,小日本造车的质量肯定比不上德国车。
然而,还有一个数据,是统计对100辆刚刚出炉的新车,有多少个小毛病,比如有些焊接点没有焊牢啦,有什么地方组装的时候,没对齐之类的。
结果发现,日本车平均只有34个缺陷,而欧洲车居然有78.7个缺陷。
要知道,这里是比较那些,规格类似的车,质量的“标准”是尽可能统一的了。
为什么会有这样的问题呢?
原来,这跟两个国家工厂的做事方式有关。
在当时(80年代末),日本丰田的生产线是这样的:每个工人都有一个急停按钮,按下之后可以停止整个生产线。
所以,工人们在装配的任何时刻发现问题,都会按下这个按钮。之后,大家就会齐心协力,解决问题,当场搞定。之后,再继续生产。
那当时的德国车厂呢?他们会一股脑的,把所有的生产流程都跑完,最后送到“质量检测”部门,逐一发现全部问题,再返厂修理。
额,这完全就是,另一个翻版的我嘛,跟我写程序一样一样的。
结果就是,欧洲造车的速度比日本慢了一倍,而质量也更差。
原来,当场发现问题,当场处理,效果这么的好!
这关键就在于:即时反馈。关于这一点,还有另外一个故事:火箭。
火箭轨道
在硅谷,喜欢航空航天的人可是很多的。
比如,NASA(美国宇航局)就在这边有一个大的研发中心,而且,SpaceX老板马斯克也在这嘛。
你们知道,火箭发射是有自己预计轨道的吧?那你知道这预计有多准么?
答案是:即使对于一个十分成功的发射,火箭也只有3%的时间,飞行在预订轨道上。
他的实际飞行路线是这样的:
红色假设是预订路线,黑色就是实际路线。
其实,火箭从发射出去之后,就一直在偏离轨道。但是,火箭的自动控制系统,又会及时的采集信息,并提供立即的反馈,然后火箭自己会马上调整方向,以免飞偏了。
不然的话,火箭会直接摔在地上,成为巨大的烟花。
原来,有很多错误,是不能等到最后再修复的!“即时反馈”不仅解决问题速度快,还会避免一些更大的,难以挽回的失败。
你可能会觉得,软件和硬件,情况不一样嘛,直接用硬件领域的结论过来,不科学。
那咱们再来看一个软件行业的故事。
Palm的码农统计
多年以前,有一个东西叫做PDA,就是所谓的智能手机前身。现在的00后估计是从没听说过这种东西了吧。
当时,在硅谷有一家公司,叫做Palm,就做这个的。
Palm有一套Bug记录系统,可以记录:1. 发现Bug的时间,2. Bug修好的时间,还有3. 涉及到的代码是啥时候写的。
他们没事闲的,对整个公司几百名码农的记录进行统计,想知道一个Bug多久会被修好。
一个有意思的结论出现了,如果一个Bug,在写程序的当天被发现,那只需要一个小时就能修好。
但是,如果隔了3周,同样还是那个Bug,码农则需要好几周的时间修好。
统计来看,隔3周修Bug所耗费的时间,是当天就修好所需时间的,24倍。
哇。
原来我之前浪费了这么多时间!
这么想想还真是啊。写代码的当天,思路是最清晰的嘛。
随着时间的推移,自己怎么想的早忘了。再加上懒癌 拖延症,积攒的Bug一多,有些小的Bug更不想修了,大的Bug修起来还有心理焦虑。
就这样,自己陷入了无尽的深渊。
24小时法则
“即时反馈”非常重要。发现问题,立即指出,马上修改,就可以达到最佳的工作效果。
总结起来,就是“24小时法则”。在做任何工作的时候,都一定要及时反馈问题,并在24小时之内做好修补工作。如果不及时修补,等以后再来搞,那就会浪费时间。
这一点同样适用于学习。你做完习题,要是发现问题,一定要尽快搞懂,否则你这个题目真的就白做了,浪费时间。
时间都浪费在哪了呢?答案是:Switch Context -- 场景切换。
在做每一件事的时候,咱们脑子里,都会形成一个环境,提供完成任务所需的来龙去脉,也就是所谓的Context。
比如,你去打篮球,你脑子里想的都是,怎么抢断,怎么投篮,动作到不到位。你肯定不会去想,自己工作里面的某个算式做的对不对。
每次,你一旦切换工作内容,你脑子里的Context也就会被随之切换。而根据生理学研究,切换Context,是要付出时间成本的。因为大脑需要时间去适应。随之,你的工作效率就会变慢。
这样,咱们也可以引申出来另外一点,那就是:每次只做一件事,效率最快。
真的,不要再去追求多任务处理了,你一件件事情的做,会比同时做多件,更有效率,心情也会更爽。
哦,对了,及时反馈还可以用在和人的交往上。
比如,你发现你男票哪里做的不对让你不爽了,请你,一定要,立即告诉他,而不是等100年以后翻旧账。因为这样,只会减慢他成长的速度,让你越来越气...
好了,我的QA又拽我去修Bug了,今天就酱~
联系客服