Considering Outsourcing Development?

Here's a famous article named considering outsourcing development, which described common issues of getting an outsourcing company finish software development job. I would like to say, it's the most weakest point of cooperating with a software outsourcing company.

Please see the original post here, considering outsourcing development. Author: John Reel, Time stamp: Friday, August 1st, 2008 @ 6:03 am. I need to quote some of its words to make comments, and to show a different viewpoint from an outsourcing company, hope you'll like it.

Pitfalls of outsourcing:

  • Language Barriers: Oh, sure they can read/write English, but the subtle things can be lost in translation, which means you spend a lot of time explaining things to them on Instant Messaging.

    It's definitely an issue. And it really cost money and patience to make a better communication.

    But since subtle things are not quite easy for a non native speaker to understand, and since the two parties are considering to build a partnership, the necessary of communication is still a must for make the work better.

  • Sleepless Nights: Since all of these companies are on the other side of the planet, you’re doing all that explaining at night, which leaves you tired and much more likely to make mistakes.

    As I see, this quote is not a problem. People here in China at least, would like to work till midnight to make customers feel comfortable working in their daytime. Well, at least I am. I treat this as showing my sincerity, since the two parties decide to go further, I guess it's a must to make the other side feel I'm honest, and I am.

  • Too Literal: Most of these providers try to do exactly what you say like little coding drones. It is rare to find someone who can see the big picture and will check in with you before doing something “stupid”, even if you asked for it.

    That's correct. Firstly, as I can see, chinese developers don't understand western way very much, but as we are trying to satisfy our clients, the best way seems to be do exactly what s/he said. I talked with an american Rails Developer, and he said developers in US are treated as a Consultant. They're providing consulting services, not only development. This requires creation, and we all know creation costs a lot. So I guess that's one reason for the low cost.

  • No Continuation: It is very hard for these outsourcing companies to keep their staff. The competition is fierce for programmers. Their rates have doubled in the last year and many programmers switch jobs frequently, using the demand to continually increase their rates. Even if they can keep their staff, if you’re not keeping them busy full-time, the people working on your projects naturally get reassigned to other clients, and you might not be able to get them back when you need them. Long projects and outsourcing don’t mix very well.

    I can't agree on this, at least in my opinion. Yes there's reassigning thing, but I don't think it made any improper feeling. The development cost is very low, both company and staff need food and house to survive. You west people really don't know how hard it is to make a living in China. It's a hell.

  • Undocumented: Good luck getting well documented code that someone else can easily take over. So, when you lose your programmer, there is often a long delay while someone else gets up to speed. Make sure to ask for excellent documentation as part of the quote and get examples.

    I gotta say, it's true, esp. for small outsourcing companies. But it will not always continues. At least my company is trying to switch to an outsourcing plus consulting company, which requires service, and Documentation and Commentary on codes are a core service in technical field.

  • Bad Quotes: Many providers have no idea how to quote. One guy quoted me $200 for every project, no matter how big or small. Unless I want something really small done quickly, I work with teams with project leaders and testers, etc. They have an idea how to quote.

    It's not like that now. I don't know how this could be a problem. You might encountered a really inexperienced company.

  • Dishonesty: When I first started searching for providers I would ask for samples of their code. I would then search the Internet for any identifiable bits from that code, and usually I would find it was part of some open-source project. I would then check if the developer(s) were part of that project, which of course they were not. I then got in the habit of hiring them for small projects and split-testing two teams against each other to see which provided the best results before going on to bigger projects.

    It is. Especially in China, guys here don't come to realize that, there's a GPL license or why it would exist. And this kind of companies usually don't devote itself to an open source project. They know nothing about the value of paying and contributing.

My words

I admit, there's really a lot of issues if you decide to go with an outsourcing company. It's the cost of you choosing low-cost providers. You can't require a non native speaker being as good as a western developer, who only charge you 20 bucks. It's up to you what you are putting more value on.

But it'll not always be like that. And that's why the outsourcing cost is always being more expensive than ever. It's fair.

by klaus.zuo