Outsourcing & Offshore Project Software Development

By: Phil Morettini

Outsourcing Software Development Offshore This is a strategy that has "taken off" and is rapidly becoming 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 as we enter 2006, they are 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

Software
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 

» More on Software