@dave – great article, and you've covered all the arguments re: on-site and remote work and then some
To your idea >> Have more cross-functional team meetings
I'm going to expand to: have standing cross-functional working groups and teams – on site and remote.
Because engineers won't ever site with marketers in the cafeteria, or the other way around. They don't know each other and have no reason to.
But, getting people from different groups together working on products and services on a regular basis makes them true co-workers, and not working in a silo. Change group composition every year, and make sure nobody is left out, from the bottom of the food chain to the top – everyone contributes.
The challenge is making the group work together – finding the right keys to stimulate thinking and to balance ideas, while keeping it all on track. The results can be really valuable