Skip to content

Distributed Agile Development - 1: Reinterpreting the manifesto.

September 28, 2007 by Vaibhav

This is Part 1 of an indefinite series of posts centered on the topic of distributed development and using agile methodologies in distributed teams.

Problem
One of the principles of the Agile Manifesto is: “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.” The manifesto was put together in 2001; a long time ago by software industry standard. At that time, offshore development (the primary scenario for distributed development) was beginning to gather momentum, but most such development occurred using the traditional heavy-weight development methodologies.

Today, there is a big shift to adopt agile techniques in distributed teams. How do such teams cope with being almost totally against the spirit of one of the principles of the Agile Manifesto? This post will highlight one of the many measures taken by teams around the world to achieve the spirit behind the mentioned principle:
“The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.”

Solution
Here are some ideas that you can use to remove/reduce the need for face-to-face communication:

  • Use of Technology: VOIP, Webcams, Screen Sharing Software. Technology, it seems keeps advancing. While, futuristic video conferencing solutions are still beyond most organizations’ means, there are many ‘good enough’ substitutes available which make it very comfortable and give near ‘face-to-face’ experience. At work, we use a combination of Skype/Vonage, Web Cams, and GoToMeeting/Webex, to achieve this on a daily basis. There are teams who do their daily Scrums over Skype and a shared desktop.
  • Take time out to get to know the teams: My organization strongly suggests all our clients to have visits back and forth between the two teams. Usually, someone from our office visits the client’s office at least twice a year, and we also invite team members from the client’s team to our office. What this does is that it allows the team members to know each other on a personal level (something that is very hard to achieve over phones and emails). This encourages a lot more participation during the Scrum calls for example (if you have met the person on the other side).
  • Spread Cultural Awareness: It really helps to know about the people you are interacting with. It helps if the teams know a little bit about the culture of people on the other side. It avoids awkward situations during communication (for example, one of the problems faced by some of my team member is that they never know if the client is joking or not). We hold workshops, where we call-in experts to educate our teams about cross-cultural communication.

Conclusion
Although, nothing can replace a true ‘face-to-face’ conversation (yet), the true message of this principle of the agile manifesto is to eliminate the inefficiency ‘non-face-to-face’ communication: which is slow and prone to misinterpretations. But a mix of technology and best practices can definitely come very close to eliminating the inefficiencies of ‘non-face-to-face’ communication.

What are your experiences?

Comments

My experience with a global team

October 5, 2007 by Deven Kalra (not verified), 1 year 1 day ago
Comment id: 1362

When I started to develop software for my new company (infodoro.com), I started to work with a distributed team in eastern Europe and India and the daily scrum was not as practical. During that time, I realized that Agile is a lot more than the daily scrum. And it is quite practical and effective to do Agile development in the true sense.

From almost the beginning we made sure that we had

1. A central globally available source control system
2. A globally available bug tracking system
3. A globally available test case management system
4. Insistence on writing unit tests
5. An automated test suite and harness
6. A continuous code integration system with the unit tests and the automated test suite integrated in
7. A globally available wiki, task management and messaging system

The results of this upfront work have been very encouraging with the quality of code produced and the quick turn around on features.

Interesting, Deven. I always

October 7, 2007 by Artem, 52 weeks 17 hours ago
Comment id: 1367

Interesting, Deven. I always considered people practices being more important, but.. in the offshore environment making sure technical synchronization works might actually be a part of people practices - to let people discuss the problem instead of spending time on figuring out what doesn't work on the other side.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.