高效法则 之 码龙们,你们还在浪费自己的生产率吗?!
《卓有成效的程序员》是ThoughtWorks对于程序员该如何高效工作的经验总结,书中不仅讲述了提高效率的工具,而且根据这些工具为什么能提高效率,总结出几条基本的高效法则:加速法则,专注法则,自动化法则,规范性法则。这些法则使我们能在工作中识别出符合法则的情景,进而改进。
时至今日,这些高效法则依然有效。只是在这本书出版后的6年时间里,各大操作系统都发生了不小的变化,书中讲述的工具,有些已经有了更好的替代品。《高效法则》系列会带着大家沿着大师的步伐,重温各个高效法则,并用目前最新可用的工具进行解说。
在法则和工具之前,我想和大家分享《卓有成效的程序员》的译者序:
消除浪费,始于细节
在一次关于敏捷的讨论中,我说了一句令很多人不解的话:我不要敏捷。和很多话一样,断章取义地理解容易造成误会。我当时说的整句话是:我不要敏捷,我要致力于消除软件开发中的一切浪费。当“敏捷”渐渐变成一个人见人爱的“大词”,越来越多的人开始发现,其实自己要的不是“be agile”(变得敏捷),而是切实地消除浪费,提高效率。
所以,作为ThoughtWorks员工的Neal Ford在他的这本书里闭口不谈“敏捷”,他只是实实在在地告诉你,作为一个程序员,你每天都在什么地方浪费着自己的生产率,以及如何有效地去消费这些浪费。
也许你甚至意识不到这些细小环节上浪费的存在。随便举个例子吧,在你一天的工作中,你有多少次从资源管理器导航到源代码文件夹里查看代码,然后又导航到另一个文件夹寻找文档,然后打开命令行窗口并进入项目目录,以及在密密麻麻的任务栏里找到正确的浏览器窗口?Neal Ford说,这些都是浪费:做这些与核心任务(即软件开发)无关的事情是在浪费生产率。有兴趣知道这些自己每天做无数次的事情还能如何改进吗?
从某种意义上来说,Neal Ford在本书里做的事,正是现代科学管理理论的鼻祖费雷德 泰勒在伯乐恒钢铁厂做过的“泰勒实验”:剖析每个个体日常工作中的每个细节,对细节进行持续优化,通过对细节的改进提升生产率。在钢铁厂,泰勒的科学管理方法让一个搬运铁块的工人每天的工作效率提高了3倍;而在软件开发中对细节的重视甚至能让程序员的效率提升更多,因为人的体力终归有限,而脑力的开发程度还远未达到极限。
这并非痴人说梦,因为ThoughtWorks就是这样的例证。ThoughtWorks有一群天才程序员,只有近距离接触才会发现,这些人之所以能够做到如此高效,很大程度上是因为他们有一些根深蒂固的好习惯,而且不断在细节上精益求精。
从注意每天的细节开始,让自己成为一个高效的程序员,其实每个人都能做到。