Thanks for visiting! Like what you read? Subscribe in a reader

Thursday, November 8, 2007

Agile tips when co-location is not possible

I was recently asked if Agile is even worth doing if your team is not co-located. For example, some teams are split between two nearby locations, some are telecommuting teams working from their homes, and others have people at various global locations (NYC – LondonIndia, etc.). Certainly the distance and time differences make co-location and face-to-face communication, two hallmarks of Agile, pretty difficult. As I mentioned in my previous blog about the benefits of co-location, there is nothing like it if you want the optimal efficiency that comes from effective face-to-face communication and efficiency.


However…it isn’t the end of the world, and face it, how many of your projects have had the ideal conditions, anyway? After not being able to arrange for team co-location, some might be tempted to drop Agile altogether and swing straight over to a more heavy approach. My advice is, don’t throw the baby out with the bathwater! Here are two main pieces of advice:


Use the Agile best practices that make sense for your project


Even if a co-located team isn’t a reality, there are plenty of other Agile best practices that can still be applied, such as:

  • Iterative development
  • Frequent releases
  • Daily stand ups
  • Test driven development
  • Accommodating evolving requirements
  • Daily interaction of business and developers

Not all best practices can be used with every project and customer, but use the ones that make sense. This is not an all-or-nothing proposition.

If an ideal implementation of a best practice won’t work, do the best you can.


So your team isn’t completely co-located. However, this doesn’t mean you can’t get close to simulating co-location and thereby obtaining as much of the benefit as possible. Here are some ideas:


  • Ensure co-location at each site – Of those team members at one location, ensure that they are working side-by-side and are not spread out around the office.
  • Use virtual meeting apps and video conferencing – Web conferencing tool such as WebEx and Live Meeting can be used pretty effectively for daily stand ups, iteration meetings, and daily discussions with the business. Use these frequently and you’ll see how natural they become. Add video conferencing and it is much like being in the same room. I’ve used this to meet with people across town and around the world and it can be quite effective. Make these resources available even for impromptu discussions.
  • Get the team on instant messaging (IM) – This is not the most effective communication, but having the team always accessible via IM can help everyone stay connected. I do recommend, however, that if a real discussion is needed, you should graduate the discussion from IM to a phone call if not a video conference.

Sometimes time differences make even virtual meetings difficult. However, there are a few options here as well:


  • Enable virtual attendance
    – Have people log on and attend from home.
  • Adjust work schedules – Arrange work schedules so that there is overlap.

Again, these measures won’t give you all of the benefits of team co-location. When people are together, there are more useful impromptu discussions, people overhear valuable information, collaboration is much more convenient and frequent, etc. However, by applying these ideas where possible, you can minimize the downside and maximize the team communication and collaboration.

No comments:

Post a Comment

Search the Archive of SmartAgile Posts

Google