December 20, 2009 in Agile, Tools by Mark Levison
Offshoring is frequently promoted as a way to produce great products for far less money. So many software development companies boast about sending large amounts of their work to India or China to reduce costs. Unfortunately in doing so they’re often reluctant to pay the price to create and maintain high performance distributed teams.
Agile works on the basis of a few simple principles:
- Short Feedback loops – which leads to iterations, TDD, …
- Radical Transparency – which leads to daily standup, demo/review, …
- Face to Face Communications – which leads to high trust, group problem solving, …
- Value – which leads to eliminating waste
- Continuous Improvement – which leads to retrospective, adoption of engineering practices.
Thinking back on every project that I’ve ever worked on (Agile or not) the quality of communications was a good predictor of the success. So when we run distributed teams there has to be a focus on making the communications work.
At best the typical approach to this problem is to buy web cams, fancy video conferencing software and conduct our meetings sitting in front of them. But that misses the point – these devices improve the quality of communications but not enough. They don’t build trust. To really build trust you have to meet face to face for at least a week. Unfortunately trust is weakened through the course of the year, so it has to be renewed. At a minimum team members need to visit each other twice a year.
So if you really want to get a high performing team – don’t underestimate the real costs, budget for travel – a minimum of twice a year to build and maintain trust. Don’t short change your distributed teams.