- A a decent cultural protocol around it. One place I worked had the very strong rule that you start all non-emergency communication asynchronously (usually text chat), even if the person is right next to you. Another place I worked at strongly respected headphones as the "don't bother me" signal. - A reasonable number of walled-off rooms for anyone to use. Need to take a phone call? Have a quick 1-on-1? Debate something loudly with 3-5 people? You need to have rooms, of varying sizes, to handle these use cases near at hand. - Minimal noise that's not related to collaboration. Eg, no loud ringing phones. No phone-based customer support department in the same room as the devs. No kitchen (full of dishwashers, coffee grinders, etc) area facing the open workspace.
Open offices can work, but only if you go out of your way to make them work. Just throwing a few dozen devs in a warehouse is a recipe for dissatisfaction. I think that that happens more often than not, resulting in things like this study.