This has become a very hot topic in the last decade. I’m referring to the practice of companies in the US, and other developed countries, outsourcing software development projects to companies in lower cost, developing countries. This is a strategy that has “taken off” and has become mainstream in the software industry. Much has been written on the social and macroeconomic consequences of this phenomenon. My take on it will be strictly from a business perspective.
In my research in this area for a number of clients, several important questions popped to the forefront. I’ll address them one at a time.
What are the circumstances whereby outsourcing to a lower cost country makes sense?
This is a complex question with no simple answer. There are actually many reasons to consider outsourcing.
The first and most obvious is to lower your development expenses, of course. How much can you save? The answer depends upon what your costs are in your home location, as well as where you outsource too. Let’s look at example of a California Software company outsourcing to a company in India, a common example. My research indicates that the California software company can reduce its hourly costs by at least 60-70%. This doesn’t even include the “fully loaded costs” of permanent employees. On the other hand, it doesn’t take into account the inefficiencies inherent in having software development done by a third party, let alone one with a very different culture, potentially a different language, and ten time zones away. These inefficiencies are hard to quantify, and will vary from situation to situation—they are largely dependent upon how well you choose your partner, and how well you manage the relationship.
Another important consideration that would lead you to offshore outsourcing might be the availability of software developers locally. A few years ago after the dot com bubble burst, developers were suddenly available, practically everywhere. But they are normally very scarce in Southern California, where I’m based. And if you are looking for a narrowly-defined skill set, you can almost forget about hiring internally. Conversely, there is still a large pool of educated, skilled and experienced developers, which have not yet been fully absorbed, in a number of developing countries with a tradition in technical education. So while it may not be obvious on the surface, labor availability can sometime be an even more important driver than cost.
A third important consideration is expedient access to specific skills. An example of this is that I have several early stage software clients, who are embarking on their first large scale software project. For the first time, having a sophisticated QA function has moved from being a luxury to a necessity. For a small software company, it can take several years, with many bumps in the road and significant investment in both people and equipment, to build up an adequate in-house QA department. Another approach would be to use one of the many outsourcing firms specializing in QA. QA is all they do, every day. As an alternative to building up an in-house department, you can get immediate access to a seasoned, fully functional QA team. In other circumstances you may already have a good in-house QA team, but can use the outsourcer to provide “overflow” support, as an extension of your in-house team.
What benefits can I expect from outsourcing?
- Lower software development expenses
- Access to a much larger pool of talent
- Access to skill sets that are scare in your local area
- Less investment in infrastructure
- Immediate or “flex” capability for fast reaction to unforeseen needs
What are the pitfalls, and potential drawbacks of outsourcing?
Well, there are many—and this is what scares the “late adopters” away. The biggest fear, I believe, is entrusting your intellectual property to any third party, let alone to someone you don’t know, in a country with different customs (RE: more IP theft) and laws. This isn’t something that I would suggest being taken lightly. However, the outsourcers are aware of this fear. They won’t be in business long, if their clients IP is being stolen from them—this is the type of thing that tends to kill a service business. So they are very sensitive to this issue, and have erected many security features to allay the client’s fears. In extreme circumstances, the client code can be isolated to computers with no Internet Access or write devices.
The second most important fear is lack of control. Software companies are typically accustomed to internal development, and want to manage the process closely. You can still manage and monitor the product development process closely using an offshore outsourcer—and you should. It does, however, take a bit more work and usually an adjustment to the normal management processes. From what I have seen it is very possible to have the process go as well, or better, than it would in-house. It’s also very possible to screw it up completely!
The third greatest fear is dealing with a different culture and time zone. Except for the most bigoted or fearful among us, I believe that this is easily overcome simply by “doing”. Once you work closely with colleagues in other countries, you realize that we’re all “people”, with many of the same aspirations and fears, regardless of where we live. Most will get very comfortable quite quickly with their foreign counterparts, if they just jump in and give it a chance.
Lastly, there is the issue of inertia—“we’ve always done it this way”. Although it seems a bit silly, this is a very common problem. This problem has deeper roots, and is much more serious, than simply fear of outsourcing. If you don’t overcome it and roll with the changes, it could kill your company.
If I do decide to outsource, to which country should I send my projects?
There are a number of choices—below is my current preference list, in ranked order:
- Russia/Eastern Europe
I rank India first, although at this point they are the highest cost. The reason is that the Indian outsourcing companies are the most mature, with the longest track record. They also speak pretty good English, which is important to those of us here in the US. You can expect the hourly rates to be in the neighborhood of $20-22/hour and up—still an enormous savings over US development costs.
The second choice is Russia/Eastern Europe. The companies there are far less mature than in India, so you are taking a greater security and execution risk. If you really need lower costs, however, hourly rates can be as low as $5-6/hour.
Brazil is an emerging place for outsourcing. I don’t have a handle on the exact rates, but they are very low. For US clients, Brazil and other South American countries have the advantage of being in the nearest time zone, so you can talk during business hours, and is the easiest place to get to—especially from the Eastern US.
China, like in nearly every other market, is the potential thousand pound gorilla lurking in the wings. It is the most immature place for outsourcing software, an industry that is just emerging. The language differences can be a difficulty, and IP laws are still troubling. But there is a huge pool of competent technical resources, and you may find rates as low as $2-2.50/hour, although that has been on the rise.
What are the key things I should focus on to raise the odds of success of my outsourcing project?
My research turned up several key things:
Choose an offshore outsourcer that has a local office in your country. Over time, this may become less important, as you get to know your outsourcing partner. But at least initially, it can be the difference between a successful first project, and dismal failure.
Choose an outsourcer who has been in business for a while, is stable financially and has low labor churn—but is still hungry. If they’re “too successful”, the priority sometimes shifts from client satisfaction to maximizing profitability—not to your benefit.
Choose an outsourcing partner who is appropriate for your size. If you are a small, early stage company, you might be too small for one of the large, major brand names in the outsourcing business. The potential for getting ignored, and being low priority, looms large in this situation.
Choose a partner who is growing by referral, not by large marketing expenditures. Great Service companies thrive on long time clients and their referrals—repeat business means satisfied customers.
Have a key member of the offshore team come onsite to your company for several weeks or months, if you can afford it. This was suggested as a key reason for early success by many of the companies who had positive experiences from the start. It was a key link in creating understanding and good communications with the offshore team.
Start small, and with a project that is not mission-critical. This will allow you to “debug and test” the process, so that you can maximize efficiencies when you do outsource a larger, more critical project.
Demand written reports on a regular and timely basis. Certainly weekly on a first project—daily might even be appropriate in some circumstances.
Demand and hold regular status meetings. No less often the weekly on a first project.
If at all possible, “pick your own team.” If you can get to know the personnel at your outsourcer, try to specify who will work on your project and for how long. The worst thing that can happen is that you start off with “stars”, and mid-project labor churn and higher priority clients lead to turnover on your team, and a more junior staff.
So that’s my run-down on outsourcing. I’m sure there are many opinions on this one. Post a comment—let’s talk about it!
Follow Phil Morettini and Morettini on Management via Twitter, Facebook, LinkedIn, RSS, or the PJM Consulting Quarterly Newsletter. Contact Phil directly at firstname.lastname@example.org
If you liked this post please share it with you colleagues using the “share” buttons below:
James Hardee says
Off shore contracting is an extremely complicated issue. I am sorry but, off shoring has nothing to do with a lack of resources. It has to do with expense and nothing more. I have several friends from India. Some of them work for off shore companies in India, some of them work for them here in the U.S. and some of them are full time employees here.
The reality is that India’s out sourcing is run by the highest classes of India. They control the politics necessary to build the infrastructure, the education, and the sales. The laws of India prevent any foreign country from coming in and “owning” an out sourcing company. In all cases these companies, even an IBM, must be partnered with an Indian entity. The wages paid to Indian developers is not comparable to their U.S., Canadian, or European counter parts. The difference goes to those running things.
It would make sense for small U.S. companies who cannot afford the potentially high expense of software development to link up with small software development companies in India. In this case the U.S. company would get a real benefit and the U.S. company could pay the Indian developers a competitve wage. Unfortunately this is not what is going on. The companies who can traditionally support the expense of software development in the U.S., Canada and Europe have bought the expense / expertise of the Indian upper class. The consequence is less demand and lower wages for U.S., Canadian, and European developers. Young Americans see this trend and are moving away from this career path. In the future the argument for “lack of resources” will become a reality.
The country of India and the people are amazing and beautiful however; India is politically unstable. As the out sourcing industry attempts to grow the infrastructure projects and conflicting with the housing and sanitation needs of the India society proper. The gap between the out sourcing sales / ownership class versus the out sourcing work force is only going to bring more tension to the political situation in India. If I were Osama Bin Laden I would not attack targets in the U.S.. I would attack targets in India who are supporting U.S. businesses. It is much easier to get such forces through Pakistan to India or from Malaysia to India. The effects would be absolutely devasting to our economy.
The goal of the 9/11 attack on the twin towers was economic. It was very successful. Far more succesful than anyone cares to admit. While I hope that ultimately out sourcing helps the developers in India and other nations of the world, I think it is a highly risky enterprise. I think it is a house built of cards. A strong political wind will destroy it.
Shreesh Holla says
I wonder if anyone here has any comments on an offshoring model for an early stage venture i.e. a company that starts off its operations by using an offshore model directly for sofwtare development? And on the same note using a branch office of its own i.e. maintain only a corporate office here in the US. What experiences have occurred in both situations? Risky?
It’s been done plenty of times, usually by someone that is an immigrant or otherwise has strong contacts/ties to the country where development would occur. In those situations I wouldn’t consider it risky….
Chandra Mouli says
Interesting and diverse comments from benefits to Risks and osama attacking India. As some one been in the IT industry for ages now and been in the forefront of IT outsourcing, I think some of the arguments are valid to US as well. Security is a big issue every where. Skills are definitely a bigger issue as well. In my view more than outsourcing as a decision today’s business are increasingly under pressure to increase revenue and control costs. US had traditionally been buying goods from china excepting for the fact that these are branded by the American companies in their own name. We now see the same American companies in India setting up 100% own subsidiaries leveraging the low cost model.
the bigger issue today and it is a fact as well the demographics and age profile of the western economies are not sustainable to drive the technology of the future. We need to admit it. Looking at India in particular the country is probably the youngest in the world and probably about to reap demographic dividends because of the young workforce. With the advent of internet and the networks today the innovation quotient is moving towards Asia in particular and the emerging economies are in particular about to steal the lunch of the western economies.
Instead of taking a negative stand on the outsourcing and it will be good for the western companies more particularly the technology leaders to take a proactive approach and innovate across the global network and make products which are innovative, disruptive, leading edge and at significantly low cost. So be it if the work is done from India, china or russia. Like the Chinese who manufacture for the western companies these countries may deliver and develop software for the western world with greater efficiency and at a significant speed.
James Hardee says
I do not disagree with your opinion however; security must be the highest priority. As you are well aware there are multiple levels of security. Obviously there is physical security and we have all read in our papers, including Mumbai, about physical attacks by terrorist groups. Mumbai is not the only terrorist activity which has occurred in India. Unfortunately, I doubt it will be the last. Of course, I am also concerned about security in the US as well. Of course security also involves the topics of identify theft, corporate espionage, propreitary information, confidentiality and especially for the US patient confidentiality.
Out sourcing is one component of our emerging global economy. What happens globally is now impacting us all more quickly and in a much more profound way than in the past. In the US many fear socialism however; the socialism of India has escalated the development of India. It is also controlling and retaining the ownership of the Indian economy. Much of what the India government is doing, is protecting India from the G4 nations.
I really hope that globally the “little guys” can connect and help each other prospers. Too often the phrase “The rich get richer while the poor get poorer” seems to have held true in the past.
Rahul Patne says
We have Software Development company here in Nagpur (India), We need some project work or if you are outsource your project to Indian software companies please consider us also for same task.
Lightning Soft Group
I think you should include Mexico on your list, neighbor of the US, sharing a lot of common things (less cultural shock), same business hours, and a lot of talented engineers with a mature market for software development and outsourcing.
Daniel, thanks for your comments. I agree with your premise–just don’t know a lot of folks outsourcing software development to Mexico.
Hal Arnold says
You mentioned a few of the risks and ‘expenses’ inherent in the outsourcing model, but the things you emphasize are much different than those that I would.
You mention culture, security, lack of control and different timezones. None of those really resonate with me.
The real difference to me, is the level of communication that your software-product team needs; if you work in a top-down, paper-driven, command and control waterfall shop, you can probably make it work; because I suspect that those sorts of operations won’t really notice that the quality of their product suffers any more than it does when they produce in a co-located environment. If you work in an environment where everyone communicates via reports, where each and every specification is thought thru ‘up front’ and change is only possible thru paper change requests, where the code is checked two or three weeks after it’s written by a QA department, then what difference does it make if the team is ten timezones away?
If you aspire to an agile experience, where teamwork is paramount and self-organization and communication is important, where the requirements and specifications are as flexible as the whims of your product owners, then you’re not going to want to separate your team members. You’re going to want them working side-by-side, every day. That’s why outsourced teams aren’t as effective as co-located ones.
Henkel Smith - Integrant Custom .Net Development says
Excellent post Phil. My company is celebrating 20 years of providing outsourced SW development services, with offshore offices since 1997. We didn’t make your short list of country recommendations (would love to connect on that front!). We are HQ in San Diego and our development offices are in Jordan and Egypt, so our approach matches your recommendation of working with a team that has U.S. presence. Our clients include one of the largest U.S. banks, largest medical device manufacturers, and major household brand names.
We have heard every type of objection possible, and typically from the SMB space. Our larger clients are familiar with operating in developing countries – these areas present massive growth opportunities for their products and services, so it makes sense for them to be involved in creating jobs so those products and services can be consumed. Virtually all major U.S. financial institutions own offshore development offices, or partner with agencies for their development needs. The general arguments for security and protecting IP are quickly silenced when you look at how much cutting edge development is performed offshore.
Our model includes onshore Service Delivery Managers, which has definitely attributed to our success with clients. Communication is clear and concise, and we develop with a modified agile methodology – delivering iterations on one-week cycles to clients.
We have never developed relationships with our clients based on price. Rather, it has been our cohesive team approach and proven delivery of applications. Many clients want better control of budgeting, and the ability to flex team sizes on short notice. Contract resources work very well for certain projects, but when an aggressive project timeline is set, a cohesive team of developers that already work together can ramp faster.
Last note – James Hardee mentioned the Mumbai attacks in his comment…I mentioned one of our development offices is in Egypt. Reputable offshore development firms will have business continuity plans established, and this is something that absolutely should be discussed when evaluating offshore development partners. Throughout the Arab Spring, we experienced only one incident with potential impact on delivering code on-time…that was when Mubarak decided to cut internet access to the entire country. Our business continuity plan kicked in immediately, and we did not miss a single delivery date.
Demi J. says
Even written a few years ago, your ranking about India hasn’t changed much. Even now India is preferred for its inexpensive workforce. But European countries are also very attractive due to the highly-skilled labour and the good services that they provide. If you want to see how the ranking has changed through the years and how it looks like now, you can check this blog post and find out: http://bit.ly/2mhIZnq
Thanks for sharing this!
Good. Thanks for your post.