Challenges with Pair Programming and Pomodoro Technique

Extreme Programming explains how to run Pair Programming with an observer and a navigator. The Pomodoro Technique is an agile methodology that makes you more decision aware. Are these two compatible? Is there a special modus operandi for Pomodoro Technique when you’re pairing? There are challenges while combining them. But, as you should see, none of them can’t be managed.

Pair programming rhythm – i.e. the length of the break

The rhythm is essential in Pomodoro Technique. Participants need to be mental ready at the time of starting a new Pomodoro. When doing Pomodoro Technique individually, this is easy. I won’t wind up the timer until I have the right mood. In a pairing Pomodoro team, we need to be more cautious. Both persons must be prepared to jump on the bandwagon. And it’s not a matter of sitting and waiting for that to happen. We can influence our readiness.

How long is a break? In individual Pomodoro Technique I take a small break of 3-5 minutes after each Pomodoro. And every four Pomodoros I prolong it to a 15-30 minutes set break. These numbers are quite vague, and that is for a reason. It depends on what I do on the break. If I walk away to drink water, I will start next Pomodoro when I return. If I call a friend, to ask if she will join me at the theatre tonight, I will start when I have finished the call. Breaks should not be time-boxed. They should be closed by the event of my state of preparedness. I’m prepared to think of the upcoming work task, and not on unfinished break tasks.

While pairing, both of us must be in state of preparedness. The break starts when the clock rings, i.e. as a signal of the previous Pomodoro ending. Already at that time, we tell each other 1) what we will do during the break 2) our estimation of how long time it will take. We don’t need to be detailed on (1) and no one will punish us if (2) isn’t exactly correct. My pairing partner might say “I will make a phone call; it’ll take about 5 minutes”.

Sometimes my pairing partner needs to take a longer break from our shared work task. Maybe he’s scheduled for a meeting for the next 35 minutes. When he tells me this, I ask him if I can go on sole with our joint work task for one Pomodoro. If the nature of this task does not allow a single person to go on, then I have to come up with some other workload for myself, until my partner comes back.

Just like ordinary Pomodoro Technique, breaks must not be time-boxed. It’s not proper to wind up a clock for notifying when the break is over, since we need to be mental ready for starting the new Pomodoro. Starting a Pomodoro without high arousal means wasting time on only partly involved contributors.

Authorizing the Pomodoro start point

Pomodoro Technique stands on a rock solid position for single task focus during Pomodoro iterations. While in a Pomodoro I’m not supposed to reiterate the private thoughts I had on the last break. If I do a private phone call in the break for buying theatre tickets, then this should be mentally finished before I wind up the clock to start a new Pomodoro.

How can the person winding up the clock be sure that his pairing partner has mentally finished what he did in the last break? The answer is quite easy. Both me and my pairing partner should authorize our commitment to start a new Pomodoro. If the authorization isn’t complete, the transmission of state – from break to work – is not legitimate. This is analogue to the authorization of a bank customer before his money can be transmitted to another account.

The authorization can be more or less formal. One way is to speak out load the question “Are you ready?”, and the mandatory positive answer from the pairing partner. Another way is by moving a personal token on the desk. Each team member pets her own personal soft toy animal –I’m weak for soft toy bloodhounds. Before winding up the clock to start a Pomodoro, both me and my pairing partner need to put our pet on the desk in a free area. When the clock rings as a signal for break, the pets are removed from this free area. Does exposing your favorite soft toy animal make you feel silly? Well, use your mobile phone as token instead then.

Pairing Pomodoro iteration length

Is our Pomodoro iteration length expanded or shortened when we are pair programming? The short answer is “No”. First, we try 25 minutes for at least a week. If it feels to short or to long, then we try another length for at least a week.

To short Pomodoros creates to much process orchestration compared to the real work. To long Pomodoros makes it harder for us to focus all the time and harder to cut the day into small releases. Our inter pair communication can be a heavy effort in a long Pomodoro. On the other hand, the pair chatting takes some time and it’s still important that each Pomodoro is increasing our work result.

We do not want to change the Pomodoro iteration time to often, since then we can’t use the Pomodoros as effort metrics. Suppose that we have 25 minute Pomodoros on Monday, 40 minute Pomodoros on Tuesday and 20 minute Pomodoros on Wednesday. How should we compare the effort that we have done each day? The number 25 is not holy as iteration length, but try it at least for a week. If you’re not satisfied, then try at least one week with another length.

Parallel, but synchronized

Sometimes we come to a point where the emerging task is more of a search-and-investigate nature, and not a normal constructive programming task. Then it could be easier to split for a Pomodoro. “I look for this, and you look for that and then we meet again after the next Pomodoro break”. Still when we work independently we need to be in synch if our ambition is to join pairing later on.

Pairing Pomdoro metrics

There are many seldom said truths about process metrics. One is that we need a big sample in order to draw any conclusions from metrics. Another is that apples shouldn’t be compared to pears. And a third is that metrics hardly ever show up with a good-to-bad scale. If we change partner every pair programming morning, then it’s hard to compare five Pomodoros done pairing with Lisa on Monday with seven Pomodoros done pairing with Fred on Tuesday. Perhaps Lisa has key knowledge in this project and need to spend some time helping our team mates. The most valuable metrics are those collected while pairing with the very same re-occurring partner.

Conclusion

Pairing Pomodoro has the same modus operandi as single Pomodoro Technique. We just stress some things extra, like important gestures. The Pomodoro Technique and Pair Programming as described in Extreme Programming are definitively compatible.

Additional facts:

  • Laurie Williams of the University of Utah in Salt Lake City has shown that paired programmers are only 15% slower than two independent individual programmers, but produce 15% fewer bugs.
  • Kent Beck became project leader at the Chrysler Comprehensive Compensation System payroll project in March 1996. Three years later he published a book about the tailored process that, among other things, included pair programming.
  • Counting the number of issues left in the backlog is not a software metric, it’s a process metric. The Pomodoro Technique is only concerned about process metrics like, number of Pomodoros done in a day or the average number of Pomodoros spended per inventory task.
  • The UK based Interfauna e-Mall is marketing a 12 inch soft toy bloodhound for £13.99. It has folds of skin on the head, and long pendulous ears. The 16 inch version goes for £15.99.

2 Responses to “Challenges with Pair Programming and Pomodoro Technique”


  1. 1 Federico Gobbo 2008-06-18 at 14.10

    Hi, nice and informative post! Thanks a lot

  2. 2 Staffan Nöteberg 2008-06-18 at 19.47

    Thanks for your response, Federico. And thanks for sharing your Pomodoro slides from XP2008 at http://www.slideshare.net/goberiko/the-pomodoro-technique-for-sustainable-pace


Leave a Reply