Thursday, 12 January 2006

Flow, ideal time and the E-factor

In their book Peopleware: Productive Projects and Teams , Tom DeMarco and Tim Lister describe flow as a highly productive state of concentration. It takes around 15 minutes of concentration to enter flow and during this time you're not really doing work. Each time you're interrupted your flow is broken and it'll take another 15 minutes to re-enter it. A metaphor here would be having to shift down the gears to negotiate the obstacle or interruption, and then having to gradually change up again until you reach cruising speed and enter flow .

Clearly what matters is the amount of time spent in flow and not the amount of time you're present. Flow-time is ideal time , which was introduced as a unit of estimation in Extreme Programming and was defined as the time where you can concentrate, working on a task without interruption, and be fully productive.

When recording effort, instead of logging elapsed time (which includes everyday overheads such as meetings, phone calls, responding to emails, task switching, etc), developers should log the ideal time spent working on a task. When tracking ideal time , developers become acutely aware of the time they spend in flow , the level of interruption they are subjected to and its effect on their productivity. Based on their empirical tracking data, they should expect a certain amount of ideal time each day and they should protect it.

The ratio of ideal time to elapsed time is known as the Environmental factor or E-factor :

E-factor = Ideal time / Elapsed time

Where ideal time and elapsed time are both measured in the same unit, either days or hours.

When the ideal time is a reasonably high proportion of the elapsed time, the environment can be considered conducive to developing software because it allows developers to get into the flow when they need to. Here's a graph showing our E-factor over the last 8 sprints.


E-factor
Originally uploaded by sjb140470 .

Compared to previous development environments that I've worked in, I consider our E-factor to be blissfully high. The reason for this is simple: We are a contracted development team working at the client's site to deliver a specific project. Given the importance of the project to the client, we've worked effectively with their Product Owner but otherwise they've trusted us and left us alone to get on with it.




Tags: agile
Posted by Simon Baker - Permalink

Creative Commons Licence

preload call-us-on.png preload chat-over-coffee-on.png preload coffee-cup-on.png preload guspower-avatar.png preload simonbaker-avatar.png preload email-on.png preload meet-the-crew-on.png preload about-on.png preload bits-on.png preload blog-on.png preload coaching-on.png preload consulting-on.png preload crew-on.png preload home-on.png preload software-on.png preload other-talks-on.png preload phone-on.png preload previous-talks-on.png preload boost-icon-on.png preload jumpstart-icon-on.png preload liftoff-icon-on.png preload powerup-icon-on.png preload skype-on.png preload speech-bubbles-on.png preload creative-commons-on.png preload slides-on.png preload video-on.png