We work in a small open plan office with around 20 staff. A lot of the work we do involves writing fairly technical documents and it is therefore important to allow people to sit down free from distractions and get on with writing.
If a colleague has a question or the phone rings etc., it would be useful to have some way of indicating that they don't want to be interrupted.
We are looking at whether we can find a low tech flag to sit on a monitor. If its up no-one can interrupt, if its down then its fine. We'd want some indication about how long someone is allowed to be uninterrruptable, since interaction with collegues is also an important part of the day.
We also thought about using instant message status, but this doesn't show the status to people walking round the office.
Does anyone have any proven ways of solving such a problem?
Headphones! Just buy an inexpensive pair of the "cup" style (over the ear) phones for everyone... they're comfortable to wear for a long duration and they insulate fairly well against outside noise. Plus you can even plug them into your computer or ipod and listen to music on them!
The headphone rule is simple: if someone is wearing them, don't go up to them and ask "hey mind if I interrupt you for a sec??" Just send an email or IM.
This isn't going to be useful for you, but the answer is offices.
Another alternate is to have a pool of private rooms/spaces that people can hide out. (like a quiet room at a library).
To go with the headphones, look at some noise-cancelling headphones, to block out outside noise, so that they don't have to put the volume higher to not be disturbed.
Also, allow people to come in at times that are better for them (flextime) as some may find that 6-9am is prime time to get work done, before most people come to work, or 5-9pm perhaps.
You can also look at having lights on phones, rather than a ringing, as it is easy to put a towel over a light if you don't want it bothering you.
Try not to over think it. Interruption isn't a piece of code. It's irrational and subjective day to day based on whatever someone might, or might not feel compelled to interrupt someone else. Either way..
Interruption is the enemy of productivity. When someone interrupts you for more than 30 seconds, they are saying what you work on at any given moment is not important.
Of course, people aren't that conscious about their actions. It's just what ends up happening.
The best thing to any interruption I have found is:
1) Noise canceling Headphones. I love them. It better be important to make me take them off
2) Drop by visits or questions. Nothing more than 30 seconds. If it is, I say "I have to finish something, can we schedule some time later?"
3) Poor planning on your part does not mean an emergency in my part. That's right. If you become a firefighter you'll attract even more fires.
4) Do not be the path of least resistence. If you can answer their question with one google search, they aren't doing it and instead are asking you because they think it would be quicker. Think about it. One google search. Make others do their due diligence before asking you. I made a bet once. After the first 3 questions a day, If I got the answer for them with one google search within 30 seconds, I get $1.
Set a time or schedule, once or twice a day to discuss items. Be creative, fun, and lighthearted about it, but do get it across that your time is serious, and if others don't take their's as seriously, that's up to them.
Software Development is an art requiring clear, focused, relaxed energy in the mind.
I just signed up today, but I wrote and will shamelessly plug this exact topic that I wrote about yesterday. There's also a fantastic link to Jason Fried's "The Way I Work" that will help you see how he manages interruptions.
http://www.panesar.net/2009/11/05/the-way-i-work-interruption-is-the-enemy-of-productivity/ Since I am a new user StackMeta won't let me post more than one link here.
check out www . inc.com/magazine/20091101/the-way-i-work-jason-fried-of-37signals_pagen_2.html
Get everyone to have their mobile phone on the desk; if the screen is facing down, don't talk to me, else if it's up, then they're free. Simple and effective.
Red, Yellow, and Green 'flags'
This system is very effective if its enforced and respected by mgmt.
I've actually got a very similar situation at my office. My work tends to require more isolation than what others in the office are used to (or understand). The cost of a 2 min inturruption can easily be 10-15 minutes when factoring in the time it takes for me to re-align my focus, find where I left off, and try to rebuild my momentum.
To do this, I utilize three tools. First, as a lot of people said already, I wear big fat headphones. It's a visual deterrent, and when I'm wearing them, the foot-traffic to my desk drops a lot.
Second, I'm a bit more abrasive than others. I'll tell people straight away that I won't talk to them unless they've cleared it with my supervisor or they send an email. It may seem rude/mean, but if you have work to do and other people can't respect your time and deadlines, then I don't see anything wrong with telling them to go away and/or save it for later.
Lastly, when I can't even afford to tell people to go away, I hijack a commons room and put a sign up saying that all communications are to go through my supervisor (who acts like a gatekeeper when I'm working on ultra-critical & time-sensitive stuff).
To be honest, I find email and IM to be very un-intrusive b/c I can ignore it until I need to change focus for a sec. IM's don't have to mean 'instant response'. It should be okay to send a message and expect a response in <2h.
I have another solution:
Use the IM 'status' that you already mentioned... and to address the people 'walking around' issue, get everyone on ethe same page that even then they should check the persons status on IM before physically interrupting them and rely on that status. Lets face it, we're all pretty close to a device we can check these days.
Some companies, depending on workflow, size, etc find that a (big) external monitor that has a permanent skype account logged in and the screen resolution set "low" so it is bigger (e.g. ctrl+++++) is a great tool and big screens and pretty cheap now.
The first couple of times that someone interrupts someone else who's status is unavailable (and this isn't urgent) will be a bit awkward, but that's when you really get people into into using it religiously.
Rather than putting a silly flag on their monitor, or making them wear a "do not disturb" hat, how about ensuring that everyone has a reasonable sense of determining whether it is appropriate to disturb someone else?
The phone shouldn't be in the same office, otherwise it would disturb anyone. I'd try to put it lowvoice at least.
Regarding when to interrupt, email (messenger or something) may interrupt less than raising a question. Nevertheless, nothing can susbtitute sense, try to raise awareness of the situation and ask for collaboration.
I've worked in a lot of different set-ups and have found a good compromise:
High cubicle walls. Offices are too impractical(cost) and inefficient(communication/isolation). Open offices are too... well 'open' for technical work for many. High Cubicle walls (about 6ft high) absorb sounds, give privacy but still allow drop-bys and open communication. Flags, hats, headphones and all the other tools only work if everyone does the same thing and has the same expectations/understanding on privacy/concentration but of course everyone is different themselves in those areas. High cubical walls will sound like heresy to some and they depend on how motivated people 'really' are when not so visible. As always the answer to that is best measured by results not by observed actions.
I'd agree with what everyone has said about managing the physical, direct interrupts that happen to throw off developers and other people who need focused time to work effectively.
Those superficial kinds of interrupts are only the beginning! If you're going to take time to manage this, it's worth stepping back to re-evaluate the development process as well to find out about all of other ways developer flow is being interrupted during the day (meetings, defect tracking, too much time handling lunch/logistics, etc).
Helping your developers manage their time and prevent/batch the interrupts goes beyond how people are physically moving and talking in the office.