Offshoring Quality

IT offshoring is a highly controversial topic nowadays; organizations from medium to large sizes choose to have their projects developed overseas, usually in countries where the cost of software development is lower than in Western Europe, Japan or North America.

Destinations

Several commonly chosen destinations for IT offshoring include (Source: OffshoreExperts.com):

However, other less-common offshoring destinations are Spain, Tunis, Kyrgyzstan, Zimbabwe or Marocco. In the Dilbert comic strip, Scott Adams has created the fictional country of “Elbonia” to satirize the situation created by offshoring in the IT landscape:

(Source: http://www.the-bordello.com/elbonia2.gif)

Advantages and Disadvantages

As I said at the beginning of the article, offshoring software development is a highly controversial topic, from several points of view, not only economically and socially speaking, but also from the point of view of the quality reached by companies using offshore (or near-shore) development teams. In short, what I’ve seen so far is that the quality reached by offshoring software development is just plain horrible; however, the problem is seldom the overseas team itself, but rather the company headquarters employing the remote team.

This situation has to do with an inherent characteristic of software: it is not a manufactured product, but rather a design product. In other words, software is much more than the source code, but it is also a set of design decisions and multiple outputs, not only the source code itself, but also the documentation or the test and maintenance policies:

This isn’t the first time companies have tried to commoditize software development. In the eighties, Japanese companies unsuccessfully attempted to set up software factories to manufacture programs. They discovered that just throwing a lot of programmers together doesn’t create innovative software.

Design is a small part of clothing production, but a big part of software production. Unlike software, it makes sense to outsource the manufacture of clothing and toys. Most of the cost of clothing and toy manufacturing is in the assembly, not the design. Those products can still be designed close to corporate headquarters but assembled elsewhere to keep costs low.

Programming is like design and nearly all of the costs of creating software come from writing the program, not the assembly. The assembly stage for software is really just copying the final program onto a disk and enclosing it with a manual in a box. (Bean)

Joel Spolsky stresses this fact even further:

The best advice I can offer:

If it’s a core business function – do it yourself, no matter what.

Pick your core business competencies and goals, and do those in house. If you’re a software company, writing excellent code is how you’re going to succeed. Go ahead and outsource the company cafeteria and the CD-ROM duplication. If you’re a pharmaceutical company, write software for drug research, but don’t write your own accounting package. If you’re a web accounting service, write your own accounting package, but don’t try to create your own magazine ads. If you have customers, never outsource customer service.

(Spolsky)

I have worked in some companies where the use of overseas offshoring is the rule; my impression is that the development cost reductions that these companies achieve are spent in communication, inspection and even turnover costs; until now, I have not yet seen a single company working flawlessly with their offshore teams, no matter what the CEOs of these companies say.

The chosen destinations were Spain, India and Romania, and through this experience I could identify some factors that acknowledge the points of view expressed by Bean and Spolsky above:

Conclusion

In my opinion, the economies generated by offshoring, given a certain level of acceptable quality, are only visible under certain conditions:

In all the other cases, I think that the situation is simply “Dilbertesque”.

Resources

Bean, M.; “The Pitfalls of Outsourcing Programmers - Why Some Software Companies Confuse the Box with the Chocolates”, [Internet] http://forio.com/resources/the-pitfalls-of-outsourcing-programmers (Accessed May 5th, 2007)

Dilbert cartoon (by Scott Adams) taken from http://www.the-bordello.com/elbonia2.gif (Accessed May 5th, 2007)

Gremio de Informaticos (Computer Workers’ Union of Argentina) website, [Internet] http://www.gremiodeinformatica.org.ar/ (Accessed May 5th, 2007)

jperezsistemas, “Como a EDS, Pyme tecnológicas piden que les subsidien el empleo”, [Internet] http://jperezsistemas.wordpress.com/ (Accessed May 5th, 2007)

OffshoreExperts.com, “Offshore Outsourcing Countries”, [Internet] http://www.offshorexperts.com/index.cfm/fa/buyer.countries (Accessed May 5th, 2007)

Spolsky, J.; “In Defense of Not-Invented-Here Syndrome”, [Internet] http://www.joelonsoftware.com/articles/fog0000000007.html (Accessed May 5th, 2007)