Pair Programming With Pomodoros

Pomodoro Pair Programming

What is Pomodoro:

A time management technique using a timer to break down work into intervals traditionally 25 minutes in length, separated by short breaks.

Pairing with a new team mate can start slowly.

It often takes time to get to know each others thought process and to get into a good rhythm.

I have also noticed when I am pair programming I can sometimes feel frustrated at not having control of the keyboard. I feel it easier to explain by showing my pair a code block of what I mean rather than verbally communicate it. This is a weakness of my experience in pairing and not a consequence of pair programming.

To get into sync with my pair and help relieve my frustration at lack of control we adopted using the pomodoro technique to control when we change roles.

Typical Flow

Start Pomodoro - 25 mins - First person writes the code, be that test or implementation, the other reviews for clairty/intent and notices any implementation bugs. Code must be compilable at the end of the pomodoro

Short break - 5 mins - Code committed to source control, second person, updates working copy/branch with committed code, compiles (runs tests as appropriate). Quick review of task at hand current coding goal

Next Pomodoro - 25 mins - Second person write the code, the first person is now in charge of review of implementation.

Long break - 15 mins - Same task as Short break, but then 10 min comfort break for pair, get a drink and away from the keyboard.

Repeat above flow for further 2 or 3 pomodoro’s. Break for lunch as appropriate.

At the end of the day review all code written for intent, implementation bugs and design review, set goals for the next day.

So how often do I actually do this?

When our new team member joined we done this a lot in the first few weeks. The feedback that I got from him was that it was beneficial. Particularly as he was learning the programming language we were using along with the purpose of the pre-existing code and structure of the project. Since those first few weeks we have not had the opportunity to do pomodoro pair programming.

What do you need to get started?

  • Patience.
  • Discuss with your pair the technique and decide on your pair’s ideal flow.
  • A timer. ( We used Tomighty pomodoro timer )
Written on August 12, 2015