I can mostly speak from the engineering side here, but my employer (100-250 employees, let's say, over the period of the pandemic) has been doing quite well with "full" remote, and if anything, we've moved from assuming we'd mostly be based out of two Canadian cities into a company with employees all over the world.

With the pandemic, we've effectively jettisoned our offices and for the most part employees seem happy with that.

Some factors:
1. We've always valued good communication between different locations and had always been tweaking how we ensure remote workers weren't ignored or that workers in a particular location felt left out of other teams. This is likely the primary factor, we already were consciously considering our remote employees even when that was relative to a particular office.

2. In 2019 our major office got flooded, and the smaller office had a similar issue happen to them a few years earlier. IT and Corporate had been forced then to be able to support 100% remote work from any location, which removed what would have been a giant transition pain otherwise.

3. Our leadership got into the concept of remote whole-heartedly. I don't entirely know their rationale, but we never really had a managerial need to see "butts in seats" because we have had distributed teams since very early in the company. There was aligned on this through every level. I think a lot of dysfunction also happens because not everyone through the levels of an organization realizes how much becoming remote means investing time in figuring out what that means for your given org or team.

4. Equipment stipends were granted. HR was tasked with finding workshops for employees about communication, mental health, etc ... the pertinent point here is that we were being explicitly guided and supported in various aspects of how to work from home effectively, _including_ communication. It wasn't left to everyone to figure out what to do on their own.

5. As part of the above initiatives on figuring out how the hell to do this, we read "Team Topologies" and other books that wound up being about how to communicate effectively as development teams. We wound up instituting a bunch of things (with input from everyone involved, although usually there was consistency) that came out of a lot of DevOps. I don't know if I can rehash it all here, but it basically was about each team setting clear processes around how communication happens within the team but also between teams.

6. We've always had little rituals for getting people to talk to each other and and know everyone in the company, even in the befor times. We have a scheduled bot that pairs people to have small 15 minute coffee chats; it was a hit when we had offices and people really love it now that everyone is remote. Part of HR's effort was running events that grouped people together in ways that facilitated getting to know other people around you (i.e. not the entire company in a zoom call, but small randomized groups with various attempts at unstructured conversations.)

In many ways, looking back over it, some combination of _always_ caring about communication is a huge part of it. It's a lot easier to just get by when you are in physical locations, but even teams working across offices shows how important conscious and disciplined communication cultures are, and that has to be adopted and tried at an organizational level. Coming from the infrastructure world I find a lot of the DevOps and SRE resources were useful here; Accelerate, Team Toplogies, Making Work Visible, etc... The remote aspect of it has logistical issues, but ultimately it's about information flow and figuring out how to develop trust between team-members and teams.