We’ve made a lot of changes at AutoRevo over the past few years, but one of the changes that I’m the happiest with is giving our developers the option to work from home. I’ve always felt that developers are the most creative and productive when they are comfortable in their environment. While our offices are certainly comfy, there is no place like home.
There are some challenges in having a distributed team, but we’ve found the following tools to be indispensable:
GitHub – A distributed version control system is a must for distributed teams and I know of no better tool than GitHub. Although we are moving to Rails, we have quite a bit of legacy C# code and we’ve had the incredible misfortune of using Microsoft’s TFS in the past. Only SourceSafe would eclipse TFS in terms of pain and suffering in it’s daily use, so GitHub has been a breath of fresh air for us. Beyond the fact it is ridiculously cheap for us to host private repos, it is fast, doesn’t get in our way and has great tools that let us view source, make comments, view commit history, manage our branches, etc.
Pivotal Tracker – If you aren’t already using Pivotal Tracker, you owe it to yourself to check it out. It’s a “Free, lightweight Agile project management & team collaboration” tool from Pivotal Labs. We can quickly and easily manage all of our stories in a single interface. It’s power is in it’s simplicity. We’ve tried many Agile tools such as Version One and Mingle (and paid tidy sums for them), but Pivotal Tracker is by far the best even without considering it’s free. I’d gladly pay for it. It’s that good.
Campfire – Distributed teams still need a way to communicate and email and instant messenger aren’t always the best platforms for that. With Campfire, we have a private chat-room for our devs where we can easily communicate back and forth, post links, the occasional screenshot and the usual daily dose of pointless banter and jokes which is always healthy for a team. All of the discussions are archived and searchable so it’s easy to go back and find information that has been posted in the past. I’ve been surprised at how useful Campfire has become for us. There are a number of great Campfire clients out there, but the best one that I recommend is Propane. (Although it is Mac only)
These tools would be great in and of themselves, but the fact that they are all integrated is even more powerful. Whenever a commit is pushed to GitHub, the commit notes are pushed into Campfire for everyone to see. Whenever someone adds or updates a story in Pivotal Tracker, everyone sees that in Campfire. There is no need for status updates, time tracking or other management nonsense. It’s clear what everyone is working on.
What tools do you use for your distributed teams?