An unforgiving tale of extremes

October 25th, 2009

My world friends

They are many, Salman, Nagesh, Pavan, Matjaz, Umair, Masood and not to forget Vicky (who I secretly suspect is really a man). All have top level rails qualifications. Or so they say.

They are all part of the growing network of developers from the East. India, Pakistan, Slovenia, and so on.

If you’re considering outsourcing part of your product development, I can offer you some insights that were learned the hard way. To summarize, working with outsourcing partners is a story of extremes:

Things move amazingly fast in the outsourcing-sphere. If you post a project request on Friday night, you can easily get 10-15 project proposals by Monday morning. The majority will be so called bid spamming. More about that in a later post. But invariably there are 3 or more that are worth considering.

You need a ‘detailed’ specification. And I mean detailed. I usually deliver the mysql db creation script, a functional specification, a detailed design, a set of screen captures.

So what happens next blows you off your socks if you are not prepared for it. Among the big number of replies, there are a few replies that really strike you as ‘professional’. They have read the proposal, react to the hidden question you sneak in, often ask intriguing design or specification questions. So you reply and they surprise you yet again with their answers.

They do this for price less than the cost of the office cleaning lady.

Yes, Mister Frans
Of Course, Mister Frans

So the next step is to get to get to know who is replying. I would advice not to go for companies at first. There are many smart businessmen that have hired young developers eager for a job. They know what you want to hear:

  • Yes Sir, we do complete quality control.
  • Of course Sir, we send daily status report.
  • Sir, this team is fully at your disposal. It is your team.
  • We don’t stop Sir, until you are fully satisfied.
  • If you have small change requests, don’t worry. We implement them for the same price.

Read this last line again. When was the last time you heard a Project Manager, American/European style, say that line. And you know what? It is true. My god, it is hard not to exploit that.

So go for the individual developer first. The guy that just left his company and now starts on his own. Often from his kitchen table. Strange coincidence, they invariably all worked at Microsoft. So test them. I mean, T.E.S.T. them.

Before I said you would need to check references (rentacoder.com keeps a nice history of user feedback). And not go below a score of 90% or even 95%. While that may help not to get bad ones, you would miss out on the real genius guys. For those ones, I cannot give you real rules. Trust your gut. Don’t feel pressured by time to select one early on in the process. I have kept some of my project requests open for weeks.

Now my limited sample clearly suggests that the bright individuals score the best scores. Two of the best experiences I had are with two individuals. On multiple occasions. As a consequence, I now give them jobs and get a result delivered in a few days, on one emergency situation, even in less than 12 hours.

The Girlfriend in China, or the motorcycle trip trough India.

Of course the individual has a life too. And he needs your money to pay for his plane ticket to China to meet his girlfriend. Or go motorcycling through India for two full months. And when they are not traveling, chances are high they are working on some other project, because other project owners have also found them.

Go for it. With caution

It is easy to lose your sense of professionalism. Because prices are so low, you tend to do a lousy job over specification. But trust me, my friend, when you are 3 time zones apart, clear, unambiguous specs matter even more. Some sites like rentacoder even encourage this. You can let two coders that bid for your project, do the job. Then pick the best one. I have yet to understand what that means and how (if at all) that would work.

My guess is: it does not work like that. You expect professional html, rails or dot net coding, the least you can do is be professional yourself. So spec to death, write acceptance scripts, and force yourself to have daily msn chats. Test, test and test. Give immediate feedback. Make them deliver the working system on your server and peek inside the code, the database and the logfiles. It is ok to be obsessive about it.

Good luck. You’ll need it.