我修复了999个漏洞之后,才懂“敏捷工作法”
2020-12-22Han
Han
世界各地的工厂生产同样类型的汽车,所需要的时间是不一样的。根据剑桥大学某学者发表的《超越大规模及精益生产》中的统计,美国、日本,还有欧洲的车辆制造企业,生产一辆规格相近的汽车,日本的企业所需时间最短、速度最快,欧洲的企业较慢。尤其在1989 年,日本生产一辆车平均只要16.8 小时,欧洲则需要35.5 小时。
“ 慢工出细活”, 你可能觉得日本汽车的质量肯定比不上德国。然而, 还有一个数据是对100 辆刚从工厂下线的新车的缺陷检测统计。
结果发现,日本生产的汽车平均有34 个缺陷,而欧洲所产的汽车居然有78.7 个缺陷。这里的比较都是基于规格相类似的车,且检测标准相对统一。那为什么会有这么大的差距?
后来,经过仔细观察和研究发现,这跟两个不同地区工厂的做事方式和风格有很大关系。
20世纪80年代末,日本车厂的代表——丰田公司的生产线是这样工作的:生产线上的每个工人,手边都配有一个急停按钮,按下之后,整个生产线会立刻停止运转。工人在装配的任何时刻发现问题,都会按下按钮。整个生产线一停止,所有人马上聚到一起,一同察看、解决问题。问题排除后,再开动马力继续生产。
那当时的欧洲代表德国的车厂呢?他们在生产线上也配备了紧急停止按钮,但这个按钮并非随便可以按的。按钮是为了防止工人出现意外,也就是說当有重大事故发生,工人才会去按,大多数时间形同虚设。所以,车辆组装厂在生产汽车时,会开足马力,一刻不停地把所有生产环节和一切流程跑完,直到车辆下线。之后,再把整车送到质量检测部门,由那里的工人技师根据标准逐一排查,检查发现所有小问题,再把整车送回车间修理。
欧洲生产线的做法,完全就是另一个翻版的我。我写程序做项目时便是如此,小漏洞不想修,等到做完,再一次性解决。结果如你所料,欧洲车厂的造车速度比日本车厂整整慢了近一倍,质量反而更差。原来,当场发现问题、立即着手处理,即所谓的“敏捷工作法”效果如此惊人。而这个方法的关键在于即时反馈。
根据现代的技术,火箭发射要按照既定轨道飞行。这是科学家根据各种物理定律计算出来的平滑曲线。那你知道在实际发射中,火箭的实际路线和既定路线有多少重合的部分吗?答案是:即使算得上非常成功的发射,火箭也只有大约3%的时间,是飞行在预定轨道上的。
实际上,火箭发射出去之后,就一直在偏离轨道。但是, 火箭的自动控制系统会采集实时信息,即时提供反馈信号。控制系统在接到信号后,会进行快速计算,然后通过改变喷气方向等方式,让火箭调整方向,以免飞偏。否则,火箭就会偏离轨道,并由于各种原因摔在地上,变成巨大的“烟花”。
原来, 有很多错误是不能等到最后再修复的。“即时反馈”不仅可以让问题解决的速度更快,还会让我们避免一些更大甚至难以挽回的损失。
当年,地处硅谷的Palm 公司,主要研发PDA(个人数字助理),包括硬件和软件系统,和苹果公司为竞争关系。Palm公司自己有一套漏洞记录和统计系统。这个系统可以用来指导整个公司的开发进展。该系统可以记录漏洞的三个关键事件节点:漏洞被发现的时间、漏洞被修好的时间,以及漏洞相关的代码是何时写入代码库的。
为了准确了解整体情况,公司对几百名软件工程师的漏洞历史进行统计,想知道一个漏洞多久会被修好。一个有意思的结论出现了:如果一个漏洞,在写程序的当天被发现,那只需要一小时就能修好;但如果隔了一段时间,如3 周后,同样还是那个漏洞,软件工程师则需要一天甚至好几周的时间才能修好。
从统计来看,隔3 周修复漏洞所耗费的时间,是当天就修好所需时间的24 倍。原来我之前浪费了这么多时间!
写代码当天,自己的思路是最清晰的。随着时间的推移,当时怎么想的可能早已抛之脑后。再加上懒惰和拖延,积攒的漏洞一多,有些小的漏洞可能就更不想修了,大的漏洞修起来还有“心理焦虑”相伴……就这样陷入人为的“陷阱”中,修复漏洞所需时间被拉长。
敏捷工作法强调即时反馈,发现问题,立即指出,马上修改,这样可以达到最佳工作效果。
后来,Jeff 博士把这个方法总结起来,就是“24 小时法则”。在做任何工作的时候,一定要及时反馈问题,并在24 小时之内做好修补工作。这一点同样适用于学习。放学回家做当天的习题,做完后,若发现错题或不懂的地方,及时搞懂。否则,以后再回过头来看这个问题,可能连当时哪里不懂都忘记了,重新思考会浪费更多时间。
如果不及时反馈,我们在学习和工作上把时间都浪费在哪儿了呢?答案是:场景切换。
脑科学和心理学研究发现,人们在做每件事时,大脑里都会形成一个“环境”,这个环境把思考所需要的神经元和记忆串联起来,给我们提供完成任务所需的知识,也就是事情的来龙去脉,即所谓的“场景”。而且大脑还会自然地把其他和当前任务无关的事情屏蔽掉。
一旦切换工作内容,脑子里的场景也就会随之切换。而切换场景,是要付出时间成本的。因为大脑需要时间去调配相关的“资源”。
总而言之:每次只做一件事,并且争取把事情做完、做好,做到没有瑕疵,这样整体效率会达到最优。不必追求多任务同时处理,用心地、一件一件地去做,会比同时做多件事情更有效率,心情也会更爽。
(摘自《硅谷思维:互联网新人必修课》,电子工业出版社,本刊有删节,魏克图)