Outsourcing has its place, but not everywhere

Outsourcing and offshoring are two very fashionable approaches to reducing cost and ramping up resources. Whilst logically it would seem to make sense to hire skilled workers at a fraction of the price somewhere else in the world - in practice great care should be taken before embarking on such an endeavor. Firstly, numbers mean very little without a quality outcome. Many projects have positive outcomes, however, they are not the best of quality - just because something works, does not mean that it was designed well (with e.g. the customer, values and future in mind).You must know not only how to judge success, but also the quality of the artifacts that are created.

As I have written before, communication is one of corner-stones of any organization. When projects are outsourced or offshored the first thing to suffer is communication - although it is often the most ignored. Time and time again, the value and importance of face to face and non-verbal communication has been written about. Secondly, in cost-cutting efforts companies are moving towards Internet telephony (VoIP) systems, so save telephone costs, which further reduces the quality of an already fragile form of communication. I am sure many of you have had sufficient experience of having to repeat yourself numerous times to a customer service representative in India or Brazil. Thirdly, communication may be further degraded since the resources that your organization is communicating with often were not selected by you, rather by a 3rd party. So they have not been interviewed individually to see if they fit in with your particular organizational culture (some may argue that this is difficult to do anyway).If the outsourcing or offshoring arrangement is not correctly designed, a host of potential pitfalls await.

When it comes to software development and software systems integration, my opinion is that it is often much more effective to have people local to one another in smaller numbers. This, I understand, is not always possible. However, bear in mind that tt has been argued (by researchers studying effective organizational patterns) that there is an optimum number of people for a team (somewhere between 10-15), which suggests that throwing numbers at a problem will not make it better or faster. Some of the most successful software programs and projects have been created by small local teams (note the original meaning of the word team).

Outsourcing (slightly different form offshoring) is effective when something that is not core to the organization can be packaged into a black box, well specified and given to someone else to do. In that case, one can measure if it was done well or not and one can throw away the black box and buy a new one at some later time, if it is found not to meet requirements. However, if the same is done for things that are not black boxes problems may very well arise.

I'd like to hear your experiences of offshoring and outsourcing ...


Popular posts from this blog

The pitfalls of share options in the technology startup

Hire for Engineers not for Frameworks

Insights & Suggestions For Effective Software development