来源:http://www.joelonsoftware.com/articles/fog0000000022.html
人的任务切换就像计算机的多任务,顺序处理和多任务处理事务,如果你管理一个人,尽量让他一次只做一件事。
好了,回到管理人更有趣的话题,不是CPU。这里的窍门是,当你管理程序员,特别是任务开关需要一个真的,真的,真的很长时间。这是因为编程是一种任务,你必须在你的头上有很多的东西在你的头上。你记住的东西越多,你就越有成效。一个程序员在全油门的编码是在他们头一次的事情不计其数:从名字的变量、数据结构、重要的API的一切,效用函数的名字和电话,他们写的很多,甚至在他们的目录存储源代码名称。如果你把程序员克里特岛一三周的假期,他们会忘记这一切。人类的大脑似乎把它从短期的内存中移动出来,把它放在一个备份磁带上,在那里它需要永远的检索。
OK, back to the more interesting topic of managing humans, not CPUs. The trick here is that when you manage programmers, specifically, task switches take a really, really, really long time. That's because programming is the kind of task where you have to keep a lot of things in your head at once. The more things you remember at once, the more productive you are at programming. A programmer coding at full throttle is keeping zillions of things in their head at once: everything from names of variables, data structures, important APIs, the names of utility functions that they wrote and call a lot, even the name of the subdirectory where they store their source code. If you send that programmer to Crete for a three week vacation, they will forget it all. The human brain seems to move it out of short-term RAM and swaps it out onto a backup tape where it takes forever to retrieve.