Transitioning to Agile in Onshore-Offshore Distributed Teams

[article]
Summary:
Whether you are concerned that your job is going to be shipped to India or feeling safe that the outsourcing craze is calming down, the reality remains that we live in a global economy and more and more companies are beginning to explore ways to creating software in distributed and multicultural environments. The Web and the open source movement have demonstrated that it is not only possible to create quality software in a highly distributed and decentralized manner, but also that it "makes business sense" to do so. This article presents a pragmatic framework for introducing Agile practices and tools to onshore-offshore distributed teams.

Whether you are concerned that your job is going to be shipped to another country or feeling safe that the outsourcing craze is calming down, the reality remains that we live in a global economy and more and more companies are beginning to explore ways to creating software in distributed and multicultural environments. The Web and the open source movement have demonstrated that it is not only possible to create quality software in a highly distributed and decentralized manner, but also that it "makes business sense" to do so. This article presents a pragmatic framework for introducing Agile practices and tools to onshore-offshore distributed teams (OODT).

As someone who has been in multiple roles from development to management on both sides of the shore, I've had the chance to work in several outsourcing models. My experience was in many ways similar to others' success stories [iv] and horror stories. [v] I've observed that finding a working model is far from trivial. [vi]
 Typical challenges can range from communication issues, IP infringement risks, and lack of adequate top level management skills to quality control, capacity management control and social and political factors. Then, there are the not-so-typical challenges like the incompatibility of the onshore-offshore company cultures and the way software is created. The last factor plays a crucial role in the success of the model, because it incorporates vital elements such as:

    • People and roles
    • Offshoring models
    • Infrastructure
    • Agile practices
    • Agile tools

This article focuses on these five aspects of software development which can help in transitioning the OODT to Agile. As with every transition, the important thing is to start small with a pilot project and learn as you go.

People and Roles
Every project starts with people. Alan Davis gives a simple, but precise definition of the importance of good people: "People are the key to success." [vii] In the initial phases of the Agile transition, companies should consider sending experienced onshore {sidebar id=1} resources overseas to help with important activities such as writing the automated build scripts (ABS) and setting up a continuous integration (CI) server. The role of a trainer coach could be to introduce practices such as team room and pair programming and show how each one is executed.

Onshore-Offshore Distributed Team Models
One of the biggest challenges of offshore development is finding a reliable partner. Unless the US company opens an offshore branch, it should do due diligence to select a competent and trustworthy partner. If the offshore company or its employees have prior US work history and some Agile development experience, this will increase the chances of success for the OODT Agile initiative. Flexibility is also an important attribute and despite flashy marketing materials, not all of the offshore companies are flexible.
Now, let's take a look at a few variations of the offshoring model. There are probably as many models as the number of practitioners, however for simplification I will lump them in three general categories.

Model 1: Partial Offshoring
This is the first model of offshoring in which the implementation team (programmers, testers, documentation and support services) is shipped overseas. In this model, the design team is located onshore and it sends the requirements overseas. The offshore team responds with back fully-tested and working code. The onshore team then performs the user acceptance tests and validates the requirements and the defects.

Model 2: Complete Offshoring
The second model tries to provide as much co-location as possible by shipping the entire production team, including design and implementation, overseas. The only people left onshore are the customers. In this model, the customers send

Pages

About the author

TechWell Contributor's picture TechWell Contributor

The opinions and positions expressed within these guest posts are those of the author alone and do not represent those of the TechWell Community Sites. Guest authors represent that they have the right to distribute this content and that such content is not violating the legal rights of others. If you would like to contribute content to a TechWell Community Site, email editors@techwell.com.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

Sep 22
Sep 24
Oct 12
Nov 09