For 15 of the last 16 months I've been working with my dev team to help them get to the next level with agile--something the Scrum folk call hyper-productivity, but I think they use the term too loosely, based on the number of teams I've compared notes with at agile conferences and user group meetings. Anyway, my team hit that 3 weeks ago--something clicked, and everyone is on the same page. The team is self-organizing, committed to iteration goals, and constantly challenging the scope of a story. They're delivering under-budget on major release milestones, and doing so without increasing any debt I can perceive.
What does this have to do with flow? Since I'm currently playing a role of product owner, this means my workload has just doubled or quadrupled. I'm getting interrupted all the time to answer questions about story cards--and I'm constantly trying to dig into current, past, and future cards to find out exactly what the users need. I'm also hyper-aware of flow right now because I'm reading Peopleware, and so I posted the following to the Extreme Programming yahoo groups list:
Is there new thinking or studies that rationalize away DeMarco's & Lister's advice against open floor plans? Are there new studies on the impact of background noise on creativity?
I know these are old books, but I decided to read some of the classics that were published before I was done with middle school ;), like Peopleware and the Mythical Man Month.
In Peopleware they talk a lot about flow (mental focus). They cite studies on the negative impact of interrupted concentration, the negative effect of background music on creativity, and about the performance dip faced by teams who they sit in open-plan workspaces. I don't know how to assimilate this with contradictory advice and experience, with, for example, Whole Team, the Customer is Always Available, Pair Programming, the Pomodoro technique, etc.
Personally, when I develop I feel like my pair can keep me in the flow if I get interrupted... but then again, sometimes that interruption distracts both of us. On the other hand, I feel like flow is dangerous--if I don't use some external "wake-up" call like a Pomodoro, I might go down the wrong path and deliver nothing of value. I've also observed my team learn how to get back into flow--I'd say they can often do so in one minute (and they learned this after only weeks of using Pomodoro).
My doubts come mostly from the conviction in DeMarco's and Lister's words, combined with what I'm seeing in the next generation of technology users--people that don't realize the impact of multi-tasking (homework+sms+tv+phone+???). Maybe I'm just not aware of the negative effects of being in a team room because that's basically all I've ever worked in...
Is there something missing in the way I do XP that provides guidance on when it's OK and when it's not to interrupt a pair? (we've actually experimented with it, but basically we believe that a developer should try to answer questions alone for 5 minutes, then ask for help--and the team/individual can respond with help or inform that now's not a good time--come back at the next pomodoro pause. I use the term pomodoro loosely, for more info, see http://dhondtsayitsagile.blogspot.com/2010/01/no-more-pomodoros-synch-point.html ).