When comparing the costs of programmers around the globe people usually focus on the hourly rates. But there are other costs to take into consideration.
If you hire only the cheapest junior programmers then you have to spend a huge amount of time writing a comprehensive specification describing EXACTLY what you want the software to do. Most companies don't do that, which either leads to disaster or spending every waking hour telling the programmers what to do.
Even with a mature and balanced team (with junior and senior programmers) you need to spend additional time managing and communicating to ensure you get the software you need. And for the best communication you will occasionally need to meet face-to-face and consider the travel costs.
When computed, the actual total costs are estimated at 2 to 4 times the hourly rate of the programmers.
The problem is few companies make this computation. They don't have a model to calculate the total cost of outsourcing and they then make decisions based on hourly rate alone.
In a past Accelerance Webinar Jim Tooley explained how his company calculated the total cost of developing software in Silicon Valley and in his company's Indian center in Bangalore. The added cost of using programmers offshore was offset by the much lower cost of their salaries. It's a similar calculation when outsourcing, actually simpler because you need to consider only the rates charged by the vendor without concerns for facilities and other G&A expenses.
To compute your total cost of outsourcing consider these factors:
- Travel Costs – air fare, hotel, meals plus the indirect costs of travel time, jet lag recovery and time away from the office and home.
- Requirements & Specifications – the time needed to create better documentation compared to direct and informal communication typically used with local programmers
- Management Time – additional time needed to ensure milestones are achieved and communications are clear
- Ramp-up Time – recruit and train the programming team
- Attrition & Time to Replace Programmers – reflecting the competitive market for programmers and the ability to replace those that leave
- Wage Inflation – the increase of cost over time (if any)
- Exchange Rate Risk – if you are paying for your programmers in something other than dollars or your home country currency
Jim's company was achieving cost savings with their offshore center in Bangalore. In their case the total cost of offshoring compared favorably to hiring programmers in Silicon Valley.
But there were several situations where the offshore programmers did not perform as well as expected. Jim's conclusion was that the differences in physical distance, time zone and culture were a significant inhibitor of productivity when working on new software features using an Agile and collaborative approach.
Jim concluded that a nearshore approach was better suited to these situations. His goal was not to replace the Indian center but to use a new global location better suited to the kinds of programming assignments he needed to accomplish. And the alternative of hiring more programmers in Silicon Valley would be at a cost very difficult to get approved by management.
To get started quickly, Accelerance was able to give Jim a list of pre-qualified nearshore vendors that were experienced in Agile development and close in time zone. Very quickly he was able to discover that technical skills, English competency and cultural affinities were very strong.
However, the hourly costs were higher than India (and other places in the world).
Out came the spreadsheet and the total cost of nearshore outsourcing was computed. The reduced travel and excellent communication easily compensated for the higher hourly rates.
Another way to compare the cost of outsourcing to different programming vendors and to hiring your own programming employees is to compute an average effectiveness or "efficacy" of a programmer in each team or location.
Jim concluded that the efficacy of the programming team in India was about half that of his Silicon Valley team. It's not personal – efficacy is heavily influenced by the overall environment at each location and distances involved. The efficacy of the nearshore team in Costa Rica started at about three-quarters of the Silicon Valley team and improved quickly.
Are we saying that everyone should use nearshore outsourcing? No. As Jim acknowledges, they still do great things with their programmers in India. And of course there is great programming talent the many other countries in between!
Cost is one factor in making your decision. Just make sure you consider the total cost in selecting your outsourcing destination.