I'm a programmer using the Pomodoro technique and every time I build my project it can take up to a minute. This is something I may have to do several times in a single Pomodoro. I'm wondering what is a good use of that downtime. It seems checking email/IMs is a slippery slope. Are there any other suggestions that won't require a significant context switch when the minute is over?
A minute isn't really a useful length of time, so use it for inconsequentials, rather than get sucked into a new activity. Try:
ie Things you should be doing anyway
I've been reading through The Pomodoro Technique Illustrated recently, and it includes advice that isn't directly targeted at this issue, but I think it can be applied in a useful way.
One of the ideas that it discusses is what to do when a task is completed before the pomodoro timer is up. The author suggests finding a way to stay related to the task, as opposed to moving on to the next task or simply taking a break early. He refers to it as "over-learning" (I'll try to edit in a quote from the book when I have it in front of me.
I think this can also be applied to intermittent wait times in the project. While waiting for a blocking process like a compile/build/data migration, review the work you've done in the current pomodoro, and the task at hand. Ask and answer questions about the task and your solution -- "Am I on the right track?" "Can I get this done in the number of pomodori I estimated?" "Does this task call to mind something I've forgotten to add to my activity inventory?"
In other words, I recommend using those times as an opportunity for meta-work that is still on task for the chosen activity.
Staying in the designated activity is (for me, and for the author of that book) a very high priority piece of the Pomodoro Technique. Everyone tweaks the plan to suit their needs, but to me this is one of the aspects that makes the technique what it is, that I try hard to employ.