Quite often, when corporations consider the possibility of doing some or all of their software development offshore (typically in Eastern Europe or India), the decision is made without considering all of the factors necessary to arrive at the best decision.
With companies that already have internal development capability, careful consideration needs to be given to the strategic importance that this capability provides. Unfortunately, in many companies executive management often misunderstands the process of software development. They frequently view the software engineering community and its professionals as a management challenge and the product that they produce as a commodity without regard to the value proposition that this capability can deliver.
The promise of lower hourly rates with offshore development is typically the "public" justification given for considering the possibility of going offshore, but often the true financial comparison is not given much more consideration than this simple comparison. This promise, combined with the desire to unburden the organization of internal development groups, forms the basis for sending the work offshore.
However, deeper consideration can often show that the perceived advantage quite often is not realized and that the organization could suffer in the long haul. The strategic importance of the software product being developed internally can often dwarf the perceived short term savings of a lower hourly rate. In addition, frequently the lower offshore rate does not result in lower overall development costs.
I recently did an analysis for a company that had multiple in-house development groups and one group that used offshore development exclusively. The organization claimed that the cost savings realized going offshore was substantial, based on the fact that the offshore company charged about $18 per hour, while the in-house groups had a "rate" calculated at over $60 per hour.
In reality, a comparison of total development cost as a percentage of the sales generated in each group revealed a different conclusion. The group doing development offshore had a development expense as a percent of sales that was over two times the groups using internal development resource. So not only was the company not saving money with the offshore resource, but also they also truly did not understand the total picture that made up their development expenses.
So in this scenario, what were the factors that were overlooked?
- Less overhead for internal developers—typically, the relationship with offshore developers requires extremely detailed specifications in order to communicate the software product being developed. While specs are necessary with internal development teams, the team can afford less rigor in this area, as issues are more easily resolved locally.
- The proximity of the development team to the "internal" customer (i.e. Sales, Marketing, Product Management) makes an iterative development process during the design/development portion of the project efficient and effective.
- Typically, an internal development team has knowledge of the industry, the channel, and the customer that the product is being developed for. This knowledge improves efficiency, accuracy, and ultimately provides value that is difficult or impossible for an offshore developer to deliver.
- Qualifying the software product with the customer (assuming the customer is in the U.S.) can also be lead to more logistics difficulty, additional communication between the client and offshore developer, and overall less efficiency.
Costs aside, the organization looking for an offshore solution must also consider a host of other factors regarding intellectual property security, potential legal issues with export control policies, and potential difficulties with project oversight.
Rather than focus on cost, the organization dependent on software products may receive a larger payback from more focus on the benefits their internal team can deliver in terms of innovation and the strategic value that their current organization can deliver. Software development is by nature an experimental and iterative process—organizations should not only accept this fact, but they should embrace it as a competitive advantage in an ever-increasing world of "me too" thinking.