Monday, 31 March 2008

Flow Time

ok, so Flow Time isn't a new concept. It's been around for a very long time now. First published in 1987, Peopleware by Timothy Lister & Tom DeMarco completely changed my approach to managing software developers.

Yet, Flow Time does seem to be a new concept to many development managers I speak to (and hence the reason for this post). As soon as I tell them what Flow Time is they instantly get it. It's not a difficult concept to grasp and most of them admit to interrupting developer Flow Time regularly.

If you take a look around your development team - probably located in an open plan office - count how many of them are wearing headphones. A large percentage no doubt. What they're doing is getting into Flow Time.

So if you still don't know what Flow Time is it's really simple. Have you ever been happily coding away only to realise that you've completely forgotten about the passage of time and it's now way later than you thought? Congratulations, you've experienced Flow Time. In Peopleware, the authors say it takes a minimum of 15 minutes to get into a Flow but takes seconds to come out of it.

This means that every time you as a manager stops by a developers desk to "get a progress update", or anyone else telephones, emails, or interrupts them in any way, you're actually knocking the hell out of productivity. For every interruption it'll take them at least 15 minutes to get back to being productive.

As a development manager I tell all of my developers to respect the Flow Time of others, i.e. if the headphones are on, do not disturb. I keep all team and project meetings to the beginning or end of the day. I encourage my team to check their emails at times to maximise Flow Time, i.e. beginning/middle/end of day. I tell them it's ok to turn on voicemail and respond at the end of the day. I also don't agree with hunt groups on phone systems or developers being interrupted to pickup someone else's phone.

Go and buy a copy of Peopleware and when you've read it, sit back and observe your development team for a short period of time. I can guarantee you will make changes.