Too often IT executives get dollar signs in their eyes when they first hear about cheap programmers offshore. They jump in at the lowest cost possible and then are not satisfied with the results.Their conclusion? Offshore outsourcing of software development doesn’t work!
But let’s step back a moment and think about the overall goal. It should be to create great software, not to hire the cheapest programmers on the planet. Consider the actual costs of hiring programmers.
Creating Great Software
If you wanted to create great software 25 years ago then your only choice was to hire a roomful of programmers. And it was your room and your computers. You paid the rent, the electricity bill and provided the coffee.
Of course this is still a choice you have today. Let’s look at the costs. Salaries vary across the U.S., along with the cost of living in various cities, towns and rural areas. Generally New York is more expensive than Kansas City, which is more expensive than rural states like Maine and the Dakotas. The following table contains seven different average salaries for programmers in the U.S. for easy comparison with your location.
As you know, it costs more to compensate an employee than just his or her salary. A reasonable estimate for taxes, healthcare, retirement plans, vacation time is about 33%. In other words, the salary is about two-thirds of the total compensation for an employee hired to do software development. Therefore, for an accurate comparison, you should compute the hourly cost of an employee based on the total cost (salary + benefits, taxes, etc.) divided by the number of hours in a year: 52 weeks x 40 hours/week = 2,080 hours / year. This is shown in the third column of the table.
But today you can outsource.
But before checking flights to Bangalore, let’s consider domestic outsourcing to companies right here in the USA.
Guess what? Outsourcing vendors in the U.S. have to pay the same kind of salaries that you do. Therefore, the apples-to-apples dollar costs will be higher for the same number of programmers you outsource instead of hire as employees. It can easily be two or three times the employee cost depending on the length of engagement and specialty of the skills required. These numbers are in the fourth column of the table – a conservative 2 times the hourly cost of an employee.
So why would anybody do domestic outsourcing then? Because you should also get a professional software development process that is the core competency of the outsourcing firm. Outsourcing should give you:
- A Predictable Software Development Process
- Requirements Gathering & Software Design
- Architecture & Technology Recommendations
- Project Management
- Testing and Quality Assurance
- Flexible Ramp-Up & Ramp-Down
In other words, you outsource to get a proven software development process so you can focus on your own core competency.
But this is all getting rather expensive. For a ten employee programming team with a relatively low average salary of $70K you will be spending more than a $1M per year. Local domestic outsourcing can be over $2M.
Of course the Internet has changed all this and global outsourcing of software development was truly a “disruptive technology” that costs so much less that people are willing to put up with imperfections like time zone and cultural differences.
But how imperfect and how much less expensive? What is reasonable cost for an outsourced programming team in another part of the world?
Let’s do a similar analysis based on a range of salaries for offshore programmers. Salaries for programmers in many global locations are low compared to the U.S. Salaries for junior programmers, right out of school with very little experience, are very low, approaching minimum wage levels in the U.S.
But junior programmers are hard to manage from a distance. Let’s consider only senior developers with at least 3 years of experience. Their salaries are still relatively low. But as we saw above for a domestic outsourcing vendor, any professional offshore software outsourcing firm also needs to add in benefits, training, management, and of course profit on top of these salaries.
Cheap Doesn't Mean Bad
Is it true that you can get senior level, highly trained programmers for only $30 per hour? Absolutely. And paying a rate of $35 per hour can still be a good deal. Programmers who are less expensive than this will be further away, harder to communicate with and have a higher Total Cost of Engagement or TCE. A programming team that is much less expensive is probably too good to be true.
The TCE includes the cost of your additional management, travel and the overhead due to distance and communication issues on top of the cost of the programmers. It is hard to compute exactly, but most outsourcing experts recommend you plan to spend an extra 20% to 30% of your outsourcing budget for management and travel costs.
The Runtime Bottom Line
Remember, your goal should be to create great software. Consider the rates you are likely to pay for senior developers who you can expect to work as smart as software engineers you would hire in the U.S. as employees. Selecting your offshore vendor on price alone will only get you junior programmers and you must tell them exactly what to do every day. That results in a much higher TCE.
The good news is at the same time. When you hire a programming team with experienced senior programmers then what you pay will be a lot less than hiring programmer employees in the U.S. Around 50% less.
What else should you look for when outsourcing your software development? Our free eBook "The Essential Guide to Outsourcing" can give you insights on how to successfully outsource.