How much do you really save when outsourcing your software development offshore? What are the hidden costs of offshoring?
Compensation & Benefits Comparison
First of all, let's start with just a compensation and benefits comparison. When doing your calculation for an onshore hire, don't forget to include the cost of such benefits as social security, healthcare, pension, time off and even bonuses. According to Salary.com (as of this writing), the total average US compensation and benefits package for a Java Developer comes to $112,435 a year.
An offshore Java Developer in the Philippines, India or China, on the hand, usually costs somewhere around $20/hr, or around $40,000/yr. This is all-in since you don't cover any benefits. Your savings on comp & ben alone is $72,435/yr per developer, or 64%.
Infrastructure & Overhead Considerations
After comp & ben, consider your onshore infrastructure and overhead costs. This of course varies widely from company to company, but do consider rent, renovations, new furniture, new computers, administrative overhead, exposure to various legal liabilities, training, etc. And if you're ramping up quickly, consider that a lot of these will be upfront capital expenses that will take a toll on your cashflow. With offshore outsourcing, these all become the costs of the vendor.
"Hidden Costs" of Offshoring
On the other hand are the often-talked-about "hidden costs" of a distributed, outsourced team. The cost of these "hidden costs" varies widely - sometimes the cost is not significant, and sometimes the cost is a deal-breaker. What factors affect the cost? The biggest factor is your choice of outsourcing partner. You'd want a partner that is concerned about the increased cost of management on the client side, and has therefore invested in processes, tools, culture and technical ability to lower that cost.
Process. Look for an outsourcing partner who's an expert in your preferred development process. If you're an RUP shop, you should pick a partner who's already mature in their RUP practice. If you're a Scrum shop, then pick a partner who's mature in Scrum. If you're a CMMI shop... you get the picture. It doesn't make sense to try to teach your partner how to do your process - that's way too much of an investment. Your partner should know your chosen process better than you do.
Culture. It's also important that you look into your potential partner's corporate culture. You should look for a company where the desire to serve the customer and solve the customer's problems is present at the individual level. Remember that these people will likely be working while you're sleeping and sleeping while you're working. They need to be motivated on the individual level to solve problems as they happen and not be complacent to wait for feedback or help from your side before they move.
Individuals should be assertive enough to proactively communicate and collaborate with your side. The time difference and distance make it essential for both parties to actively seek collaboration from the other for issues to be resolved quickly, it just doesn't work if those on the vendor side expect for communication and initiative to come mainly from your end. This is an important point, since most Asian cultures favor power distance. You should look for a company that deliberately fosters a culture of assertiveness, since this is not natural in most Asian countries.
Technical Ability. Technical ability also contributes to the cost of offshoring. Your senior developers are not there to oversee the quality of the developers' work, and reviewing work the next day and trying to correct errors via email just doesn't work. Your vendor must already be experts in the bulk of the technology you use. For the parts that they don't know, they should be smart enough to figure things out on their own. You shouldn't have to conduct any training for them unless it's on the domain or some proprietary technologies that are not widely known.
The vendor should have a very strong CTO, or better yet, a strong team of seasoned architects. The vendor should have its own group of mentors and pinch-hitters who can oversee quality, mentor the more junior developers, and conduct their own internal training programs.
Conclusion
Don't let offshore outsourcing scare you. Offshore outsourcing has been a strategic factor in the success of many companies, from small startups to large enterprises. Horror stories do abound, but those are due mainly to the wrong choice of partner. Find a partner that knows what they're doing and matches your style. Offshore outsourcing has its well-known issues, but a good outsourcing partner is one who is an expert in these issues, and has invested in the expertise, process, infrastructure and culture to mitigate them.
You might also be interested in a similar post of mine, "Agile Outsourcing is Like Marriage - A 5-Step Agile Outsourcing How-To".
This comment has been removed by a blog administrator.
ReplyDelete