Hacker News new | ask | show | jobs
by geophile 4530 days ago
Assuming you aren't trolling: No, absolutely not.

My experience, at two companies, is that what you save in development costs, you quickly pay for (and then some) in management overhead, and low code quality. Some of the code we got was simply not salvageable. (And of course, it consumed time on our side to review the code, reach this conclusion, and document the suckage.)

If outsourcing has any chance of working it is for rigorously specified requirements. If there is any wiggle room, or even if you expect common sense to apply to fill in the gaps, you will be disappointed.

Why is the reality so bad?

- You have little choice about the actual developers you work with. Would you hire your own development team by phoning up a headhunter, asking for a half dozen developers, and then taking whatever the guy sends over? Of course not. Why should this work any better from an outsource agency?

- Any marginally competent developer at an outsource firm gets moved into management quickly. (At least in the companies we worked with.)

- Distance sucks. Do you really want to schedule meetings with 10-13 hour time differences? Deal with any required travel to and from India? Really?

Outsourcing is a clueless executive's idea of how to get software written. It was a new business trend in the early 2000s, (so long ago that I wonder whether you're trolling), and it was weird: I kept challenging the decision to outsource, and the rationale kept changing. Basically, it was a trend, so the executive making the decision wanted to do it, reasons be damned.

2 comments

Your experience closely mirrors mine in that contracting out the work will cost you more overall. It's in the contracting company's interest to misinterpret specifications so long as they can bill more (you can't irritate the client too much or they'll quit). On the other hand, it's nothing like the way government contractors in the US overcharge the American public.

At one point, we also had a division of our company set-up in India, and when staffed carefully, they became remote members of the team (just like other remote workers). The only downside to this arrangement was that it was hard to keep qualified employees as (at the time), you could change jobs twice a year for a 20% bump each time.

Not trolling, 100% serious. I don't actually want to do outsourcing, per say. My interest lies more in leveraging low market wages in India and actually setting up a foreign office with it's own management etc.

You still think India's bad for business?

From other comments here, having someone on-site there improves the odds. But why bother? If you're a startup, you are creating one more unnecessary problem. Also, if you're a startup, you probably are going to be changing things frequently, resulting in constant software updates. In my experience, outsourcing works best (or least awfully) if the task you are outsourcing is completely specified, with no ambiguity. If you are going to be changing specs on them, it won't work so well.

I understand a startup needing to save money, but doing it this way seems crazy to me. I've done five startups by now (four with successful exits). If I were to join another, outsourced software development would be a red flag -- I'd stay away.