

Why outsourcing abroad is a bad idea - gearoidoc
http://getchoocreations.com/why-outsourcing-abroad-is-bad-idea/

======
columbo
The only real success I've had with outsourcing is when it is done around
something specific and the output is treated like something we found on
github.

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

~~~
dalore
So you didn't outsource the work/component, but you outsourced the learning it
sounds like.

~~~
columbo
Yeah, that's a good way of putting it. Personally, once I have something that
works it's much easier to go back and understand the entire system. It's just
time consuming getting to that point.

------
onion2k
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.

~~~
gearoidoc
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?

~~~
nedwin
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.

------
antihero
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.

------
shiftb
I thought this was going to be something about how the http spec misspelled
refer(r)er in the http headers.

------
nedwin
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.

~~~
dspeyer
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.

------
Shorel
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.

~~~
gearoidoc
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.

~~~
kghose
Also, be confident enough that your confidence does not depend on which of two
synonyms you use to suggest changes you would recommend.

------
clavalle
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.

------
yakxxx
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?

------
snorkel
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.

------
ArekDymalski
following the post, down to every misspelled word, I've discovered that Warren
Buffet had a manta ;)

------
OGC
> 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.

