I’ll be the first to admit that my greatest weakness is time management. I’m a procrastinator extraordinaire. (If you doubt me, simply check the time between posts on this very blog.)
I find it difficult to get started on a huge project if I know the project is going to be huge up front. It’s even harder at the tail end of a project, when all of the fun stuff is done and all that’s left is the annoying little tweaks and bug fixes needed to make a program ‘production ready’. Project Waldo1 is in that very phase right now. When the fun stuff is done, my velocity drops to near zero.
The biggest problem seems to be a lack of internal feedback on time use. If I spend seven hours coding and one hour conferring with colleagues, that’s a productive day. If I spend one hour coding and seven hours conferring with colleagues, that’s an unproductive day. If I spend eight hours reading programming books, that’s a supremely unproductive day (except for the professional development idea). But I tend to gravitate toward lack of productivity, because, frankly, it’s more fun than keeping my nose to the grindstone, and I tend not to notice that I’m not being productive.
That’s where the Pomodoro Technique comes in.
For those of you who haven’t heard of it: the Pomodoro Technique is a time management system, based around indivisible units of time (“pomodoro”2). A standard pomodoro is 25 minutes, followed by a 5 minute break.
The advantages are many. First, and foremost, there is immediate feedback if my work begins to slow down again. If the end of the day arrives and I’ve only completed three pomodoro, I know that either I’m spending too much time goofing off or I’m being far too often interrupted. Second, the system reminds me to take frequent breaks. When I do get in the zone, I tend to not leave my chair for hours at a stretch (no pun intended). The bell gets me out of the zone and onto my feet. Finally, the recording system doubles as a to-do list; as I think of things I need to do, I write them down, and I can go back and prioritize later. Without a system, everything tends to either be ‘priority 1′ or completely forgotten.
It also works because it appeals to my sense of completionism. If I see a goal on my list, I want to complete it. The Pomodoro Technique literature suggests tasks be broken down into approximately 3-hour increments (5 to 7 pomodoro). I can see my progress toward those goals; I can’t really see the progress toward the end. At any given time, I know what I’ve done and what is left to do.
I know that the Pomodoro Technique seems to have been further refined and polished among the developer community. I’m not really using those refinements yet; I’m “playing by the book”. The system as written works for me, and while I may be able to adjust it later to better fit my needs, I’ll try it as it is for a while.
FOOTNOTES
1. It’s a mapping application. I’m a GIS developer, even though it’s not really my passion. But I can still make corny puns. ↑
2. The plural of “pomodoro” is an open question. Proper Italian is either “pomidoro” (from “pomo d’oro”) or “pomodori”. “Pomodoroes” would probably fit in English, but doesn’t ring well. According to a colleague, the plural of “pomodoro” is “pomodoro” (or maybe it’s “sharpei”, I’m not sure). ↑