(This post is part 5 in our 6-part mob programming series, which we call Taming the Mob.)
In part three of our mob programming series—How to Start Mob Programming—we suggested that your mob should consider the Pomodoro Technique to time your work sessions. In this post, we dive a little deeper into this technique and explain why our mob finds it so effective.
Pomodoro has nothing to do with pasta sauce
The Pomodoro Technique, developed by Francesco Cirillo, is a system for managing tasks in specific increments of time, punctuated by regular breaks. Cirillo derived the technique from studies on task management and productivity, and it strives to turn breaks into an effective part of learning and productivity. Traditionally, with this technique you work for 25 minutes then break for 5 minutes. You repeat this cycle four times, at which point the breaks grow to 15 minutes for two rounds. Then the whole cycle resets and repeats.
Ideally, during a work session using the Pomodoro Technique, you focus on a single task. Don’t couple the timer with the completion of that task, so you’re not set back if you encounter blockers or other interruptions. Of course, you can adjust the technique to fit your tasks, goals, or team configurations.
There are handful of Pomodoro timer apps. Most of them let you customize the length of your working sessions and breaks. However, like most productivity tools, you have to use a Pomodoro app with regular intention.
Is the Pomodoro Technique actually effective?
Taking frequent, scheduled breaks has been shown to be physically healthy and more conducive to learning; even MIT has break recommendations on its official study site for new students. Taking breaks that involve even minor movement can also help prevent health issues from sedentary behavior. At New Relic, the Account Experiences team encourages “bio breaks” to ensure everyone stays on a healthy hydration schedule, which often involves drinking a lot of LaCroix.
We’ve also seen that the Pomodoro Technique has dramatically reduced disruptions and increased our focus. Brief, regular social interactions between people working on the same project improve communication and foster trust across the team. We’re no longer tempted to interrupt our work to check Facebook or discuss the most recent Game of Thrones episode because we know we can do that on our next break—and we know exactly when that break will be. And having a sanctioned time for these interpersonal (and non-work-related) activities alleviates any guilt or anxiety we might otherwise feel, as these conversations are time-boxed and don’t disrupt our productive workflow.
What happens if we’re interrupted?
It’s inevitable that your mob will occasionally be interrupted during a session, especially when your timer is going. As Alex Henry points out in his LifeHacker post Productivity 101: A Primer to the Pomodoro Technique, one way to prevent interruptions from derailing your Pomodoro sessions is to discuss your use of the technique with your coworkers in advance and formulate guidelines for interruptions. Explaining your system to your coworkers will make them less likely to needlessly interrupt you. Moreover, they’ll be more likely to schedule time with your team, as they’ll have a better idea of when you’ll be free.
How do we integrate the Pomodoro Technique into mob programming?
Cirillo designed the Pomodoro Technique for individual task management, but it can be effectively applied to a mob programming environment. Our team took some time to get used to the technique, but once we all got on board, we were able to hold each other accountable to our work and started seeing immediate gains in our productivity.
We already had a rotation that included the different roles discussed in Taming the Mob, Part 3: How to Start Mob Programming (i.e., the driver and navigator), so it was relatively easy to add the timer role as well.
We tried different session lengths depending on who was in the room, the type of task we had, and the time of day. If we changed our work session length, then we’d also change our break length, but we tried to make sure we never went longer than an hour without a break of some kind.
During short breaks, we
- Switch drivers
- Ask if the current task is still the most important task for the mob
- Ask what the team’s individual level of engagement is
- Ask if we should keep mobbing on that particular task
- Ask if we should split into smaller mobs or pairs, or if folks should split off to work solo
- Take a bio break (use the bathroom or get a snack)
During long breaks, we make phone calls; respond to emails; check Facebook; or finally share that kitten video with the mob.
We experimented with our format a lot, and for each experiment, we held retrospectives to discuss our expectations and results and how we could improve on them.
Customizing our Pomodoro Technique approach
Instead of the standard five minutes, our mob uses a 6-minute break. We leave the first five minutes of the break unstructured and use the final minute to assess our effectiveness, specifically asking ourselves the questions noted above. Doing this assessment at the end of a break instead of at the beginning gives each of us the chance to get our personal needs out of the way so we can better focus on the needs of the mob.
Additionally, to find out what was most comfortable and engaging for our mob, we experimented with the timer to determine the time periods and formats that worked best for our team. For instance, after regularly struggling in our first sessions of the day (or after lunch), we realized that starting with a five minute break helped the team settle in and be much more prepared for single-threaded focus.
Now, if a task is straightforward, and we don’t expect any blockers or need for discussion, we’ll typically set the timer for 10 or 15 minutes and take a break after two or three working sessions. Occasionally, if we see the task ahead is stickier than normal, we’ll start with a longer time and allow ourselves to pause for discussion as needed. No matter how long we set the timer for, the key is to ensure the entire mob stays active and engaged for the duration of the session.
We also keep a “mob charter” and a “team charter,” and we regularly review and revise these working documents. Finally, as we’ve noted elsewhere in this series, we hold regular retrospectives to discuss and iterate on our methods and teamwork. Our success with the Pomodoro Technique—as with mob programming—is only as strong as our ability to trust one another.
Don’t miss the other posts in our Taming the Mob series:
- Part 1: An Introduction to Mob Programming
- Part 2: Mob Programming Is Like Tending a Campfire
- Part 3: How to Start Mob Programming
- Part 4: Tips and Tricks for Effective Mob Programming
Editor’s Note: As part of our work with mob programming, we recently held a FutureTalk meetup in our Portland offices on the topic. In the video below, you can see presentations by Platform Software Engineer Maureen Dugan on “What Is Mob Programming,” Lead Software Engineer Cory Johannsen on “Why Mob Programming Works: Trust, Buy-In, and Vertical Ownership” (21:00), and Software Engineer Caito Scherr on “Mob Strategies” (54:00).