I don't understand the appeal of open layouts either. Wherever I've seen them, they have been pushed unto developers from top-down. The arguments I've heard in their favor boil down to "they force people to communicate". Well, obviously, if developers don't communicate than it's a problem, but forcing a layout (or pair programming) does not seem to solve the root cause of the issue.
Ideally, I think developers should have a choice. There should be rooms for working in a group when necessary, and there should be cubicles or rooms for working in isolation. People would switch depending on the situation or personality.
I agree, the ideal offIce has a mix of both. It's great to have an area where everyone can chat and come up with ideas, but after that I want a deep, dark cave with impenetrable force fields and intra-office IM and email forbidden by nazi firewalls. I've taken to coming in on Saturdays just so I can get a solid 5-hour chunk of work done without interruption.
Poor communication is a cultural problem. No magic tool or seating arrangement will fix a company with poor communication skills. The only thing I've seen help in that situation is daily standups led by somebody who knew how to draw out more than "I fixed two bugs yesterday."
Ideally, I think developers should have a choice. There should be rooms for working in a group when necessary, and there should be cubicles or rooms for working in isolation. People would switch depending on the situation or personality.