Case Studies On Bringing Agility to Offshore Software Development


cases. However, this was not always possible due to long distances. Therefore, the offshore companies either recommended having an offshore person onsite, often a project manager or a business analyst. Onshore companies using offshore resources used a three-tier model where onshore developers or consultants could work closely with the onsite customer and transfer requirements and project knowledge on to the offshore developers.
Daily communication took a wide range of forms, ranging from daily face-to-face meetings with stakeholders to daily e-mails and chats with a customer representative. Daily synchronous communication was normally performed with a representative onshore first talking to the customer and then to the offshore team. Often the stakeholder was busy with the core business and would allocate a representative that would be the customer's proxy to the offshore development team. This person could help the offshore team to understand the business issues. This would improve the close relationship to the customer and would help against communicative bottlenecks. All cases found this approach helpful, whether they were agile or plan-driven.

Not only would the closeness to the customer help accelerate the transfer and understanding of the business requirements, it also helped align the organizations working together. The information-rich feedback cycles provided by daily communication would help coordinate differences in teams and culture that normally would impede project progress. Including daily communication in the project process made informational bottlenecks (one of the biggest challenges for offshore organizations) much smaller.

As experienced by a European participant, customer satisfaction often declines after project kick-off, as the customer feels he does not know where the project is going. An agile American participant therefore considered early deliveries to be extremely helpful in removing the customers' fear of offshore development. Many, especially Indian, offshore organizations would use a waterfall approach. This means the customer has to wait a long time after project quick-off to see the result. If something goes wrong, it goes really wrong and the customer has to settle with a wrong product or delays and increased expenses. Early deliveries give the customer the chance to correct and coordinate and participate in the project's success.

Another agile tool found helpful in this matter was using Scrums or planning games. They were often considered helpful in order to accommodate the complexities of the project and to get the customer to take an active part in the process. This approach helped overcome a lot of the challenges found in offshoring including bad communication, organizational and cultural differences, bottlenecks, establishing common processes, aligning common expectations, getting the customer involved, transferring business understanding offshore, and implementing projects that were not well-defined.

Small Teams and Projects
Some companies ran big offshore projects and expected big cost savings. One very large project ($40 million US) faced the challenge of being too big and too complex. The team started out with a traditional large-scale plan-driven approach using a waterfall method. However, it simply couldn't control the size and the complexity of the project by using this approach. It had to accommodate the use of subteams and practices from the XP methodology in the middle of the project in order to avoid project failure. This helped the team tremendously and it delivered the project successfully to the customer. Another plan-driven company, having an offshore development center in India, found that its most successful projects were those of smaller size.

Most cases found that keeping the projects and teams small helped communication. Cultural differences and issues were not as visible in smaller projects, whereas they were more distinct in bigger projects. In some cases it was easier to meet the financial expectations

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.