On remote work
I've worked remotely to a greater or lesser extent for three or four years now -- ranging from working from home a few days a week to being 100% remote and on the other side of the country from the home office. In my experience:
For any given person, they're going to be less effective working remotely than they would be working face-to-face with their team.
ZOMG, let's all be Yahoo! and eliminate remote work!
OK, calm down. The story is a little more complicated than it might appear.
For one, remote work opens up your recruiting pool to more talented people who happen to live somewhere else and don't want to move. If the best developers are in fact 10x more productive than average developers, then you're much better off with them at 90% effectiveness than you are with an 1x or 2x developer at 100%.
For another, unless you have an on-site customer there's a better-than-average chance that you're already abandoning the "face-to-face with their team" part of the statement above, and you're already paying the reduced-effectiveness cost of a partially-distributed team. Recognizing that and adjusting in response is the best way to reduce that cost.
And finally, there are benefits intrinsic to remote work. Separating the team makes groupthink less likely, makes intentional action more likely than reaction, helps people think twice about interrupting, and lets people work when and how they choose, which can make them happier.
In the Twitter conversation that spawned this post, Joe O'Brien put it succinctly:
There are costs and benefits to both requiring everyone to be in one place and allowing people to work remotely. In some cases, balancing those costs and benefits may end up with everyone together; in others, they might result in a partially- or fully-distributed team. There is no silver bullet, other than committing to making informed decisions.