much as when paying for the whole project. This made it easier for the customer to commit to the project and gave better business to the offshore vendor. To many, the idea of short feedback cycles and improved communication went hand-in-hand; this approach was supported by using short iterations.
Challenges Mapped With Agility
Figure 1 maps the agile practices and methods talked about in the previous sections with some of the challenges in offshore development. These challenges include:
- Transfer of business understanding
- Poorly defined projects that demand a lot of cooperation
- Making requirements precise enough
- Getting the customer involved
- Cultural differences
- Handling the customer/vendor bottleneck
- Defining common expectations
- Time zones
- Unknown requirements by the customer
- Organizational differences
- High attrition rates
- Geographical distances
As seen from the table and as we learned from the previous sections in this article, agile development is helpful in meeting many offshore challenges. However, not all challenges in offshore development are helped by using agile methodologies. Some of the methods are very hard to implement in an offshore scenario. The team cannot be onsite with the customer and knowledge was transferred offshore either over the phone or by other electronic means, which is a step down in communicational richness. Even using the phone could be difficult. One issue is the time zone issue, but very often team members having English as a second language would speak with a very heavy accent. Combined with noisy telephones it would make it very difficult or impossible to transfer knowledge using direct communication tools, such as the telephone or videoconference equipment.
Agile methodologies contain a wealth of principles and practices. A number of those were found to be very helpful to offshore development. In addition plan-driven offshore cases have adapted and used agile principles with great success. The most important reason for this would be that the agile practices helped to improve communication and knowledge transfer, things that are heavily impeded in offshore development due to different time zones, geographical distance, and misunderstandings due to different cultural backgrounds.
Those cases with a strong agile background but new to offshore development found that they got competitive advantages such cost savings, access to resources and talent, or time-to-market benefits. Despite the fact that these cases had an advantage due to their agile experience, it was not always easy to be agile offshore. The price for improved agile communication could be high. Rich agile communication demanded the use of more onshore consultants onsite with the customer, more hotels, and more travel. These things have to be calculated into the equation before one adds agile values to the offshore project or takes the agile approach offshore. Still, integrating agile ideas into offshore development helps overcome some severe challenges and improves the ability of making complex projects offshore.
Whether engaging in a purely agile setup offshore or combining an agile methodology with a more traditional approach, participants in the investigation found that they benefited from using this communicative approach. However, despite the fact that agile value, principles and practices can help overcome some offshore development challenges, offshore development is still no silver bullet. Offshore development is ridden with challenges which must be attended in order to avoid project failures and must be used with care and attention in order to archive project success.
About the Author
Henrik Munkebo Christiansen(MSc in IT and Software Engineering) has five years' experience as a developer and IT consultant. He works for NNIT A/S in Denmark and has a keen interest in software processes and methodologies, especiallyfor global software