Live data from Hacker News

Outsourcing Doesn't Work

codeanthem.com

41–50 of 51 posts

Re: Outsourcing Doesn't Work

#41

Earlier quoted context omitted.

You can still get crudgy code with TDD.

Yes, but I might not care. If I ask for a function that takes a particular data structure and writes it to a particular file format, as long as it's not in my hot loop, I don't care how badly it's implemented (assuming it works on all my edge cases). On the other hand I might want to make sure it's maintainable or fast enough, in which case I might just write it myself.

[deleted]

Re: Outsourcing Doesn't Work

#42

Earlier quoted context omitted.

You can still get crudgy code with TDD.

Yes, but I might not care. If I ask for a function that takes a particular data structure and writes it to a particular file format, as long as it's not in my hot loop, I don't care how badly it's implemented (assuming it works on all my edge cases). On the other hand I might want to make sure it's maintainable or fast enough, in which case I might just write it myself.

But then you better hope that your tests are near perfect and covers every single edge case you can think of (and most of those you can't). For any given collection of tests it is quite trivial to write code which passes those tests but fails on all other input.

Re: Outsourcing Doesn't Work

#43

I've read many articles critical of offshoring to India over the past few years, and they all seem to have the same pattern. The authors all seem to want to describe what's wrong with offshoring, but what they end up describing are great examples of the kind of thinking in American companies which leads to failure. The pattern is almost identical: - It all starts with, out of nowhere, 'pressure' to 'outsource/offshor…

What you're describing doesn't sound like outsourcing or even offshoring to me. It sounds like expanding the business in new geographic areas. Successful manufacturing companies would never think of sending off a spec sheet to the cheapest contract manufacturer and then just sitting back and waiting for the first production run. But somehow, companies have no problem sending off a software spec and just sitting back…

[deleted]

Re: Outsourcing Doesn't Work

#44
I once worked as a sys admin to a company that decided to outsource all of its development to Romania. The project failed miserably, but not due to the Romanians. They where on the whole professional and delivered what they where asked for. The problem was that management had only a vague notion of what they wanted, changed the spec all the time (and not just small changes), and didn't really know how to make money from the software once they got it.

From that experience I gathered that the reason that most outsourcing doesn't work has little to do with the actually outsourcing and much more to do with the type of management that thinks that outsourcing all their development is a really good idea.

Re: Outsourcing Doesn't Work

#45

I've read many articles critical of offshoring to India over the past few years, and they all seem to have the same pattern. The authors all seem to want to describe what's wrong with offshoring, but what they end up describing are great examples of the kind of thinking in American companies which leads to failure. The pattern is almost identical: - It all starts with, out of nowhere, 'pressure' to 'outsource/offshor…

What you're describing doesn't sound like outsourcing or even offshoring to me. It sounds like expanding the business in new geographic areas. Successful manufacturing companies would never think of sending off a spec sheet to the cheapest contract manufacturer and then just sitting back and waiting for the first production run. But somehow, companies have no problem sending off a software spec and just sitting back…

I see what you're saying, but 'expanding the business' is a bit of a euphemism. The article gets almost everything wrong, but I think it has a good definition of outsourcing/offshoring that works:  save a ton of money and ship quality software. The article claims this almost never happens, but make no mistake, this is exactly what is happening from the better centers. The cost differences are enormous, Indian cost often being no more than a quarter to a third of US ones. The article has a lot of nonsense about why great Indian devs will 'charge' the same as what US ones do (as if they have the power of market makers), but the reality is that you really can get great teams at a fraction of US costs.  

  Another reason to call it offshoring is that every time the company stock is under pressure, US top management wants to let go some people in the US and move more to the India office. This is often not what the India teams want. Over the years, they've developed strong relationships with devs in the US office, with respect for their abilities and acknowledgement of having learnt a lot from them, and don't want to see themselves as taking away the US devs' jobs. The best devs in india want to go off and do new things they've thought of themselves, but are pulled into 'transitioning' new stuff. Managements are the same everywhere, and these kind of things don't  figure in their calculus.

Re: Outsourcing Doesn't Work

#46
post #17
post #14

Earlier quoted context omitted.

It's a girl ("I am the daughter and granddaughter of immigrants (Indonesian/Chinese on one side and Russian on the other side)"). 1) The problem with domestic outsourcing is you frequently come up against the issue of "I wont need to support this in a month so fuck it I'll just finish it the quick hacky way now." For small site projects like wordpress blogs this may be acceptable, but for actual software I still can'…

The domestic firms to which you outsource typically don't want #1 to happen. They want to build a long-term relationship and hold your repeat business. They want to become such experts on your software that it's not cost effective for you to pay their competitors to work on it. The way they can stay less expensive than in-house development is simple. They can use time division multiplexing to put an entire team of wo…

I would love for that to be the truth, though I've yet to see any scenario that works out anything like that.

Re: Outsourcing Doesn't Work

#47
post #34
post #15

Earlier quoted context omitted.

No, you're really paying your developers to build domain/business knowledge and familiarity with the codebase. Then when you need a bug fixed or a new feature, it's a snap. You're also paying them so the competition can't hire them. Remember the value of any company engaged in IP is not in the stuff it owns and not even in the stuff it's already done: it's in its ability as an organization to identify and solve new a…

These are all valid points, but I think you're overstating the case a bit. Certainly, IP creation should not be routinely outsourced, but it can be outsourced in limited cases to the benefit of the organization. I think there's a common misperception that outsourcing firms charge higher rates because their resources are (supposedly) more technically proficient. But, at least at my company, this is rarely what's going…

>any product development company worth a damn hires as much for business acumen as it does for technical acumen. Otherwise, what would be the point?

Oh most definitely.

Re: Outsourcing Doesn't Work

#48
post #28
post #17

Earlier quoted context omitted.

The domestic firms to which you outsource typically don't want #1 to happen. They want to build a long-term relationship and hold your repeat business. They want to become such experts on your software that it's not cost effective for you to pay their competitors to work on it. The way they can stay less expensive than in-house development is simple. They can use time division multiplexing to put an entire team of wo…

I'm sure that's true for many, many firms. But, in my experience running a domestic product development firm, the single best way to acquire repeat business is to exit completely and gracefully. Doing so builds a trusted relationship not only with the business managers who authorize our work but also with the technical resources who have to live with our code. When we give both groups reasons to trust our integrity,…

>But, in my experience running a domestic product development firm, the single best way to acquire repeat business is to exit completely and gracefully.

Very much so the truth. Additionally, giving great business advice to go with your software works well too. The business of software is unfamiliar to most of the people hiring software developers.

Re: Outsourcing Doesn't Work

#49
post #15
post #10

1> Vast difference between domestic and overseas outsourcing. Domestic outsourcing gets rid of a lot of his beefs. 2> You're not paying the developers to develop software, you're paying them to go away afterwards (so you don't have to keep paying them a salary). The big savings don't come from the hourly rate, but instead the fact they're not employees. You get this same benefit domestically. Disclosure: I run a dome…

No, you're really paying your developers to build domain/business knowledge and familiarity with the codebase. Then when you need a bug fixed or a new feature, it's a snap. You're also paying them so the competition can't hire them. Remember the value of any company engaged in IP is not in the stuff it owns and not even in the stuff it's already done: it's in its ability as an organization to identify and solve new a…

>you can't outsource IP creation and survive.

Software companies that are primarily software companies can't.

Companies that are primarily not software companies can and thrive on it. Content companies using tools, factories creating tools, etc.

Businesses are also their relationships. You can have plenty of those with very little ongoing development to support what you have already

The types of businesses YOU'VE been in, the IP creation is that important, however the types of companies that often hire out aren't software companies, they're other companies adding a piece of software to their process/infrastructure/product line

Re: Outsourcing Doesn't Work

#50
post #14
post #10

1> Vast difference between domestic and overseas outsourcing. Domestic outsourcing gets rid of a lot of his beefs. 2> You're not paying the developers to develop software, you're paying them to go away afterwards (so you don't have to keep paying them a salary). The big savings don't come from the hourly rate, but instead the fact they're not employees. You get this same benefit domestically. Disclosure: I run a dome…

It's a girl ("I am the daughter and granddaughter of immigrants (Indonesian/Chinese on one side and Russian on the other side)"). 1) The problem with domestic outsourcing is you frequently come up against the issue of "I wont need to support this in a month so fuck it I'll just finish it the quick hacky way now." For small site projects like wordpress blogs this may be acceptable, but for actual software I still can'…

> I still can't imagine a situation where outsourcing is cheaper, which is why most respected software companies don't do it.

IBM and AT&T both hire outside resources....

>the concept that you WANT them to go away afterwards

I was making a riff off a joke about prostitutes which is why I chose that exact phrasing...you don't want them to go away, but you don't want to pay them except for a very occasional upgrade.

>I wont need to support this in a month so fuck it I'll just finish it the quick hacky way now.

On quality: Some places would rather get a hack for 1/3 the price than a stable piece of software. Not that should be the baseline, but people are (unfortunately) highly tolerant of crappy software if it fixes budgetary problems. Does that mean you should offer the hack? Sometimes. I have done it, but I offer the better thing too when possible, and explain you're going to pay a lot more for V2-4 if you buy the really cheap V1.

Post reply on HN