Pair programming with tomatoes
Over the last couple of months, our team has attempted to apply the Pomodoro pairing technique to our daily work routine. We’ve been more or less successful, so here’s more information on how it works:
What is Pomodoro?
Pomodoro (Italian for tomato) is a pairing technique that forces developers to split their work time into smaller units. The units of work consist of 25-minute-long sessions with 5-minute breaks in between, and a longer 20-minute break after every 4 sessions. During these sessions, you should be focused on your task and preferably undisturbed (by your other colleagues, Slack, BBC News, etc). After every session, developers switch their driver and navigator positions.
A recommended practice of pair programming is to swap the person typing at the keyboard every now and then. But realistically, does this sound familiar? One person is in the fury of refactoring or performing some other “creative” task, while the other one either takes a snooze or browses Reddit on their phone for new fish tank ideas (definitely not me).
Pomodoro ensures that this does not happen by forcing you to switch the pairing roles regularly, resulting in more productive, focused bursts of work. It also ensures that you take breaks, which prevents losing focus.
As I said in the beginning, we’ve tried this technique in our team with various combinations of developers, and everybody found it very easy to get used to. It is admittedly exhausting, but also very effective, to have these 25-minute-long chunks of work where your only worry in the world is your current task and nothing can distract you.
On the other hand, you have to be careful about following the pattern that Pomodoro proposes. Sometimes even when you’re not in the driving position, you might come up with an awesome solution to your problem that you need to type straight away. If that happens, you shouldn’t “steal” the keyboard from your partner (as it does happen on our team sometimes…), but instead let them know about your idea so they can incorporate it themselves.
Lastly, I’ve found parts of this technique very effective even when I’m working on my own (e.g. writing documentation). You can still use the time management part of Pomodoro even when you don’t swap the pairs.
P.S: There are a lot of handy apps that have pre-programmed timers that follow the Pomodoro time pattern, like Focus Keeper.