Why not a compromise. Sit small teams together in separate cubes or offices? Once I was stuck with half my team in a conference room because of renovations in the office and while I can't speak for productivity it was a good environment for my sanity. Everyone was quiet enough and we were a tight knit group of young developers so it went smoothly enough. The other half of the team fared a little worse because of a few contentious individuals though