Eggs, Tomatoes and Time Management

30 March, 2009 (16:47) | Craftsmanship, Productivity, Software development

It's evening, and my home office door is closed. No email or IM clients are running on my computer. My daughter is asleep, my Significant Other is aware that I'm working. I wind up the egg timer, the clock starts ticking. My mind quickly enters a state of Flow. 25 minutes later the timer rings. The feeling is akin to waking up from a dream. I stop working, and jot down a mark in my task list. A solid unit of work accomplished; another egg completed.

eggtimer

I have trouble maintaining a consistent level of productivity - especially for side projects that I work on in my spare time. Both at work and privately I find that my productivity fluctuates wildy. Sometimes I'm able to crank out quality stuff for 10 hours straight, while other days simply vanish in trivial distractions.

A possible remedy to this problem presented itself recently in the Pomodoro Technique ("Tomato Technique"), a time management method I'd never heard of before last week. I've currently only used this system for a few days, but the early results are quite promising.

Getting started is fairly simple:

  1. Set up some sort of timer. A software clock works, but a physical clock is better.
  2. Select a task that you need to accomplish, and remove possible distractions.
  3. Set the timer to 25 minutes.
  4. Work on the task until the timer rings.
  5. One "tomato" is now accomplished for the task - add a mark to the task record.
  6. Take a short break before restarting the timer - 5 minutes or so.
  7. Take a longer break once every four tomatoes.

To me, the most obvious benefit of the technique is that it forces you to timebox and really focus on your work. One resulting effect for me is that I get into the elusive "flow" state much earlier than before. There's more to it, though.

The regular breaks provide an opportunity to periodically step back and look at the current task from a different perspective: "Am I going about this in the wrong way? Maybe I'm even solving the wrong problem?" This is valuable - it's easy to lose sight of the larger picture when you're head down into the specifics of a task.

Over time your ability to estimate future tasks is likely to improve, since you have a more solid appreciation (and written record) of how much effort your past work took. Besides, it's generally a good idea to measure your work in abstract work units rather than directly in clock hours (the Poker Planning Game is another example of this phenomenon).

The final benefit of the system is the moral boost you get from continuously marking down those completed "tomatoes" (I personally refer to them as "eggs", since I use an egg-shaped timer). Think about it; don't you feel good when you complete a feature, article or bug fix? I find that this technique gives me that same satisfaction every 30 minutes - I may not finish that new feature tonight, but I know that every egg takes me closer to completion.

It will be interesting to see what this does for my productivity long-term. The next step in the technique is to actually start estimating future tasks in tomatoes instead of hours; I'll try that once I've gotten used to the basic workflow. I'll probably post an update in a few weeks.

pomodoroTechniqueLogo

If you found this interesting I strongly encourage you to visit the Pomodoro website and read more yourself; there's a nice, free eBook summary available there (pdf).

UPDATE: I wrote a follow-up post a few months later.

Comments

Comment from Byron Saltysiak
Date: May 30, 2009, 3:41 am

Interesting. I’ve experienced something very similar over the last few months, except instead of a timer I have a train. I have about 20-30 minutes (each way) on the train during my commute and I’ve found myself getting into a flow nearly instantly and incredibly focused. I built a somewhat large skunk-works application for my “real” job this way in about a month.

Only a few times (maybe twice?) have I had to nearly jump off the train without finishing my chosen task. It’s amazing how fast I’ll start wrapping things up when I’m one station away since there really isn’t a “snooze” on the alarm when it’s a train.

One piece that my situation adds, and I think helps me, is that I’m disconnected during these sessions. The great thing then is no email, no messaging, no incidental surfing. I’ve also downloaded all of the documentation that I need generally and find myself looking through other people’s gems for examples when I get stuck – alas reading other people’s code was something I rarely did before. Of course, the problem is every now and then Google would be really nice but at worst I can table something and come back once I have researched it better.

Comment from Thomas Kjeldahl Nilsson
Date: May 30, 2009, 6:42 am

Byron – thank you for sharing. Working during your train commute sounds like very effective timeboxing!

Write a comment