Offshoring of software development is written off by some as not workable. Many have shared offshoring nightmares and horror stories in articles and blog postings. A recent survey says small company CIOs say they have little interest in increasing their offshore outsourcing in 2008. And many have stopped outsourcing altogether because of management challenges.
94% Are Not Offshoring
59% That Did Had Challenges
One major reason for not offshoring is the perceived poor quality of the programmers you encounter offshore. I said “perceived” quality because clearly not all offshore programmers are bad. But it seems enough are bad to create a really rotten impression.
|Back in 2005 McKinsey published a study that said only a small percentage (10% to 25%) of the huge number of IT professionals graduating from university in India and China are “suitable for multinational engagements”. I quoted the McKinsey report in Chapter 11: The Future of Global Software Development of Software without Borders but at the time I was not sure of the reason so many programmers are unsuitable.|
Now a 2007 study from Duke University has dug deeper into the quality of engineering graduates in the U.S., India and China. It describes that many engineers graduating in India and China are comparable only to technicians graduating from two or three year technical schools here in the U.S. and are NOT at the same level as an engineer graduating with a Bachelors degree from an American four-year university.
Independent of the type of college degree or the country where it was earned, the study classifies software engineers as either being dynamic or transactional:
Dynamic Engineers (10% to 20%)
- Capable of abstract thinking
- High-level problem solving
- Uses scientific knowledge
Transactional Engineers (the majority)
- Solid technical training, but
- No experience to apply knowledge to larger domains
- Responsible for routine tasks in workplace
Unless you pay some attention to who is recruited to work on your software, guess what kind of software engineer you’re likely to get offshore? That’s right, those transactional engineers that only work well when told exactly what to do.
I think selecting the right kind of engagement model with your offshore programmers (and / or the company where they work) is the best way to ensure you get more dynamic engineers. Of the six engagement models most commonly used, ones that provide a dedicated team of programmers will give you more control over the hiring process and the on-going management of the software development process.
What’s been your experience? Have you given up on the idea of successful global software development because of bad experiences in the past? Maybe you had the wrong kind of programmers and / or the wrong model.