Over a million developers have joined DZone.
Platinum Partner

How to set up the Pomodoro Technique in your office

· Agile Zone

The Agile Zone is brought to you in partnership with JetBrains.  Discover how to increase change awareness, code quality, and maintainability through straightforward code reviews, with a simple, lightweight workflow.

The Pomodoro Technique is a modern time management method based on short, intensive and timed periods of focus called Pomodoros. Here is a guide reporting my experience in using it as a freelancer and in a cross-functional team of 5 people.


Pomodoros are uninterruptible timeboxes of 25 minutes, followed by a 5-minute break each. Once a Pomodoro is started (and a clock is ticking), no unhandled interruptions of work are allowed without voiding the Pomodoro and restarting with another 25 minutes. During a Pomodoro, you focus. Out of Pomodoro time, you relax.

Every 4 Pomodoros, there is a longer break of 15-20 minutes, which makes the rhythm bearable.

With this method, you measure productivity by counting planned and effective Pomodoros at the end of the day. As a general rule, tasks should be broken down or bundled up to reach a length from 1 to 6-7 Pomodoros.

The greatest advantage of measuring time in Pomodoros is that you handle and program interruptions instead of being run over by them.

The word Pomodoro in Italian means tomato, and derives from the fact that the inventor of this time management technique, Francesco Cirillo, initially used a tomato-shaped kitchen timer. However, any kind of timer would suffice. For further discussion of the technique, you can refer to his official website.


The introduction of a time management technique must come from the programmers themselves: forcing a practice from management isn't going to help a team struggling with productivity.

At the same time, the adoption should be team-wide: otherwise interruptions from programmers that aren't using Pomodoros will continuously distract the Pomodoro-driven ones from their work.

The best environment for Pomodoro technique is a whole team that decides to try this new tool together. My team is currently working on a PHP web application, and we made the conscious decision of try to manage our time during my stay as a consultant.

A final note is that this technique is only viable for working or studying: by no means you should organize your leisure time (like weekends) with Pomodoros. Your free time is yours to manage and you should relax instead of setting up timers.

Working as a team

In our team, one person is responsible for setting up the Pomodoro that rings, but the other not pairing with him (on other computers) set up their own to have an handy time reference available.

After an initial resistance to make pauses due to habit of diving into work, we have now a stable rhythm that starts when we enter the office and builds up to even 12-14 Pomodoros a day. However, not all these Pomodoros are shared by the whole team: external communication handling, like phone calls, occupy some of the members. However, the important result is that the people "under Pomodoro" aren't being interrupted during the 25 minutes.

The technical side

We all use Linux in the office: both KDE 4 and Gnome have timer applets that you can use to measure time and set alarms on periods of 25 or 5 minutes. Keeping the timer applet on the panel instead of putting it on the desktop is crucial. The remaining time of the Pomodoro must be visibile with a quick glance, so that the person working with it can continuosly adjust his effort and level of detail to meet the desired goal.

There are some small web applications that will setup Pomodoro timers for you, but they suffer in fact from the lack of a thumbnail that shows the remaining time, and for the additional window (the browser) that must be kept open.

Usually you can also execute a command when an applet's countdown reaches zero: we set up a little music with a bash script that executes a series of beep commands:

beep -f 440 -l 1000 # will output a La (A) for 1 second

As you may have noticed, we have no real speakers attached to development machines. The beep command uses the pc internal speaker to produce a sound and it is available in the Ubuntu repositories.

The pcspkr module is necessary for it to work, but it is blacklisted in Ubuntu by default. You can remove it from /etc/modprobe.d/blacklist.conf and add it to /etc/modules to get your annoying speaker back so that it can play the Ode to Joy for you.

beep -f 493 -l 300
beep -f 493 -l 300
beep -f 523 -l 300
beep -f 587 -l 300
beep -f 587 -l 300
beep -f 523 -l 300
beep -f 493 -l 300
beep -f 440 -l 300
beep -f 392 -l 300
beep -f 392 -l 300
beep -f 440 -l 300
beep -f 493 -l 300
beep -f 493 -l 450
beep -f 440 -l 150
beep -f 440 -l 600

How did we calculate these values? You can look for a note/frequency equivalency table, but it is more geeky and interesting to calculate the frequency of the notes you need by yourself.

Basically, octaves are arranged against their central note A, which has a frequency of 440 Hz in our sample one-line octave (it's the technical name of a octave that is simply in the range of our pc speaker). The A note in the previous octave has a frequency of 220 Hz, while in the next one it has a frequency of 880 Hz.

Each octave is divided in 12 half steps, and in modern tuning each note has a fixed frequency ratio with the previous one. So to raise from A to A# we must take one half step, and multiply for 2^(1/12).

G# = 440 * 2 ^ -1/12 = 415
A = 440 * 2 ^ 0/12 = 440
A# = 440 * 2 ^ 1/12 = 466
B = 440 * 2 ^ 2/12 = 493
C = 440 * 2 ^ 3/12 = 523

If we take 12 half steps, we get to the A in the next octave, which is exactly 440 * 2 ^ (12/12) = 880.

By the way, the geometric scale is often used for values standardization, for example in the production of resistors - however the various E6 or E12 scales cover an entire decade (1.5, 2.2, 3.3, 4.7, 6.8, 10 KiloOhm for example) instead of a doubling in frequency.

To be continued

Stay tuned for the next article on the Pomodoro technique, where we'll deal with a fundamental question: how can I reach my flow, also known as enter the Zone, where I am most inspired and productive, if I am interrupted every 25 minutes?

We'll discover that this technique isn't about forcing interruptions, but about accepting, handling and programming them.

The Agile Zone is brought to you in partnership with JetBrains.  Learn more about the wide range of developer-oriented features to take your team's performance to the next level.  


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}