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:
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