Pomodoro Pairing
Tags: productivity, pairprogramming, pomodoro
Published: 2022-05-19 11:57:45

Recently I started using the _pomodoro pairing_ technique at work for pairing/mobbing sessions. As a team, we wanted to try something different to keep our focus during longer sessions. Since some of us had already used the pomodoro technique before, it seemed well worth giving it a try. There are a range of benefits to using this technique, and it has positively transformed our pairing sessions.

### What actually is the pomodoro technique?

No, it has nothing to do with tomatoes! Okay, maybe a little bit. The pomodoro timer was given its namesake in the 1980s when Francesco Cirillo, a university student, used a tomato timer to measure his 25-minute interval study sessions. These short sessions became known as a pomodoro. In the pomodoro technique, work is broken down into intervals, typically around 25-minutes. Each interval is separated by a short break.

![A Pomodoro tomato with a timer on it](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4mlvzl7l4ukr1da626u5.jpg)

### The pomodoro steps

1.  Decide on a task
2.  Set the pomodoro timer (25 mins, adapt to suit)
3.  Work on the task
4.  When the timer finishes, take a short break (typically 5 mins)
5.  Repeat steps 2-4 until you've done 3 or 4 pomodoros
6.  Take a longer break

### Pomodoro pairing 

To start using the pomodoro pairing technique, take the above pomodoro steps and adapt them accordingly to fit your pairing or mobbing sessions.

A great tool to use is [Cuckoo Timer](https://cuckoo.team/), especially for remote teams. To get started with Cuckoo, create a shareable link which opens a new session for participants to join. In the sessions sidebar, there is an option to use the pomodoro technique, which displays the suggested work and break lengths to select from. Using a tool such as Cuckoo is a great way to ensure that everyone in the session each hears the alarm, and can hold each other accountable to the timer so that sessions don't run over.

<figure>
![Cuckoo Interface](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7o43kfz7smc9lxlv9qb8.png)
  <figcaption align="center">Cuckoo interface, with a 'Use the Pomodoro Technique' option in the sessions sidebar.</figcaption>
</figure>

After each pomodoro, choose a different driver to ensure that all participants in the pair or mob get the opportunity to regularly switch roles. Once the new driver is set up and ready to code, start the timer again for another pomodoro.

You may find yourselves drifting off too far from the task at hand during the session. If this happens, recognise it, and bring yourselves back to the task at hand. A good rule of thumb is, at the end of the current pomodoro, if you're still working through a thought process, let that play out until the end then consider that the end of the pomodoro. Don't forget to take your break!

Some of the benefits myself and the team have discovered working in this way are:

*   Making sure we take enough breaks - very easily forgotten throughout the day! ☕️
*   Having a healthy social break and time to yourself
*   Working for shorter time intervals keeps navigator(s) focused on the session at hand
*   Regular switching of pairing roles gives ample time in each role
*   Manageable work sessions allow other team members to drop in and out
*   Work (and commits) are broken down into manageable chunks

It's safe to say there are a lot of benefits to using this technique. The team loves it, as do I! I'm an advocate for this technique, and highly recommend you give it a try during your pairing sessions. Let me know your thoughts! 🗣

**Additional resources** 
- [Pair programming explained](https://shopify.engineering/pair-programming-explained) (and other techniques you can employ)