Is it Worth the Effort?
Clearly, a number of challenges are introduced by offshore development, and some of them are likely to be made worse by using an agile approach. Some of the techniques suggested for mitigating the problems caused by agile (such as resource rotation) actually reduce the benefits of offshore sourcing. Even if you allow that agile teams are able to produce software more rapidly, there is some question as to whether the inevitable delays caused by reduced communication bandwidth counterbalance the speed of agile teams. This begs the question: Is it feasible to apply agile methods to offshore development?
The early results of our efforts in Bangalore have been very promising. We're using an agile approach for two large projects co-sourced between India and the U.S. Both of these projects were originally based entirely onshore and used agile methods in that environment. Several experienced project team members have spent time in India and the knowledge transfer is proceeding very rapidly. We have successfully deployed several iterations of remote development with software analysts (our term for proxy customers) located in the U.S. and developers in India. Based on these results, we plan to continue growing the India portion of both of these teams and to continue using an agile approach.
Two factors that certainly enable us to use an agile approach for offshore development are that we've been using agile methods at ThoughtWorks for several years and that these two projects are quite large (greater than 50 team members each). Learning agile development in an internationally distributed environment would certainly pose additional challenges and risks. Smaller projects might not be able to recover the expenses associated with rotating resources through cost savings on offshore development and might have to figure out different ways of collaborating and communicating.
Though on the surface the case against offshore agile development seems strong, our experiences using it on two projects co-sourced in India and the U.S. are beginning to convince us that despite these hurdles, the benefits of agile developmentchiefly that it responds well to change and delivers high business value more rapidly than other approachesmake offshore agile very doable and very worthwhile.