Why outsourcing abroad is bad idea

Outsourcing is the movement of a task or group of tasks to an external company as part of quality or cost reducing measures. The main reasons to outsource are:

  • Your team doesn’t have the skills (or strong enough skills) in the field
  • It’s cheaper

Outsourcing abroad is normally associated with the latter reason. Companies in places like Poland and India offer project completion at a daily rate a fraction of that offered in Ireland.

Assuming the resultant product is the same, it would seem like a no brainer to outsource abroad. Unfortunately, this very rarely turns out to be true and, just like most things in life, you get what you pay for.

For argument’s sake, let’s say you do decide to outsource abroad. You will need to provide the following to stand any chance of a successful development experience:

  • An exceptionally detailed spec which describes every possible path through the app/website; detailing every interaction big or small; validation rules whether simple or complex
  • A complete design in appropriate format (eg. A Photoshop mockup may need to be sliced up beforehand), a detailed list of interaction styling or animations
  • A comprehensive list of the devices your product needs to work on

Generally speaking, all of these things should be in a good spec anyway but my point is that it would be incredibly hard to produce such a spec without a tech-savvy guide.

I have never worked on a project that hasn’t required some common sense or applied intuition and this is one of the areas where an outsourcing company will fall down. Misspelled a word on your homepage banner in the submitted spec? The vast majority of outsource companies aren’t going to realise it needs fixing (or bother fixing it if they do – hey, you submitted the spec, it’s not their job to correct it right?).

These points are especially true (and have larger impact) if you’re building your product from scratch. Without being able to meet you in person, the outsourcers will never be able to truly “get” your product, your needs and your long term ambitions.

Again: they’ll follow the spec, down to every misspelled word.

I’ve had to take over maintenance of four outsourced projects in my time and every single one of them has been of dubious quality from a code perspective (one company even encrypted their code to try to lock in the client).

Sure, you may have saved a few bob by pushing development abroad, you may even have got a decent MVP, but chances are you’ll have to:

  1. hire the same guys again for future development (vender lock in)
  2. pay extra for a more experienced, talented development who will charge you extra for cleaning up their work

Conversely, let’s look at the benefits of working with a local developer:

  1. You can meet face to face and, after twenty minutes or so, you’ll probably know whether you have chemistry or not and whether they can fulfill your product’s ambitions
  2. It’s easier to call and verify their references
  3. They’re in your timezone so you can call between the hours of a regular working day
  4. The quality of the product is generally (many times) higher
  5. Future development shouldn’t be a problem
  6. Guidance: you’re not just dealing with a code mercenary. Companies (like us) will help guide and mould your product into being the best it can be.

“Price is what you pay. Value is what you get” is Warren Buffet’s old mantra and it holds true whether you’re buying a dinner or building software. The question is:

Do you want a Big Mac or something with a bit more sustenance?

Have a great idea for an app or website that needs a great development team? Talk to us.

Follow Ger on twitter.

Posted by Ger Kelly in Software | Tagged , ,