Respect when someone is "in the zone"! Don't disturb him if it's not necessary. The "context switch problem" is a known issue in the software development process. Zach Holman particularly mentioned this during his talk at this year's QCon. So what is it about? What's the "zone"??
You're coding, right? Do you know those times when you're extremely productive?? Usually when you're alone in the office or later in the evening when the others already left home?? It feels like you could rewrite the entire product in hours, right? It feels good!And then there are those other situations, when you really need to finish that piece of software as other people are already waiting for you and you continuously get interrupted by your mates or by ad-hoc meeting requests, incoming IM messages etc...At the end of the day you mostly wrote a couple of lines and you're frustrated.
Zach Holman especially highlighted this during his presentation of "How Git Works" at QCon this year.
The best solutions happen when you're in the zone.
Therefore, they want developers to be in the zone (slide 54) as long as possible. At GitHub they go even further:
- Minimize distractions
- No technical meetings (no standup, daily or planning meetings)
- No in-person distractions (instead, ping over chat)
- No managers (they just distract ;) )
Show you're in the zone!
While some of these concept might be difficult to realize in your day-to-day reality some should really be considered. Therefore, establish some kind of "respect for the zone". Clearly show your peers your currently "in the zone" and therefore you wouldn't like to be interrupted. How?
- Wear a cap?
- Take on your earplugs?
- Add an IM status message?
And on the other side respect people being in the zone. Don't distract/interrupt them when it is not really necessary. We have async ways of communicating: email, IM pings...
Make sure you remain in the zone yourself!
But you also need to make sure you minimize distractions on your own. Prevent IMs from popping up, switch off all those social tools blinking and presenting you the latest activities of your peers, etc...Put on some music that helps you keep focused.
Try to consider some of these aspects in your working environment!