A company I worked for recently stated that “the internal hourly rate has to be brought down to xy Euros” in order to compete with other companies. This argument was mainly made to emphasize the importance of doing more (cheap) work off shore, thus lowering the average hourly rate.
Somewhat concerned I looked at the sentence for a while, thinking about whether this might be hinting at an unpleasant development that could have implications for me as a freelancer (I never ever have worked for as low as xy Euros per hour).
Then I relaxed.
You only may compare prices for specific services rendered if you are talking about the same kind of service, “the same kind” as in “same amount of work done per unit of time” and “same quality”. When buying a car you would never look at the price only: What make, what model? How old is it, what is the mileage, what is the condition?
Compared to German programmers, offshore resources only cost a quarter – on paper. In reality, the offshore partner regularly puts more people at the same task then the German side would. Some key people of the offshore partner will receive training on the project in Germany, and there will be a permanent on-site manager. So, add travel and hotel expenses, plus lost work time on the German and offshore side.
What if the customer doesn’t like documentation in English, and the offshore partner does not understand German? Ka-ching, add cost for translation, and load your tolerance module for accidentally introduced errors. And then, oops, personal that was trained in Germany leaves the offshore partner for sunnier shores. In the end, the cost is closer to 75% of the German rate.
“75% of the German rate” still doesn’t sound all bad. But this is for the development portion only. Sales, marketing, project management, requirements analysis, specification, design, testing, and roll out is all done in Germany. Development maybe is one third of the overall cost. In the end you would save about 8%.
“Saving 8%” is not nothing, right? Yes, but are you sure there aren’t any other ways to increase productivity, which essentially means getting more bang for your buck? Offshoring often has the side effect of alienating people working for you “at home”, and in my personal opinion offshoring is doing your local economy a disservice.
Why do people start with offshoring when they try to save money? When optimizing a program you start with an analysis first, identifying the code where most of the time or memory gets consumed. It is here that optimization effort gets you the greatest effect.
Blindly aiming for a lower hourly rate by using offshore resources is a brute force approach that does not look at underlying causes that drive cost up.
There are quite likely easier ways to improve productivity then transferring work abroad. Analyze your cost structure. Start working on the biggest items first. Review you processes. Educate and cherish the people working for you. Try a little harder at home!