Sometimes it can feel tough to get any actual work done at the office in between meetings, the deluge of email, and people interrupting to ask questions. The work done by software engineers requires concentration over long periods of time. Any engineer knows what it's like to be "in the zone" -- where your surroundings melt away and you're able to crank on code highly efficiently. The bad news is that "the zone" is a delicate state of mind. A co-worker's annoying cell-phone ringtone, an Outlook email alert, or someone stopping by your desk will snap you right out of productivity. Joel (from Joel on software) estimates that it takes about 15 minutes to achieve full concentration after an interruption. Factor in a typical engineer's salary, and the dollars of lost productivity add up quickly. In fact, some estimates peg the cost of interruptions in the workplace at 588 billion dollars per year.
Tips for Surviving Interruptions
Realize you're part of the problem. Most people say "I hate being interrupted" but will turn to their co-worker anytime they have a quick question. By being respectful of others' time and minimizing the interruptions that you initiate, you'll help foster a culture in your workplace that will allow you to work more efficiently. Other ways to be a good citizen in the office include setting your cellphone to vibrate, listening to music with headphones instead of speakers (seems obvious?), and not laughing out loud at jokes only you can see.
Create an office environment that's quiet and that minimizes visual distractions. At Jive, we use system furniture with tall glass partitions. This keeps the office feeling light and airy, but helps cut down on noise. If your office is noisy and you can't do anything about it, try headphones.
[588 billion dollars per year|http://www.flickr.com/photos/50884898@N00/248520050/|Photo Sharing]
Use the best communication medium. Interrupting someone in person or by phone is the most intrusive. It forces the other person to focus their full attention on you. Everybody hates email and it just doesn't work for questions that need a quick answer. So, use instant messaging (IM). It's fast but also much less intrusive compared to other options. This is non-intuitive to some, who figure that instant messaging will only increase interruptions. We've found that IM may slightly increase the raw number of interruptions, but answering an IM is much better than having to answer a question in person since you can usually do so with only partial attention and at your own speed. IM's are also typically short and to the point (unlike email). IM is especially effective when combined with good presence management (more on that below).
Optimize your time. Do you really need to attend all those meetings? A good rule of thumb -- if the meeting can be held without you, you shouldn't be there. At Jive, we try to schedule all meetings that include engineers for the mornings (close to lunch time) so that afternoons are left open for focused work. We also make meetings as short as possible and have very few regularly scheduled meetings (instead only meeting when necessary). It's also helpful to block out time to get work done. For example, schedule an hour or more in your calendar to work on a tough problem, then politely communicate to your co-workers that you're heads-down.
Use on-line presence information. Communicating to co-workers when it's ok and not ok to be interrupted is critical. We've integrated our IM presence with our phone system using Asterisk-IM, so that we can see whenever somebody is on the phone. We've also built a culture where people are reluctant to interrupt when they see someone's presence set to "Do Not Disturb" (DND). Although most IM clients will automatically toggle between "available" and "away" based on activity on your computer, be diligent about setting more complete presence information such as "Running errands, back at 2:30 PM".
The tips above include both technology and non-technology fixes to interruptions. Both are required to really mitigate the problem and there's no silver bullet. However, I'm a big believer that presence and instant messaging can make a big impact. What if your computer noticed you working in your IDE (programming environment) and automatically helped protect against interruptions by setting your presence and supressing non-urgent requests until you were finished? We're working on lots of interesting ideas like these.
How did I manage to actually get this blog post written? Headphones and the DND presence setting in Spark, of course!