BT

“番茄”让时间变成我们的朋友

作者 滕振宇 发布于 2009年12月16日 | ArchSummit 全球架构师峰会(北京站)2016年12月02-03日举办,了解更多详情!

编者按:InfoQ中文站不久前发布了两篇与Pomodoro时间管理方法相关的新闻《用“蕃茄”来减轻时限压力》和《Pomodoro-敏捷方式的时间管理》,本文可算是前文的延伸和实践验证。作者是AgileChina 2009大会上的讲师,本文即来自他在自己团队内部实践经验的总结。

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

  • 干扰太多。人们不能专心把一件事情做完后,再去做另一件事情。经常是正在全神贯注工作的你,突然收到一封邮件,接着放下手头的事情,回邮件。发出邮件后,切换回原来任务。每一次任务切换,往往要花更多的时间完成原来的任务。(平均每次切换要使原任务增加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),督促我们尽快完成任务,尽快做决定,从而有效的提高效率。效率的提高能够有效地提升自信心和成就感。

关于番茄技术的详细介绍可以参见它的网站(引用1)以及The Pragmatic Bookshelf的新书《Pomodoro Technique Illustrated》。

引用

  1. The Podomoro Technique
  2. The Pompatus of Pomodoro, PragPub Issue #5, November 2009
  3. Manage Your Effort Not Your Time, Harvard Business Review, October 2007
  4. Perfection: An Unrealistic Goal - The Challenge of Being Agile

作者简介:滕振宇(Daniel Teng),Irdeto BSS高级软件经理,CSP,敏捷教练。创建并领导Irdeto BSS上海研发团队,负责大型付费媒体计费以及客户管理系统软件产品的开发。


给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

如何实现呢? by xu huisheng

如何真的可以把每个任务都细化到25分钟就好了,准确的估算太难了。

by Cai John

very good,一定要实践一下。

跟个机器人一样 by im Kevin

阅读个文章都得写到日程上去。。。做人这样累不累呀

Re: 如何实现呢? by Teng Daniel

其实我自己的经验来说,我并不需要把每个任务细化到25分钟,我只是估计每个任务需要几个番茄时段能够做完。这一点跟Agile不太一样,粒度可能大一些,我觉得更有点儿类似User Story里面的Theme(主题故事),需要几个迭代才能完成的功能

Re: 如何实现呢? by xu huisheng

如果是只做业务模块开发,熟悉的功能容易估算准确,在对陌生技术技术进行调研,试探性钻探的时候,具体时间尤其不好掌握。

Re: 如何实现呢? by Cai John

我的理解是:跟在Agile中一样,估算“准确”是没必要也不可能的。

Re: 如何实现呢? by Jun Ran

其实不一定非要25分钟,45分钟也可以,实际上我觉得45分钟更加可行;

关键是有一段连续不受干扰的工作时间;

Re: 如何实现呢? by wang sylar

不太好弄。

那个工作日程表是用什么软件做出来的 by xu huazai

虽然我不一定能100%按照日程表来做事,但能让事情比较清晰有条不紊的进行到是个不错的主意。

Re: 如何实现呢? by Teng Daniel

每次去取最重要的任务,然后不受干扰的做25分钟(或者45分钟),这其实并不难

Re: 如何实现呢? by Teng Daniel

XP里面的钻探试验Spike是有一个前提的就是一定要加上TimeBox,因此即使是钻探试验也是可预测的。Pomodoro Technique一样也是要有Timebox,有了Timebox就有了紧迫感,从而更容易的获得结果
如果是只做业务模块开发,熟悉的功能容易估算准确,在对陌生技术技术进行调研,试探性钻探的时候,具体时间尤其不好掌握。

这种方式很有效,关键在于坚持 by Yao Sapphire

通常认为时间的预估难以准确,实际上一开始不需要准确,但是即使不准,也要预估,不论是熟悉的功能还是进行新技术难点的研究,都要进行,这个时间长了,就会有一种直觉,时间也会越来越准确。。。关键在于,你要坚持下去。

此外,定时器的存在,前提是一定要有计划,定时的作用是你按阶段性的,非打扰性的休息,搞编程的人可能都有这样的经历,出去抽个烟,或者蹲个WC,往往会再一些难点上有一些idea出现,这个通常就是这个定时器的作用,到点一定要休息,短暂的非干扰性的休息,是非常有益的。

总之,这个方法是有一定科学性的,麻烦的地方就在于开始实践的时候,比较难以树立信心和充满质疑。只要能顺利坚持过1-2个月,这其中的奥妙自然会有所体会。。

另外,这个番茄的方法,是对编程提出的,事实上,有个比较一般的方法,和这个番茄性质一样,同仁们可以google之,关键字就是 (10+2)*5

Re: 还是需要自己去实践 by 吕 新科

持怀疑的,不烦看完Pomodoro tech,然后尝试几天,或许你就会改变态度。鄙人实践了2周,觉得的确提高了自己的集中精力做完一件事情的能力。

更多的还是看个人习惯吧 by Lin Jason

不过全天任务的确定还是应该的

太细节的话不一定安排好就能顺利执行
被迫中断计划 感觉相当糟糕……

Re: 更多的还是看个人习惯吧 by Teng Daniel

不过全天任务的确定还是应该的

太细节的话不一定安排好就能顺利执行
被迫中断计划 感觉相当糟糕……

我现在的体会是,不一定要把一天的任务全部都列出来,只要排好优先级,然后每次完成一个任务,到Activity Inventory里面取最高优先级的任务。这样更加有效,适应性更强,而且也不需要花很多功夫计划

计时好方法 by chen jiajun

决定去买个番茄,挺好

Re: 跟个机器人一样 by Wu Junyin

对,太细节,太计划性了。感觉有点过度计划了。

Re: 还是需要自己去实践 by Wu Junyin

严格要求自己同样会有所回报。
不过我不喜欢“番茄”,所以我连尝试的想法都没有。

不过我不排斥其他人尝试哈。

等你们按小时拿工资的时候你就知道了 by Nate zheng

。好比现在给你架飞机,有什么用?

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

19 讨论
提供反馈
错误报告
商务合作
内容合作
Marketing
InfoQ.com及所有内容,版权所有 © 2006-2016 C4Media Inc. InfoQ.com 服务器由 Contegix提供, 我们最信赖的ISP伙伴。
北京创新网媒广告有限公司 京ICP备09022563号-7 隐私政策
BT