More and more companies are trying to offshore software development to countries in Asia and Eastern Europe. By and large the motivation for these efforts has been to reduce the cost of software development, which is facilitated by the low cost of software professionals in these countries. The mean base salary for a typical software professional with 2-4 years of experience in US (Dallas area) would be around $69K (source salary.com). The fully loaded salary is around $100K once we add the overheads like taxes, health benefits, bonus, vacations, office & equipment costs, etc. Contrast it with the hourly rate of $8 to $25 for the offshore software professionals and one can easily visualize the savings. However, only considering the hourly rate of individual offshore software professionals is a huge mistake. There are several hidden costs associated with this operation:

Client Management Cost

An outsourcing operation requires close and proactive supervision to make sure that there is no communication gap between the client and the offshore team and the offshore team is continuing on the right path. Since the offshore team does not have the advantage of ‘picking up the hallway conversations’, it is all too easy for them to continue with incorrect assumptions. There are three main models to manage the offshore teams:

  1. The client directly manages the offshore team. This is one of the more expensive options because a senior member of the client team will be responsible for this supervision. This person will not only have to spend significant time with the offshore team, he /she will also need to be working at odd hours – resulting in the loss of productivity during regular hours. The above is true even if the client only needs to communicate with the offshore team lead.
  2. The vendor places offshore team manager at client’s premises. This option is much better than the client managing the offshore team directly. This may also be the most cost-effective option with large offshore teams (5+ offshore members). However, this still suffers from two drawbacks. An on-site manager is like an extra employee – more expensive and with many of the overheads associated with an employee. Moreover, the on-site manager is typically a low to medium level professional with little US experience. The client still needs to invest significant time and effort to make sure that the ‘supervisor’ understands the project and stays on-track.
  3. The vendor places a highly skilled US trained professional at client’s disposal. This professional is responsible for all communications with the client’s team and takes overall responsibility for the project success. He or she would spend as much time as required on client’s premises, even full-time for large projects. Though these professionals tend to be very expensive, the total management cost may still be lower.

Offshore Team Training Cost

We can assume that a good offshore team will be already trained in the common technologies (e.g., C#, J2EE, WebSphere, Linux, Oracle, etc.) required for the client’s project. However, there may still be a lot of areas where the offshore team will have training requirements. These include:

  1. Less common or cutting edge technologies
  2. Client’s development environment
  3. Client application architecture, design, tools and API
  4. Client specific domain knowledge

The above training is required even for the client’s employees. However, starting an offshore team is like opening an office in a new location. Typically one or more experiences people (trainers) are sent to the new location to manage the training of the new hires. Similarly, optimal training is achieved when client sends senior members of its team to offshore location for extended time. This, however, can be extremely expensive and only feasible for very large projects. Another possibility is to call senior members of the offshore team to US and train them.

Offshore Team Attrition Cost

As offshore development is becoming popular, the demand for trained offshore professionals is also increasing, resulting in heavy attritions (by some statistics as much 20% in India). This results in addition costs, including hiring and training new resources. Even though the vendor takes care of the hiring costs, the new employee training costs are typically born by the client. Worse still, it has the potential of delaying the project resulting in huge opportunity costs.

Some offshore vendors maintain ‘shadow’ resources to counter the attrition related issues. They assign additional resources to the offshore team to work alongside the team and get trained. If and when a team member leaves, these shadow resources – who are already trained – take their place. However, the client will need to pay for the additional resources. Even though the shadow resources are not explicitly billed to the client, their cost is spread across the rest of the team.

Offshore Team Lack of Productivity Cost

It is a myth that the countries like India has no dearth of skilled software professionals. Highly skilled and experienced professionals are very hard to come by. However, there are a lot of fresh graduates with programming knowledge. The skill level of these individuals vary a lot. With this reality, the offshore teams tend to have a pyramid structure. The apex consists of one or two experienced professionals and the bottom consists of 5x fresh graduates. The middle is filled with software engineers with 1-3 years of experience. This pyramid structure keeps the costs low. However, considering that numerous studies have found 10:1 difference in productivity and quality among the individuals; the productivity of the team as a whole suffers.

Conclusion

When thinking about the offshore development, one should not only consider the low rates of the offshore software professionals, he/she should also be aware about many of the hidden costs. Moreover, the economics of offshore development for large projects is very different than the smaller projects. I am definitely not saying that offshore development is not a viable option, but one needs to carefully choose the correct model and the correct offshore partner in order to derive maximum benefits from this endeavor. Otherwise, this may turn out to be a very unpleasant experience with disastrous consequences.