The Pomodoro Technique
If you’ve walked by my area in the couple months or so, you may have noticed that I sometimes have a massive stopwatch displayed on my computer. I was consuming some content produced for the Agile 2008 conference, and came across a very interesting article about the Pomodoro Technique, a way to think about time and work differently. Staffan Nöteberg has a draft of his new book about the system, and can probably explain it more coherently than my attempt in this post.
What is it?
The Pomodoro Technique is a system that Francesco Cirillo created and used when he was a student to help him focus. Staffan then used this technique successfully in software development, and believes that it can be applied to most things that people do. Pomodoro comes from the Italian word for tomato, which was the form of his original timer.
For the system, you just need a pen, paper, and a kitchen timer. I’m using this online stopwatch and using simple text documents to replace the pen and paper. The online stopwatch is nice because it has an alarm that rings through my headphones so I don’t bother anyone.
How do I use it?
So anyway, a pomodoro is a set period of 20 to 35 minutes in which you focus intently on the task at hand. After each pomodoro, you take a 3-5 minute break to stretch, relax, or just kind of space out. Nothing mentally challenging should be done. When you do four pomodoros back to back, it’s called a set. After each set, you should take a longer break (15-30 minutes.) This is an ideal time for lunch, running errands, making non-work related phone calls, etc.
The idea here is that the mind works best when single-dispatched, and that changing work habits to accommodate this reality increases effectiveness.
The more philosophical ramification is that instead of worrying about the passage of time (becoming), you simply work and record the activities. As Staffan says in a summary blog post:
Anxiety about not being done before some point of time is eliminated with Pomodoro Technique. One completed Pomodoro is the result. One more X marked next to the activity proves that I’m climbing higher. And the systematic reducing of interruptions gives me the opportunity to plan what used to be event driven actions.
I really think that this speaks to the sustainability of the work. Staffan noted that it reduces procrastination.
Before the pomodoro begins, you look at a list of tasks that you created at the beginning of the day and pick the best one to work on next. If you get distracted by an internal or external distraction, you need to 1) recognize and stop the distraction 2) write down the distraction so that you can reevaluate it at some point 3) get back to the pomodoro as quickly as possible.
Once a pomodoro begins, it must ring. This means that if you start working on something, you should work on it for the whole pomodoro. If you finish five minutes early, take the remaining five minutes and “overlearn” by ensuring you understand the solution completely. In the case of coding, perhaps you look over the comments to ensure that they make sense, or do some quick refactorings to make the code base more readable.
The first time I tried this, the internal distractions were quite numerous (“drink water”, “check bank balance”, etc.) However, once you can separate your desire from actually implementing the thing, your work goes a lot smoother. Really, this works with the Getting Things Done system by dumping things that seem important into another bin before actually dealing with them. However, if you don’t write down this distraction or review it in a timely manner, it keeps coming back. As David Allen would say with GTD, you need to keep the contract with yourself for it to be effective. But once you can file the distraction away, you are ready to get back to work!
Planning your day helps immensely to prioritize what you are working on. This is similar to sections of The 4-Hour Workweek that ask you “if you had a heart attack and could only work two hours today, what would you spend those two hours on and know that you had accomplished something significant?” When things come up during the day (which they invariably do), having a list of things that are important to you helps to put them in perspective. Moreover, by deferring things that are not really critical but merely seem that way, you allow yourself to get in a better rhythm. Ordering tickets to the show or emailing someone real quick might seem really important, but impedes your flow.
The system is simple, meaning that you get the maximum results for minimum overhead. The overhead in this case is winding up the timer and recording what you did. If you already track your time, the overhead is minuscule.
My thoughts
The greatest benefit to me is that instead of thinking in terms of fifteen minute or hour-long periods, I instead focus in terms of what I can do in twenty-five minutes. I think that this is a more natural time period and helps break tasks down a bit better, which helps with estimation. I haven’t gotten to the point where I have been able to estimate the tasks, but Staffan says that this is the next step. This makes sense, as it gives you feedback on how well you are estimating your tasks.
I also like seeing what my progress is like and where exactly I’m spending my time and doing a retrospective each day to see any personal process improvements. In a sense, the system is similar to the Personal Software Process promoted by SEI.
The hardest thing for me so far has been dealing with external distractions (other people.
) I shut off auto-alerts on emails. If there’s anything that can’t wait about twenty minutes, then that person should have called me or walked over. But it’s kind of tough when my manager walks over to chat about work. I can’t just say, “hey, come back in 16 minutes and I will have time for you.” So the result is a major interruption, which cannot be filed as a pomodoro (“a pomodoro is indivisible.”) I don’t have a solution other than to either seriously tell the important person to come back later or to just accept that there will be large but important interruptions at times and to optimize the whole by accepting them.
Part of my early success might lie in the fact that I have primarily been working in a non-team environment since I started the experiment. I found that often focusing for a few more minutes than I normally would have gives me additional insights and I solve the problem quicker. Moreover, taking a quick break helps to clear the mind. Often I see something in the first few minutes of the pomodoro that I missed at the end of the previous one. Staffan also suggests trying this for pairing, with similar results.
I think the real takeaway here is getting in the groove and not spreading your attention too thin. I think that this has been a large realization for me in the past year or so.
Mindmapping
Staffan also suggests mindmapping to more intuitively understand your day and to let the creative side of your brain work. Perhaps I will write more about that in the future, but here’s one that I created that I thought was representative and noncontroversial.
next post: Capistrano completion for zsh under Ubuntu
Sheesh… you try and do the right thing and be proactive with your peeps, and now you’re breaking stuff.
In all seriousness, sounds like an interesting system. The more ‘manager’ I’ve become, the more my day has become completely event driven fire fighting. It has become difficult to buckle down for a morning or afternoon and crank out work products because of this. Maybe this system would help..
Disclaimer: This is a rambling reply. It may not be consistent.
It seems to me that the bulk (entirety?) of the benefit comes from having 25 minute chunks that can be interruption-free without blocking people. If you’re in a leadership position of any sort (project lead, tech lead, database-guy, etc.) this seems like a particularly bad idea because it essentially creates micro-blocks for the coworkers that need your help.
For this to work on a project in which you know things that other people need to know, you’d basically have to tell your coworkers to set up appointments to speak with you.
Maybe that’s an extreme interpretation. Maybe what you’re really after is a perceived office (with walls, and a door). Maybe with a cardboard cutout of an old guy in a suit to create the illusion of a client meeting. The whole point being that you’re trying to enforce the perception that your time is more valuable spent doing whatever it is you’re doing then helping a coworker with whatever it is they’re doing. This is an uneasy state of things if you have Knowledge that needs to be distributed to your coworkers (I promise that you do).
What I’m getting at is that if you’re on a project of size > 1, then you’re probably not going to spend more than half your day in Pomodoro zen. More than that and you’re going to need an appointment system to make sure that you’re distributing knowledge in a timely manner. Maybe that’s what Matt’s take-a-number system was all about.
Ha, yeah the whole manager thought thread was supposed to be abstract to mean any interruption that is pretty legitimate. I figured there was a 1 in 2 chance that you would read that.
You could potentially use it to batch up certain tasks, but perhaps just collecting metrics would be helpful for improving personal process, whatever you deem that process to be. Perhaps you realize that certain personal or external interruptions happen more often than others and you can find some way to reduce them by
To Keith, I agree that knowledge can form a bottleneck and that specialization is to a degree unavoidable or desirable. That being said, I could be better at managing how I explained things. As a blatant appeal to authority, Staffan gives the following examples in his book draft:
“The strategy for handling external interruptions is a four stage rocket:
1. Inform – I’m in the middle of something.
2. Negotiate – is it OK if I come back to you on Friday?
3. Schedule – I write the activity down and later on, I plan it for a future Pomodoro.
4. Call back – I do call back as I have promised, otherwise I will not be entrusted with this responsibility anymore.”
“Are we not allowed to communicate with our team mates when we practice Pomodoro Technique? Of course you are! Feedback and communication are two of the Agile cornerstones. And they should be a part of the Pomodoro Technique as well.
But what about tracking external interruptions then? Every team has to find its own culture…. To promote communication within the team, you could decide not to count team-member-to-team-member questions as external interruptions…. This agreement entails an additional responsibility. Before I start communicating with a team mate who’s obeying his ticking clock, I need to consider if I need the answer immediately. Otherwise I use an asynchronous communication channel, such as e-mail.”
There’s definitely a balance to be struck, and as you say, the “Pomodoro Zen” is unlikely to have the intended global effects.
Communication has a value in being expedient, but there are diminishing returns at some point of expediency and the time that you spend on it, depending on the situation. What if you could respond an hour later to most emails and you gained half an hour per day as a result? Would it be worth it? What does your eye flicking down to the new email popup cost you in mental focus throughout the day? It would be great if others clearly state the response they desire and in what time frame. “This will be very worthwhile if I get it by the end of the week, but much less so if later than that since I have the meeting next Tuesday.” Not likely to happen, but something to consider if you are being thoughtful in your communications.
Thanks for the comments, they made me consider even more what I wrote and try to find the answers to things that originally stumped me!
This is really cool, Panatz. Thanks for writing it up. I’m gonna try it out – I’m optimistic that it will work well. I’ll let you know.
A very interesting approach. I see how it would be difficult to be “true” to this if you worked in an environment where you were regularly in contact with people. However, I definitely see a benefit of this if you had allotted a time frame to get things done. This goes back to our discussions of ‘small breaks are actually healthy and beneficial to our working styles’.
Very neat, I wouldn’t mind trying something like this out when I know I have a solid 1+ hours dedicated to writing software, combing requirements, or whatever. If you are going to spend a long period of time on 1 task (or a couple of related tasks), it makes perfect sense to take breaks to keep your mind fresh.
A comment to those talking about making this work with your peers…
On a project not too long ago, we instituted what became effectively known as “quiet hours”. it was a dedicated block of time (i think ours was 1-4pm) that act as a no interruption time period – no email, no IM, no phone, no code reviews. The benefit of this was that the team agreed to set aside that time period each day for focused work. Also, the project lead was there to eliminate distractions coming from outside the team.
I heard a speaker at the Agile 08 conference say, “the best thing a Scrum Master can do for their team is to act as a gate keeper. anyone wanting access to team members will need to get by them.”
I think the Pomodoro technique could work an environment where the team has agreed to something similar to our “quiet hours”. There was lots of joking and complaining at first, but I can tell you that the team got more done when we had “quiet hours”.