I’ve been working the past several weeks with some highly distributed teams. Each team requires a way to track their project effectively (when you have people in 6 different states and a few countries cards on the wall no longer work!), collaborate, use planning poker and store things pertinent to the project. What can you do when co-location is just not a possibility?
It turns out there are many ways to help overcome pieces of the problem. Unfortunately, the problem also has many pieces! Below I have broken out some of the tools I have seen used successfully to overcome various issues distributed teams face:
Issue: Lack of high-bandwidth communication
This is probably the biggest problem distributed teams need to solve. How close can you come to high bandwidth communication? That should be the question you ask all the time. Since this is about tools, some that I’ve seen used are video conferencing that is live all the time (cheaper than you think when done over the Internet), extensive use of Skype, instant messaging of various flavors, and a good old fashioned phone call. For teams that overlap the work day at all, some form of instant messaging is used nearly universally. I’ve also seen teams use Twitter in “private” mode to share information with each other. For any of these methods it is vital to have an easy method of storing the critical information which is exchanged.
Issue: Cannot use “cards on the wall” to track iteration progress
This is the issue that is probably easiest to deal with because it is where most vendors of agile tools have focused. You basically have 4 choices here: 1) create something of your own to solve this problem, 2) use something like www.cardmeeting.com to still try to simulate cards on the wall, 3) use an Excel spreadsheet for tracking, or 4) use a web-based tool designed for the job. To me numbers 1 and 3 are not viable solutions. There are too many problems associated with both of them. Number 2 is interesting, but only for a short time. It doesn’t quite have enough flexibility to make it easy to use for this particular type of situation. That leaves number 4 as the only true option (again, this is my opinion, yours may be different). In this category are LOTS of tools. VersionOne, Rally, Pivotal Tracker, TargetProcess, Microsoft TFS and many other applications can do the job. I have not mentioned any open source tools because I’ve seen too many teams try them, get stuck and have no good place to turn for help.
The two having the largest market share by far are VersionOne and Rally. Both have a free version for evaluation and in both cases they also have a free version which can be used by small teams forever. I know there are lots of other tools out there, but I’ve not personally used them, so I can’t put them in here.
Issue: Cannot play Planning Poker remotely
OK, I lied earlier – THIS is the easiest problem to solve! Assuming you can get everyone on the web at the same time, www.planningpoker.com will suffice quite nicely. This site has several different variations of point scales to use, can import stories, has a timer you can use and basically makes playing Planning Poker remotely as simple as possible. Kudos to Mike Cohn for setting it up and keeping it free for the agile community to use (Mike has also written a couple of books we have listed on our resources page).
Issue: Information storage and sharing is difficult
This is another area with lots of potential answers. Wikis are very popular and probably the number one choice for taking a stab at this particular issue. Sharepoint is another option that I’ve seen work well. Many teams using an agile project management tool like VersionOne (or one of the others mentioned) will create links from the tool to wherever the additional information is stored, thereby allowing them to use any storage medium including something like subversion.
While there are lots of choices in this area, good agile principles tell us to eliminate waste. This is a huge potential area for waste. If you can’t find something then it might as well not have been there at all. It is vitally important for teams to pick a tool and a way of using that tool which allows for easily finding information when necessary!
Other random tools:
www.etherpad.com – real-time collaborative text editing
Google Docs – online document sharing
www.tinychat.com – instantly create and use a chatroom
www.scriblink.com – online whiteboard
As you can see, there are a LOT of tools available for use with distributed teams. Let the agile process work for you by having the team use one for an iteration and at the iteration retrospective (you do have those, right?) decide whether to continue using it, change how you use it, or decide to try a different tool. There are far more tools than I’ve listed. Let Google be your friend and find ones that solve your specific problems.
Until next time my clients will be using many of these tools as they continue Making Agile a Reality™.