Offshoring - When should you?
I find this topic coming up a lot still and I am honestly kind of amazed that I still hear it so often. When should you Off Shore some base of work for your business? When you should off shore is very similar to asking yourself if something REALLY is a commodity. Unless something is a commodity, it’s not a good idea to outsource it. Additionally, if your motivation is to save money, you will lose.

What is a commodity? About.com defines it like this:
- usually produced and/or sold by many different companies
- Is uniform in quality between companies that produce/sell it. You cannot tell the difference between one firm’s product and another.
If anyone has ever used any piece of software developed by anyone, it’s clear that the second point fails the commodity test badly. However, maintenance to existing software can pass this test. For instance, maintenance of a mainframe application or a web application should be largely a commodity.
Since we now know that NEW software development is NOT a commodity, we know that we need to pay special care to make sure that the individual or organization that is delivering us this software knows what they are doing and will meet and exceed our expectations.
In off shore development, meeting expectations is very difficult. In speaking with people that have been through using it, the frustration levels are extremely high. Issues are worst in communication (linguistics), time zone changes as well as tasks as simple as common status meetings quickly can become a large effort for both sides of the ocean.
There are countless stories out there detailing disaster after disaster with some organizations attempting onshore to offshore ratios as high as 1 to 11 or 1 to 15. Even companies claiming CMMi level 5 will fall apart in situations like this (see comments for instance). We all know the magic number to manage people even in your same office building maxes out at 7. Even if you try and follow the hourglass model, exceeding 7 is difficult unless you are at the supervisor level which essentially implies a line worker in a factory. Since we have proven new development insn’t a commodity, that layer is essentially out. So, a rule of thumb is if you have more than 7 direct reports, it’s too much to handle and that is if you are right there seeing these people all day, every day. Imagine if the team you were managing were on the other side of the world. So, when someone claims 11 or 14, watch out.

The best way I have seen off shoring work in a new development process is at a ratio of 1 onshore to a maximum of 4 people off shore. The on shore resource will need to have personal relationships with each of the 4 off shore resources and the modules that they work on have to be able to be isolated and the requirements have to be so clear that my 7 year old would understand exactly what the ask is.

These are the best practices that I live by when it comes to off shoring, what do you think?
3 years ago