Earlier quoted context omitted.
That works OK, but it increases the costs of reorganizing teams and projects. If your project structure changes frequently, it really helps if that just involves moving people from one room to another and not having to tell them to find a new home.
I guess that depends on what you think the value-add is of offices versus remote working. In our organization, the value-add is forcing everyone to be on the same work schedule, promulgating organizational culture, giving managers an idea of peoples' workload so they can load-balance, and meeting the need of people to socialize. We cross-staff on a per-matter basis, and we'll generally conduct inter-team communicatio…
There also is a definite benefit to letting less-skilled developers interrupt the more skilled. Skilled developers without interruption kind of become data silos. They're extremely productive, but they could have a multiplicative effect on others' productivity that is wasted.
Even if most interruptions are useless, it's still worth it for the times when a senior dev stops a junior dev from wasting a week puzzling over a stack trace or implementing something useless.