What can an organization expect by taking development offshore? The simple answer is not only cost savings, but possibly riskier projects. A rather straightforward project executed offshore is simply more complicated than the same project executed locally.

The cost savings may also not be as dramatic as they first appear. For example, if you estimate your project at 2000 hours locally, assuming US $50/hour, you can be sure that the offshore version will not be 2000 hours at $25/hour. You need to account for distribution cost, which is the cost of effort required by the simple fact that your project is now distributed, plus the cost associated with the added complexity of your project.

Best practices, however, do exist for offshore development -- and software development in general -- and have proven that, coupled with a collaborative, open environment, a successful offshore project can become a reality.

There are many papers about offshore development, listing challenges such as reduced opportunities for communication, decreased visibility into project progress, misaligned expectations, and more.

The same challenges exist on troubled projects where all the players are in the same location. This suggests that the challenges must be due to something beyond the geographical distribution. The fact that a project is distributed is only another aspect that needs to be taken into consideration when structuring the project. An organization contemplating offshore development must first look at its local successes and consider the following:

  1. If you are dealing with challenged projects locally, then offshore development isn't going to be an exception. You can expect the same challenges, if not more.
  2. If you are successful with your local projects, your chances of succeeding in a distributed environment are greater (although not guaranteed). Your first step must be the conscious design of an appropriate structure and approach for the project.

Offshore projects are more demanding in terms of collaboration, communication, and expectation management, as well as real-time, accurate progress tracking. Therefore, the mechanics and dynamics used on local projects will have to be adjusted to handle the time, culture, and language differences. The following best practices contribute greatly to fostering the appropriate collaboration and to mitigating the distribution challenges:

Local autonomy is not optional in a distributed project; any expectation of remote individuals influencing local activities on a daily basis is wrong. Local and daily activities are best assessed and influenced by local individuals while the remote contribution is one that serves to build understanding for the needs of the remote team.

Depending on the project complexity and your success with local development, the result may be that it will be cheaper to keep your project local. In the end, the best advice is to go through the exercise and decide what kind of cost savings will be worth the added distribution risk.

See also Guidelines for Applying DSDM in an Offshore Environment