lunedì 11 maggio 2009

Shared pomodoro - to share or not to share?

Last week a very interesting discussion emerged in our Agile Team. We are 10 developers, and we all work in the same room. We use the popular "Pomodoro Technique", conceived by Francesco Cirillo, to organize our daily work. If you have never heard about it, visit www.pomodorotechnique.com; shortly, its main characteristic is that it divides the daily work into very small iterations called pomodori, all of 25 minutes, separated by regular pauses of 5 minutes.

The technique works really well; we had some discussions about the nature of timers - somebody loved the kitchen mechanical ones, somebody else was irritated by their ringing sound and preferred software timers. But apart from this, there were no problems.

A month ago, we added two couples of developers to our team. The new guys came from another popular Agile team, and they proposed the idea of a "shared pomodoro": an unique timer being shared by the whole team. The Pomodoro Technique defines clearly how to setup work iterations and pauses, and it's also really strict about the need of stopping work exactly after 25 minutes; so, there's no reason for not synchronizing all the developers.

Before this fact, we didn't follow the technique too strictly; somebody prefered to work for 50 minutes and take a longer pause thereafter; others used pomodori just to track their work, without caring too much about pauses duration.

As you can imagine, the shared pomodoro is quite difficult to apply in such an environment.

Let's try to summarize briefly the advantages of a shared pomodoro:

- pauses are shared too, so the whole team can have a pause together;
- when you're working, everybody else is working too; so, you don't have distractions from other people having a pause;
- there's more discipline: all the developers have to keep the same rhythm, even if they're tired;
- the team actually behaves like a team, and this common practices may increase the cohesion between the team members.

The disadvantages of the shared pomodoro are almost symmetric:

- if you *really* need to take a pause, for any reason, you break the team rhythm;
- if you want to work for more than 25 minutes without a pause, you can't;
- every time there's a pause, the whole team has to wait for all the team members coming back to the open space (but hey, this is called discipline!);
- the team behavior looks more chaotic, and it's more difficult to organize common activities.

So it's mostly a choice between discipline and relaxed rules. It's not easy to choose which solution is the best for you, or which one will give you more productivity. The author of the pomodoro technique, Francesco Cirillo, reports that studies have been made to find the maximum time a human brain can keep concentrated on a single subject, and the average value found out is 25 minutes. So, if his theory is right, following the technique strictly is the best way to keep concentrated, work better and consequentially improve productivity.

Enough said? Not exactly. In the previous statement, there's an important word: "average". This means that the "25 minutes" value is not the same for everyone, or for any situation. Sometimes it may happen that you work on a really hard subject, and after a pomodoro of work you need a slightly longer pause, because you're tired; some other times, you're feeling a good rhythm, with many tests passing, and you want to take a shorter pause. This kind of behaviour is definitely not compatible with a shared pomodoro.

If you want to decide whether a shared pomodoro is right for your team, try to ask your team members how confident they are with the rhythm described by Francesco Cirillo. If they're already using the technique strictly and they feel confident with it, you can try out the shared pomodoro for a month or so, and then decide whether yo keep it or not. Otherwise, you can try to tend to it, if you feel that your team is too chaotic.

The only approach I find not correct is imposing a shared pomodoro from above, without asking any opinion to the team members. This may lead to unhappy team members, cause they could feel their freedom and creativity is constrained by a timer. If all of your team members feel like this, maybe you should put the shared pomodoro apart - or find other team members! :)

2 commenti:

  1. nice post.
    we need to remember that 'inspect and adapt' strategy is to be done every time

    RispondiElimina
  2. Hello! Quite an interesting topic - was unable to find too much on this in the internet, frankly speaking. I'm interested in ideas around it because we're considering to implement a kinda Pomodoro Server to share team members' pomodoros, without synchronizing them. In this case, each member can see other members' statuses (and time when they finish their pomodoros) on a special web page (or as a plugin to some corporate IM client, for example). And the policy should be invented in order not to interrupt other members during their pomodoros. The major problem we see now is how to make it easy to use by developers - thinking about hotkeys, voice recognition, etc...

    RispondiElimina