We are trying some things out.
1. DDDD (do not disturb developer days) twice a week. The general rule is that no one outside the team is supposed to interrupt unless production is on fire. A good idea in principle but it does not seem to be working too well. It is a lot to ask a 100 person company to remember which days they are allowed to interrupt.
2. A developer room with desks and monitors and a door. The idea here is that if you really need uninterrupted focus time the you can relocate you laptop in there and still have a full dev station ready to go. Room for two for pair programming. We will try this in the new year. Outcome is unknown.
3. Yeah, headphones, but that is like putting a screen door on a submarine.
My hypothesis is that a lot of interruptions are simply questions and answers that should live in a Knowledgebase. Get the knowledge in there and then make it searchable. Support dialog like stack overflow does with iteration towards answers/workarounds/ etc.
The behavior should change for all of us employees to turn to a search bar when we have a question about the company, data, or anything (dev or otherwise). We already to that with google, amiright?
My solution to this problem will be to implement a company-wide QA site like stack overflow. We use atlassian products internally, so I will be evaluating their Answers product.
My goal is to package and sell this idea to management in the new year.
I've done this in the past for smaller orgs for b2c on the support side, and it works well (so long As someone inside your org "owns" it. )