Thursday, June 20, 2013

Outsourcing

It has been going on for more than a decade, white collar jobs had been flooded to Asia from the US since the first tech crash.  It started off with customer service, then moving on to software development.

Thousands of software development jobs moved across the ocean and those who couldn't deal with the change ended up losing their jobs, while software architects, especially those who has the background of the outsourcing destinations, suddenly took a leap in their career.

After years of experiments, the results were mixed.  Some company claimed the quality of the product were too poor to meet the industrial standard, while some managed to maintain the quality while saving a big chunk of labor cost in the process.

So what was the difference?  It can basically be summarized in 3 words: Design, Planning, Management.

Though software engineers across the ocean can do the development job for one fifth of the cost, but they are not meant to be software architects.  Even if you come across one with software architect experience, it is unlikely they will have the same domain knowledge and cultural understanding to design for a software to meet the customer's demand.  Thus the design should not be outsourced.

Once the design is done, success is still not guaranteed.  The architect should have a plan on how development should be done.  Preferably chopping down the assignment to smaller modules that is bite size for the oversea developers, then running unit tests to control the quality.

The last but not least is the day to day management to avoid any unexpected last minute crisis. The last thing a project manager wants is the development went totally off track and no one noticed the problem until it is too late. This goes with the planning as the what how when of management should be included in the planning. Management should of course account for the cultural and language difference. Thus this is considered the biggest obstacle to run a successful software project.

In conlusion outsourcing could work but success is in no way guaranteed. However by carefully executing the project and account for the cultural difference. Success is definitely achievable.

No comments:

Post a Comment