Software Engineering and the Pomodoro Technique

February 21, 2019
Categories: Corporate
Reading Time: 3 minutes

Written by Josh Ettwein, Director of Software Engineering, MatrixCare

I serve in a number of roles at MatrixCare; Product Owner for two Scrum teams, as well as the Director of Engineering for our Platform Engineering group and Systems Engineering team. As a result, my typical day consists of a lot of meetings, with short spurts of time in between to get actual work done. When I’m pulled in a million directions at once, I often find it hard to focus on one thing at a time, and before I know it, it’s time for another meeting again. Lather, rinse, repeat.

I’ve tried at least half a dozen time management systems or techniques in the past year or so, but nothing really “spoke” to me. Until I decided to try using the Pomodoro Technique.

While not at all new, the Pomodoro Technique was new to me and seemed simple enough that it just might work. After taking a closer look at it, I realized that the Pomodoro technique shares a great many similarities to the practices of a Scrum team in general, such as estimation of tasks, a focus on maintaining a pace of work, inspection/adaptation checkpoints, etc.

The Background

The origins of the Pomodoro technique are amusing. In the 1980s, a student named Francesco Cirillo was looking for a way to improve his studies and reduce the distractions and interruptions that increased his study time and were negatively affecting his grades.

He bet himself that he could accomplish a good volume of quality studying in just 10 minutes, if uninterrupted and focused. He happened to have a kitchen timer in the shape of a tomato (Pomodoro, in Italian) and used that to time his study sessions. He found that breaking his study/work time into discrete, short chunks was hugely beneficial for him, and he began refining the process over several years until it reached the form that it has become today.

The “Rules”

The gist of the technique is that you perform uninterrupted work for 25-minute chunks called “Pomodoros”. At the end of each of these Pomodoros, you take a short break. I personally take 5 minutes, but some people opt for a shorter, 3-minute break. Four Pomodori form a “set”, and typically, longer breaks are taken between sets; I take 20 minutes. I’ve played around with the length of the break, but I’ve found that for me, 20 minutes is a good number. Making a cup of coffee, getting out of the house and walking down to the beach, sitting for a few minutes, and walking back, takes about 20 minutes and is sufficient to “revive” me.


Relationships & Similarities to Agile

The way in which this relates closely to Agile thinking is that at the beginning of the day, a list of your objectives for the day are written down and estimated in terms of how many Pomodori that task will take to accomplish. Story pointing, anyone? Tasks that take more than seven Pomodori should be broken down, just as you would do with large stories in Scrum. Tasks that will likely take less than one Pomodoro should be bundled together until there is a large enough body of work to fill a Pomodoro.

If you find yourself interrupted or distracted, you should record the distraction so that you can ignore it and deal with it after the Pomodoro is complete. If you can’t ignore the interruption, you simply stop the Pomodoro and consider it to be “void”. Strive to make the next Pomodoro better. There are so many analogs to the same Scrum practices we use in our day: retrospectives, velocity, estimation, etc…


I hope you try this technique – it has really helped me to focus during my working hours, and to be cognizant of interruptions and their impact on my focus and productivity.

More Information

If you are interested in learning more about the Pomodoro Technique, Cirillo has a book and one-page “cheat sheet” available on his website for the Pomodoro Technique.

  Want to learn more? Let’s connect!

Josh Ettwein
Josh Ettwein

Josh Ettwein has served as Director of Software Engineering at MatrixCare for the past four years and is a highly pragmatic technology leader with a focus on delivering high-quality, intuitive software using agile practices. Josh is interested in building innovative products and services, and creating and growing great engineering teams. In the past, Josh has provided engineering and product development leadership on development of large-scale web, mobile and SaaS-based platforms, using a variety of technologies and languages.

Back to blog
Share this page

Learn more about how our services can help you succeed.