Why outsourcing abroad is a bad idea
getchoocreations.com
getchoocreations.com
Here's an example: I needed to control an arduino board in Java, I didn't know how to do it, I had the rest of the application to build and I was pressed for time.
Instead of outsourcing the entire project I outsourced the creation of a unit test, it was described something like this:
"When I run the unit test, with a board hooked up to the computer it should send a signal that will flip an LED on or off. You should use this spec (ref to Arduino site). Include all jars and install instructions."
I got it back, it did what I asked them to do and I threw all the code away. Basically I took what they did as a 'working start' and rebuilt it into the existing application. I didn't ask them to match our code style, patterns or framework, that was all my job after the fact. It worked great and saved me a few days of research.
This is the most successful way I've been able to manage outsourcing. Everything else - from detailed specs to UI diagrams to daily check-ins has had complications.
If you can reduce down to just the hard things that need to be done, and then describe them in under 20 words, and then force a unit test into the equation you'll have a higher degree of success.
YMMV
It takes a decent project manager and a good understanding of what the requirements are on both the management and development sides at any given moment during the project. That's easier in-house but there's no good reason why it won't work with an outsourcing company too.
Ultimately, if the project fails/runs over budget/is late then it's due to a failing on the project management side.
1. The lower levels of communication between the client and development house and 2. The literal level that outsource companies will take the client at.
Having worked on projects that came bundled with excessively detailed specs, I would agree that said defining detail is a fools errand since it often gets changed further down the line.
However, I don't agree with your assertion that "if the project fails/runs over budget/is late then it's due to a failing on the project management side". For example, what if the dev. company simply aren't as talented/responsive as the client was first led to believe?
Not all companies lack common sense to take specs literally.
Common sense is not exclusive to agencies or freelancers in your own country. There are plenty of awesome developers and development teams in countries other than your own, including many in countries like Poland and India.
At the end of the day I think you get the development team you deserve.
I don't follow specs to the last misspelled word, and in fact I will provide lots of UX suggestions.
It's hard to infer your attitude from two sentences, but I'll go ahead and advise that you change from making suggestions to making recommendations. The difference in connotation is one of leadership. If you are an expert, then be confident. Don't follow the spec, write it yourself.
Development is so commoditised nowadays it would be a shame not to use the opportunity to expand our skillsets.
I've found that outsourcing works best for those simple tasks that almost anyone can do but your most talented people, including yourself, cannot seem to fit into the day because they are boring and well understood.
My rule boils down to this: If I have someone overseas make this change and it is bad, can I rip it out and replace it with old code quickly and still be ok? If you have a decent design the answer is 'yes' much more often than you might think.
And every once in a while you will find a really good developer that you will want to sink your claws into.
Also, it is kind of awesome to put in a ticket and have it checked in by the time you wake up in the morning...one advantage of using talent on the other side of the world.
- flight to Warsaw from Dublin costs about 200 euro and lasts 3 hours so he can see plenty of developers face to face and go back same day.
- time difference is 1 hour... don't see a big problem here
- don't know what teams he has experience with but in terms of talented developers let's check TopCoder ranking. Poland on 3rd place while UK on 20th...
- he mentions problem with checking references but if team is outsourcing to another countries they should have references in those countries, right?
Oh nice, another ad.