Last week at PubCon, Wil Reynolds and I were talking after lunch and he mentioned that he preferred having his team all in the same office. I can respect that and in some cases it’s a necessity. On the other hand, I feel that if you have a great team, it really doesn’t matter where they are when they’re getting sh*t done. They will excel regardless of the environment.
Over the past 14 years, I’ve worked at least 80% of my time from somewhere other than an office. Sometimes it’s on a road trip or “vacation” (do any of us really go on vacation anymore?) and sometimes it’s from home. The biggest obstacle each team I’ve worked with has always been communication. It sounds like that is Wil’s biggest concern when it comes to his team. I don’t blame him for that concern. It’s perfectly legitimate and in some cases, there’s no reasonable solution for it.
Here at AuthorityLabs, we’re all increasingly working remotely. Our CTO is now in Raleigh, NC (we’re based in Chandler, AZ), two of us are home almost all of the time, and the rest of the team knows they’re free to work from wherever they feel necessary. With the increased separation, there have been some growing pains for sure. At this point though, we’re more efficient than we have ever been and communication has been great.
The first key to our internal communication is that it’s possible for all of us to communicate in the same place quickly and easily. For this, we use Campfire. Not only do we use it for discussing our internal issues, we have a separate room that a few friends of ours can access where we discuss ideas, code, or new tools. When anyone checks something into GitHub or updates an issue, Hubot posts a message into our Project Status room and we all see things moving and improving.
You would think that since we use Campfire, our project management would go through Basecamp. While we do use Basecamp for some things, none of us really like the way it fits into our system. Each of us manages tasks & projects in our own way and so far, the best fit for that has been Flow. It allows us to see what’s going on, what’s coming up, and discuss anything on our lists. All of the various options for notifications that are built into Flow makes communicating almost automatic.
Sometimes it’s important to have a little face to face with your coworkers. We’ve found that the best solution for us is Google Hangouts. At least once a day, we all jump into a Hangout and discuss what’s going on for the day, any issues from the previous day, and the status of any upcoming projects. There have been times where we need to quickly discuss a new feature or bug and it’s actually quicker and easier to do a Hangout than it is to get up and walk to someone’s desk and/or find a quiet place to chat. We just post a link into Campfire and those who need to be in the chat jump in and take care of business.
It’s Not Perfect
Most of the time, our system works flawlessly and we all communicate very well. From time to time, we end up in some fairly heated discussions and those aren’t necessarily facilitated well over Campfire or a Hangout. On the other hand, those discussions seem to help the process evolve and everyone learns from it. Just like with anything, there’s an ongoing learning curve, but I think it has been well worth it and we’re a pretty happy company as a result of the freedom.