Remote teams are forced to work asynchronously, but it can be an incredibly powerful constraint.
To Zach Holman of Github, that “everything is asynchronous” is his favorite part of working at the company. It kills distractions and interruptions—especially meetings—and helps people get in “the zone” or a state of flow for getting stuff done.
The problem that we’ve experienced recently is that to enable asynchronous work, we’ve felt that every developer had to have his own long-term project that he’d able to execute on totally independently.
The upshot is that in decoupling developer dependencies, we’ve lost focus and a coherent sense of what we’re executing on as an organization because the projects are too disparate. It feels like everyone is working on something totally different and that we’re going broadly on several things but not deep on anything in particular.
When someone on the team does need help, there’s a far more painful context switch to a project that’s potentially very different from what that person’s project is. Ironically, more help on big picture and direction is needed because the decoupled projects don’t present a unified bigger picture of product direction.
To fix the problem, we decided to go in the opposite direction—we had everyone in the company work on shipping one single thing, and that’s how we got our Slack integration out in a week.