[译]关于多任务的神话
在《质量·软件·管理:系统思维(第1卷)》一书中,Gerald Weinberg提出了一个经验法则,用以计算由于项目切换而引起的浪费。
译者注:Gerald M. Weinberg(杰拉尔德·温伯格)是软件领域最著名的专家之一。他是从个体心理、组织行为和企业文化角度去研究软件管理和软件工程的权威和代表人物。在超过40年的软件职业生涯中,温伯格从事过软件开发、软件项目管理、软件管理教学和咨询,他更是一位杰出的软件专业作家和思想家,最知名的著作包括《程序开发心理学》、《系统化思维导论》等。1997年,温伯格因其在软件领域的杰出贡献,被美国计算机博物馆的计算机名人堂选为首批5位成员之一。这个名人堂至今只有20名成员。为中国读者所熟悉的比尔·盖茨和迈克尔·戴尔,也是在温伯格之后才获得这一计算机界至高无上的殊荣的。
根据Weinberg的计算,哪怕只是在你的工作负荷中增加一个项目,也会严重地影响你的效率。你会损失20%的时间。当你增加第三个项目的时候,你有将近一半的时间浪费在任务切换上面。
即便你同一时间只做一个项目,这种问题也可能会发生。轻易让电子邮件、电话以及即时消息打断你正在进行的工作,其影响可能是深远的,就像BBC的这个研究中所记载的那样:
译者注:BBC(British Broadcasting Corporation)英国广播公司,是一家资金主要来自于英国国民缴纳的电视牌照费且独立运作的公共媒体,也是世界上最大的广播公司,长久以来一直被认为是全球最受尊敬的媒体之一。除了电视媒体,它还提供其他各种服务,包括书籍出版、报刊、英语教学、交响乐团、互联网新闻服务等。
英国精神病学研究院所做的这个研究表明,过度地使用科技会降低工作人员的智力。研究员得出结论:那些常被电子邮件和电话干扰的人,他们的智商会有10个点的下降——跟研究发现的吸食大麻所引起的损害相比,前者是后者的两倍还多。
Kathy Sierra写了一个非常棒的帖子,来比较多任务并行与串行工作之间的差异。一年以后,她又写了一篇见解独到的代表性文章,提出多任务会使我们变笨:
或许这其中最大的问题,就是绝大多数一心多用的人都完全意识不到他们做得有多糟糕。
我们相信,我们能在写电子邮件的同时跟人通电话,而且不会影响沟通的质量。
我们相信,我们能一边看电影一边做家庭作业。
我们相信,我们能在和我们的孩子/配偶/情人/同事谈话的同时上网冲浪。
但是,我们不能!我们必然会在时间、质量、以及深度思考能力各方面都有所损害。
关于程序员在任务切换时的损耗,Joel Spolsky拿它跟电脑做了类比:
这里的奥秘是:在你管理程序员的时候,任务切换会花费很长很长的时间。那是因为编程这类任务需要你在大脑里同时记住很多东西。你同时记住的东西越多,你编程的效率就越高。一个程序员在全力编程的时候,脑袋里面同时记着数不胜数的东西(程序里的一切),包括变量名称、数据结构、重要的编程接口、他们自己写的常用工具函数的名字、甚至是他们存放源代码的子目录名称。如果你送那个程序员去克里特岛休假三周,他会把这些东西忘得一干二净。人类的大脑似乎把这些东西移出了短期的随机存储器(RAM),然后把它们备份到了磁带上;但想从磁带上恢复那些记忆,也许要花上一辈子的时间。
译者注:克里特岛(Crete)位于地中海北部,是希腊的第一大岛,总面积有8300平方公里。克里特岛是爱琴海最南面的皇冠,它是诸多希腊神话的源地,过去是希腊文化、西洋文明的摇篮,现在则是美不胜收的度假胜地。
通常情况下,我会拒绝“同时做多个项目”这样的要求。说“不”也许很难,因为软件开发者往往过于乐观,这是他们众所周知的职业性“毛病”。
我们常常高估自己的能力,而关于多任务的神话让我们的内心更加膨胀。但是,只要有可能,请远离干扰,并且避免同时做多个项目。如果实在避免不了,关于你在多任务并行的情况下实际能做多少事情,请你自己保持清醒的认识,也坦率地让其他项目干系人知道。你很可能会力不从心!
MerlinMann@hotdogsladies在Twitter上发的一条短讯:
“做得好!你把那些‘低优先级’的任务都标记出来了。上帝保佑,你最好把那些完全不值得做的屁事都忘了吧。”
12:43 PM –2012-2-1