Why outsourcing abroad is a bad idea(getchoocreations.com)
getchoocreations.com
Why outsourcing abroad is a bad idea
http://getchoocreations.com/why-outsourcing-abroad-is-bad-idea/
11 comments
It always fills me with fear, resentment, and dread when someone talks about "An exceptionally detailed spec." I developed web software for the best part of 15 years, and pretty much without exception all the projects I did that were successful didn't have much of a spec at the start. We did what would now be called Agile, but the proper term is really "rolling-wave planning" - phasing development of a project to focus on what you have enough information to spec properly and only outlining the rest. It's hard to avoid scope creep doing things that way, but the result is a product that's a better fit for it's purpose.
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.
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.
I be inclined to agree but I only advocate "an exceptionally detailed spec" in the case of outsourcing. This is due to a combination of two things:
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?
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?
Some outsource companies and people have lower levels of communication but not all. We work with awesome designers, developers and support staff all around the world and communicate regularly with everyone.
Not all companies lack common sense to take specs literally.
Not all companies lack common sense to take specs literally.
This reminds me of when I worked at a gardening company. Some asshat middle manager decided to outsource without consulting the dev team. He neglected the little detail that instead of having "a database", we had two databases - a MSSQL one that was attached to our accounting system, and a MySQL one that was attached to the site. So I basically had to rewrite it with people breathing down my neck so I quit because fuck doing that stuff for just above minimum wages.
I thought this was going to be something about how the http spec misspelled refer(r)er in the http headers.
This is ridiculous.
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.
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.
The question is whether capable developers in Poland and India work for cheap outsourcing firms. Probably not. It may have been the case once, but the developers have a lot more to gain by simultaneously cutting the middleman and raising their rates. At this point, Google has a large office in Hyderabad and Poles can commute into Germany.
> At the end of the day I think you get the development team you deserve/s/pay for.
perfect reply. If one cant clear put in words what he wants he cant expect people to peep into his mind and build things for him. (no matter if the proj is outsourced or built onsite it will go to dogs)
I guess the 'you get what you pay for' means I need to start charging more.
I don't follow specs to the last misspelled word, and in fact I will provide lots of UX suggestions.
I don't follow specs to the last misspelled word, and in fact I will provide lots of UX suggestions.
Price is generally a signal of quality.
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.
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.
Also don't limit your suggestions/recommendations to UX. Get involved in the product - it's features, who they're targetting etc.
Development is so commoditised nowadays it would be a shame not to use the opportunity to expand our skillsets.
Development is so commoditised nowadays it would be a shame not to use the opportunity to expand our skillsets.
Also, be confident enough that your confidence does not depend on which of two synonyms you use to suggest changes you would recommend.
I've had terrible luck with outsourcing as well, but it is not all bad.
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.
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.
I only reply because this guy points his finger at Poland and some of his points are clearly wrong:
- 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?
- 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?
Depends on whether the outsourced team includes a project manager or not. The project manager costs more but is also responsible for translating general requirements into actionable specs, and keeping the dev team on track. If you're not paying for a project manager then the project manager is you.
following the post, down to every misspelled word, I've discovered that Warren Buffet had a manta ;)
> Guidance: you’re not just dealing with a code mercenary.
> Companies (like us) will help guide and mould your product nto being the best it can be.
Oh nice, another ad.
Oh nice, another ad.
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