7 Tips to Offshore Agile Development
Working with offshore outsourcing providers adds complexity to agile development projects, but it can be done. Here are 7 ways to make it work.
Mon, October 01, 2012
That had largely been the accepted wisdom in corporate IT since the iterative development approach was introduced more than a decade ago.
Distance, it seemed, would only make agile methods of close-working, collaborative teams, self-governance, and rapid, time-boxed development more difficult.
According to a September 2012 Forrester report on "rightsourcing" agile development, "geographically distributed teams add complexity [to agile development], making it harder for teams to communicate the flow of work, backlog status, and issues and impediments."
But over the last few years, many niche offshore providers have been quietly developing their agile development offerings-several exclusively supporting such incremental software development. And some IT leaders are embracing the offshore model.
"I know of a few successful examples of agile development with offshore teams," says Cindy Carpenter, vice president of research at outsourcing analyst firm HfS Research. "One experienced offshore agile project manager told me [that while] the usual view is that you must be in the same room to do agile, his view is that if you're not in the same room, the best way to do software development is with agile methodology."
Here are seven tips to make it work:
1. Be Prepared
Daily scrums via Skype or another video conferencing system is the only way to make distributed agile development work, says Carpenter. But no one wants to spent 15 minutes finding appropriate rooms and equipment for a 15-minute check in. That's a big frustration for those who offshore agile development, according to the September Forrester report, which says, "wasted time searching for rooms and equipment to support communication seriously impedes agile transformation." The solution is to create standards, not only for communication tools but also the software tools and method for sharing and discussing artifacts.
2. Start Small
Roman Kaplun, director of engineering services for discount travel site Hotwire, decided to offshore agile development because he had to compete with the likes of Apple, Facebook, and Google for programming talent. He opted to work with Russian IT service provider Luxoft, but started with simple test automation work for the first year and a half.
Then Luxoft began providing agile development services from Kiev, Ukraine and Omsk, Russia, in small teams. It was important to take time to grow the relationship and figure out how to work together most effectively, says Kaplun.
Carpenter advises limiting development teams to three to seven programmers in order to assess their skills and find the most effective coders. IT leaders should be prepared for less-than-stellar performance on the first few iterations as customer and provider work out the kinks. Time-boxing the work into small chunks--two weeks max--is also smart, says Carpenter.