代码改变世界

番茄工作法:让时间变成你最好的朋友

2016-11-11 17:38  追忆似水流年  阅读(392)  评论(0编辑  收藏  举报

在我们所有的对手中,最强大的是时间。面对时间,我们丝毫没有欺骗的机会,时间一分一秒的流逝,最终的胜利者总是时间。我们经常会觉得"哦,两天过去了,任务丝毫没有进展,明天就是截止日期了,该怎么办?"我们经常忙于应付一个接一个的任务,没有时间去学习充电,享受生活,并由此陷入很大的焦虑情绪。随着社会不断发展,工业文明极大地丰富了人际间的交流手段以及获取信息的手段,我们的时间利用效率却变得越来越低了。沉下心思专心做一件事情,对绝大多数人来说已经变成一件不可能的任务。究其原因,主要有两个:

  • 干扰太多。人们不能专心把一件事情做完后,再去做另一件事情。经常是正在全神贯注工作的你,突然收到一封邮件,接着放下手头的事情,回邮件。发出邮件后,切换回原来任务。每一次任务切换,往往要花更多的时间完成原来的任务。(平均每次切换要使原任务增加25%的时间。引用3、 4)。设想一下,很多人一天要查看邮件50次、100次,还有MSN、电话等等。
  • 缺少明确的目标和优先级。所有时间都在应付紧急任务,不停地救火。这些紧急任务可能来自于老板、团队其他成员也可能来自于家人、朋友。为了应付新的紧急任务,经常要放下手头工作,在完成新任务过程中又出现中断,最终在不停的任务中断和切换中迷失了方向。一天下来不知道忙了些什么。

排除干扰,确保首先完成最高优先级的任务,是提高个人时间利用效率必须解决的问题。这与敏捷软件开发(Scrum、XP、Lean)要解决的问题何其相似。针对软件开发中的类似问题,九十年代起Ken Schwaber、Jeff Sutherland、Kent Beck、Martin Fowler等大师们提出的敏捷开发解决方案,其中包括时间箱、不受干扰的迭代、具有优先级的代办任务列表、拉动(Pull)任务、承诺、计划与反省等等。无独有偶,从九十年代初开始,意大利人Francesco Cirillo也基于相同的策略设计并发展了番茄技术(The Pomodoro Technique,Pomodoro意大利语"番茄")来管理我们的个人时间。用到的工具很简单,一个厨房定时器(Pomodoro Timer),三个简单表格(当天任务列表 To-Do,任务清单Activity Inventory和记录历史数据的表格Records)。

 

番茄时段

在敏捷开发中一个迭代的周期通常是一到四周,番茄技术的一个迭代是25分钟,称为一个番茄时段。跟敏捷开发的迭代类似,在一个番茄时段开始时需要从当天任务列表中找出目前最高优先级的任务,然后不受干扰地去完成该项任务,一直到定时器的铃声响起。每个时段结束后可以有三五分钟时间自由支配,然后再开始新一个时段。在敏捷开发的迭代过程中,团队只会集中精力完成当前迭代中的任务,不会对新的任务需求做出响应,所有的新任务都放到产品 Backlog。在番茄时段中,个人也是采用相同的策略,在紧急情况下,新的任务会放到当天任务列表,作为一个当天的一个未计划任务;而一般的任务,只需要在任务清单上加一个新的任务项目。然后不受干扰地继续当前的工作。即使任务完成时,定时器还没有响,处理方法也很简单,用剩余的时间去"重构"完成的任务,使它更好一点儿。

工作日程表

以下以一个使用番茄技术的程序员的工作日程表为例。

 

在这个日程表很好地融入了戴明环PDCA(计划Plan;执行Do;检查Check;纠正Act)。每一天总是从计划番茄时段开始,最后一个番茄时段以分析反省结束。每天的历史记录一般包括计划执行情况、未计划任务情况、估计与实际,干扰次数,干扰内容等等。通过这些历史数据我们可以很容易地观察自己:

  • 计划执行是否有效
  • 估计是否准确,偏差有多少
  • 未计划任务有多少,分别做什么
  • 工作中的干扰多不多,主要干扰有哪些

通过切实的数据对自己的时间利用情况有了清晰的了解后,我们就可以在反省中有针对性地设计解决方案。如此不断反复时间效率就会不断得到提高。

消除干扰

番茄技术最大的好处是能够帮我们集中精力,消除干扰。每个番茄时段只有25分钟,除非是十分紧急的情况,一般情况下都是可以在完成当前时段后再去响应。通常我们会遇到两种干扰:

  • 内部干扰,主要是自己想做某些事情,比如喝水、查邮件、网上聊天、上网等等。针对内部干扰,主要有两种解决方法,第一种就是有针对性的计划一些处理这种任务番茄时段,比如上面日程表中的专门用来处理邮件的时段;另外一种方法就是利用番茄时段之外的时间,比如那些自由支配的时间以及午饭时间。
  • 外部干扰,比如电话、同事来问问题等。与内部干扰不同,外部干扰需要与其它人打交道,因此需要采用不同的策略。具体策略是"通知Inform,商量Negotiate,晚些时候响应Call Back"。可以用留言机接电话,邮件也可以暂时放到收件箱中稍后处理。如果有人当面过来,可以告诉他:"我先忙完手头工作,二十分钟后去找你。",然后继续手头的工作。晚25分钟或者一两个小时对通常意义上的紧急任务来说,是可以接受的。对对方来说需要等待25分钟可能不是什么很大的问题,但是对自身来说却有极大的意义,我可以继续专心把我手头上最重要的事情。当然很难避免的,也会出现不得不取消当前番茄时段,着手处理十分紧急的任务的情况,这其实跟在 Scrum中取消当前Sprint一样,只有万不得已才会为之。

每当有干扰的时候,都要在每日任务列表上做一下标记,如果需要,同时在每日任务列表(如果是紧急任务)和任务列表上填加一个未计划任务。把干扰放入任务列表使得我们有机会重新思考一下每一个任务是否那么重要,是否真的需要,很可能过了一段时间我们任务列表上的很多任务变得不必要了。另外,所有的干扰都被显式地标记在每日代办任务列表和历史记录表上。每天都可以反思每天的干扰次数以及内容。干扰数据能够是我们更有意识地关注时间效率的问题,促使我们通过重新计划,调整策略等等方式把干扰降到最低。比如对于电话太多的情况的一个有效的策略是,每天应该固定一段时间把电话放到留言,到会议室去办公,然后告诉其他同事,在紧急情况在哪里能够找到自己。而对于邮件太多的情况,可以多安排几个番茄时段集中处理邮件。

任务计划与估计

番茄技术的另一个好处是给我们提供了一种全新的估计和计划的手段。在任务列表上的每个任务都需要有一个规模估计值,这个值其实是标明完成该任务需要花的番茄时段的数目。由于每个时段都是不受干扰的"纯"投入的时间,因此可以通过番茄时段数目有效地把任务的规模与时间建立联系。通过把实际花费的番茄时段数目与估计值相比较,分析,可以帮助提高自身的估计能力。同时,通过分析历史记录中非计划任务的数目以及内容,也可以帮助我们对自身的时间利用情况有更好的了解,从而更有助于计划个人的时间。

转变时间的观念

番茄技术能够改变我们对时间的态度。时间变成了一个个番茄时段。每一段25分钟,滴答滴答从25分钟减到0。从而给我们一种紧迫感(Eustress),督促我们尽快完成任务,尽快做决定,从而有效的提高效率。效率的提高能够有效地提升自信心和成就感。