Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Does anybody know any outsourcing success stories?
16 points by kranner on July 4, 2010 | hide | past | favorite | 29 comments
Hi all, I'm wondering if we can balance the recent spate of outsourcing doom and gloom talk here with any cases that people can relate where the outsourcing of software development (to anywhere) did perform as promised?

My hunch is that outsourcing does work out, even if less than half the time, but that those involved tend to be quiet about it and move on with life and business.

Thank you.




I think it all depends on what you're trying to accomplish. Large scale projects are not well suited to outsourcing in my opinion. There's too many unskilled providers, but my biggest hurdle has been the language barrier. Even when people "speak English", there's a lot of miscommunication based off a few words they don't know, interpret differently or even differences in local customs!

For smaller projects (e.g. developing a website for a local business), outsourcing can be very profitable once you find the right provider. I've had a reasonable amount of success finding good providers in the past and they can cut development times on easier projects if you communicate clearly and provide wireframes / spec sheets. Most recently, I hired a PHP developer from Singapore who was asking for $5/hour and after I saw what he could do (with other languages as well), I immediately raised his rate to $10/hour without him requesting it. Now I've got a long term, loyal developer that works at an extremely affordable price to me and provides quality work. Is it the same quality as a $100+/hour developer in the US? Probably not, but it's very good and I'm happy to always put some finishing touches and modification in myself. I still save tons of time on smaller projects that way.

So to answer your question, yes and no. It depends what you're trying to accomplish and the exact providers you're going to work with.


You may even help to raise the quality of work of your partner from Singapore over time. I guess he's not immune to learning.


i've outsourced software dev and had a range of results, but i think i've got it down now.

outsourcing isn't any different than any other task where you rely on other people. just like traditional in-house employment, dating, personal relationships, or anything where you deal with someone else, working with bad people sucks. the key to a good experience is finding good people.

published accounts probably suffer a negative bias because people who get what they want usually don't go out of their way to post "i outsourced and it was exactly as advertised" articles, while people who don't get what they want like to whine and punish the people they worked with.

i suspect a large percentage of people who are outsourcing dev are: 1. incapable of assessing the quality of their outsourcees, so they end up hiring crap ; 2. cheap bastards trying to do work on the cheap, so they end up hiring crap.

like in any other trade, find good people, and incentivize them to keep playing nice with you.

in my experience, the most important thing to screen for is reliability. i just make a rule to not work with flakes, and i try to make sure my devs are happy.

a lot of people outsource because they can't code. if you can't code, you probably can't tell if your dev can code. if you're in that position, you should find someone to help you evaluate candidates, or you might just get screwed.


No truer words have been said.

Buying software if you are not a coder, makes you very dependent on trust and thus makes your hiring decision very important.

I always start with some simple project.

Barry Rickert http://www.studiobuzz.biz http://www.thecreativebuyer.com


We work with the polish office of a development shop. They get more done faster, and with more agility and creativity than anyone else we've worked with--and all this having seamlessly stepped into a code base that someone else built.

It's not about where the office is, it's about the quality of the people.


Here's my outsourcing story:

I run a busy web dev firm in the USA and we needed a way to speed up our project time lines while still maintaing high quality. The easiest way for us to do this was to outsource the front end code so we could concentrate on design, usability, marketing and back end development.

You would think that outsourcing HTML/CSS would be fairly easy. Turns out that many of the companies offering front end coding (from a layered PSD file) have no clue what they are doing. In fact, there were times we provided them with a complete, highly detailed spec and even wrote some of the markup for them and they STILL managed to screw it up. 

We tried several different firms before we found one that actually knew what they were doing and would adhere to our specs. Now that we've been working with them for about a year they understand what we need and can consistently deliver quality work. 

Just a quick note about the cost: they were a bit more expensive than the other firms we dealt with but I'll gladly pay a bit more if the work can be done right the first time :)

BTW - the company we work with is called XHTMLized I highly recommend them for front end code.


I guess the question for me is “what do you mean by successful?” After a lot of trial and error I’m to the point where the simple outsourcing I do is relatively successful by my own standards but that success is not based on saving a lot of money. Let me explain…

Essentially what I do is spec out the project very specifically and have local people write the front end. Then we outsource the backend and have interns use the locally built frontend to thoroughly test the backend delivered from the outsourced company.

This isn’t dramatically cheaper since you have to spec the thing locally and pay interns to test it while still paying the outsourced developers (it only saves about $2.65 an hour by my calculations). But it does have advantages in that it allows us to be more flexible with our schedule (we can employ more or less outsourced workers as needed) and it does make for a happier development environment (allowing local developers to focus on the relatively more fun front end development and less on the nuts and bolts backend stuff)

So in the end I feel it’s successful though again not so much in the financial sense.


Fun front end? You have some weird developers, most of the developers I know either:

1. Hate front ends

or

2. Should never be let within a million miles of them

And for such a trivial saving I wouldn't want to sacrifice the coherent codebase, code reuse and inhouse knowledge of how it actually works. I would guess that the hidden support costs must be significantly higher too.


Well again part of the point is to spec out your project very specifically. As in "These are the functions we need, these are the variables we will be passing and these are the results we expect to be returned". So code reuse isn't a problem nor is knowing how to use it (quality of code can be a problem but a big part of successful outsourcing is finding people you trust to write decent code)

As for the "Front End" being fun I'd point out that the developers I'm working with are Information Systems people more than Computer Science people. They enjoy working with the actual users, planning features and then implementing those features. What the outsourcing does is allow them to say "I need this string parsed in this way so I can make the rest of this feature work" and just have it done for them rather than having to do the grunt work of writing the relatively easy but time consuming code that parses the string.


Many large companies have dev centers offshore. If you count them as outsourcing, I have seen very good examples of reducing costs while maintaining the existing product quality (I say maintaining, because it was never great to start with) Concrete example: one of the largest travel industry outfits has several hundred people in Poland, and they do excellent work. IMHO

In contrast, from the 20 or so projects that I have seen outsourced to India, I have not yet experienced a success story. But I have seen many examples of excellent Indian developers here. When I asked them about the difference, the common answer is.. " If you are good, why would you stay there to make on 1/3 of what you can make here! "

Finally, Lately I've seen several senior engineers cashing out from here and returning to their countries to much favourable employment conditions.


  >> Finally, Lately I've seen several senior engineers cashing out from here and returning to their countries to much favourable employment conditions.
Including those from India. You can live very well when you couple the low cost of living in India with the higher salary after making direct contacts in the U.S.


People tend to forget that when the business you work doesn't make money itself (directly) out of software that outsourcing is now standard practice.

From a upper management perspective I get the impression that whether a software project is going to succeed or fail is risk of any project - and whether it is outsourced is a minor concern - or only a concern for the software development organisation involved in the decision.

I've seen outsourcing work best when the outfit involved brought some kind of ready made solution with them and it was a matter of adding functionality or adapting it for a specific purpose.

In addition I have seen acquisitions involving overseas development sites work well too.


Oh yeah. It does, at least for me. I write code in ruby, .Net, Java (and eager to work on Clojure/Erlang/Scala) for my clients. I write tests, usually in TDD style. More importantly, i understand software and software development, i am usually the one who suggests adding/removing features, not the other way around. I am also a little optimistic about my estimates (who is not? ;)), but don't think that ever got me into trouble, at least yet. I can communicate really well. My clients are mostly happy with my work. And.. Wait a minute, you are talking about a buyer's perspective aren't you? Ignore my comments. :)


http://www.google.com/url?sa=t&source=web&cd=10&...

The above is from MIT Sloan and pretty much sums up the reality of outsourcing. To do it right, it cost as much as onshore development. Outsourcing should be used to find quality people, as they are always in short supply, and not for cost cutting, because the reality is that it is not cheaper.

There are also cultural issues to deal with. I was part of a project rescue for a Saudi Banking project, in which it was outsourced to the US. The lending rules where not clearly defined, because the fact that Islamic Law forbids usury. That is pretty much common sense in Islamic Nations. The US developers and Architects where having a hard time grasping the fee schedules and therefore, the project overran and failed. When I was brought on I documented every little detail whether common sense of not and then promptly outsourced the business rule development to Egypt. The project ended up costing 1 1/2 times the budget and that is a pretty familiar story with outsourcing. If macro concepts can be missed due to culture, it does not bode well for the micro ones.

You see so much doom and gloom about outsourcing because that is the reality, backed up by countless documented cases, statistics and post mourtums. You hunch is wrong because it is anecdotal.


"To do it right, it cost as much as onshore development. Outsourcing should be used to find quality people, as they are always in short supply, and not for cost cutting, because the reality is that it is not cheaper."

This isn't quite true in my experience. You are absolutely right in saying that finding good people should be the primary focus of outsourcing but the fact remains that the cost of living for even a very good person varies quite bit across the world. I have lived in both the United States and in India, and I would charge significantly different rates if I were to take up an outsourcing project today from Bangalore vs from California, say. I know peopel who are outsourcing high quality Ruby On Rails work at 35-50$ hour to small teams of ex ThoughtWorkers (due disclosure: some of my ex colleagues) in Bangalore, who are very very good at what they do (just to give a specific example). They deliberately avoid bottom-of-the-barrel rates, but I'd be very surprised if even those rates were viable in San Fransisco.

(Just to be clear I have no intention of doing this kind of work ever again - most outsourced work happens to be crap maintenance-of-terrible-codebases/braindead-cookie-cutter-work people in the West don't want to do. Cleaning up muck gets old very very fast)


I just linked to a document that says it is true. It is an scholarly article that has been peer reviewed.

As well, the cost of living of a developer is irrelevant as documented in the paper. The additional overhead of hiring managers and technical / business experts offsets any reduction is cost due to cost of living that one perceives as a savings. These are the hidden costs that the papers speaks directly too.

Sure you can, roll the dice on elance or one of the other freelancing board, work directly with a developer and hope that they get it right, but if a company don't hire project managers to ensure the project hits every micro-milestone and business analyst to document the requirements in extreme detail then that company significantly increases their risk profile.

That is the crux of the issue, you get the development work for cheaper but you offset the savings with additional project management and analyst costs because outsourcing causes more oversight and management.


I'm not sure how long ago this was. Islamic banking is a very well-established field now.

http://en.wikipedia.org/wiki/Islamic_banking


I think you are missing the point. US citizens do not, for the most part bank at Islamic banks. Concepts that are common sense to a general population (culture) can be completely foreign to another. This "tribal knowledge" is omitted many times because it is taken for granted that everybody know it.


But in the project you cite, wasn't knowledge of Islamic banking norms 'domain knowledge', rather than a cultural side-issue?


No, there where details that where omitted by the Saudi business analyst because it was "common knowledge".

For example lets take an ATM machine, it would be like detailing the system and forgetting to mention that the user inserts their bank card to begin. It would be easy to omit that very obvious first step, because everyone (at least in the US) knows that you inset you bank card to begin. I know this is extremely simplified, but the point is there are items that everyone takes for granted as common sense. Some of these common sense items a very cultural in nature.


Remember that people you deal with abroad are also people, just like onshore. Just get your people skills right, and it will be the almost the same thing.


One of the reasons outsourcing happens is not to get cheap labor. Individual developer cost do seem cheap, but adding the culture cost (like India, where low productivity is generously tolerated and bad people are kept around) and the communication cost(time lag, people not understanding the requirement, distance from the customer) brings the total cost of the team to be nearly at par with the cost of the American team.

It is not that the management at the large companies cannot see it. They do it prevent wage inflation in America. If they can get comparable work( and you can get it from India if you manage it right) at nearly the same cost, they reduce the demand for similar jobs in America.

As to the specific answer , yes it does work. However, you need a strong management that focuses on results. I have seen projects outsourced with no clear goals handed to the offshore team. They invariably fail (despite the team being reasonably smart) because the team was not working towards anything tangible.


I think Digg was started by being outsourced through eLance


What size are you looking at? On either the success or failure side, I think there's relatively few similarities between, say, getting freelance devs from elance on one end of the spectrum, and contracting out a big project to InfoSys on the other end of the spectrum.


Any size. Thanks.


My personal experience is that outsourcing success or failure is highly dependent upon writing of the original software spec. The second most common failure is that clients run out of money as they did not realize how much it would take from the start. Vendors are at fault too as they tend to "do what it takes" to get the job but don't carry that attitude to complete it.

Barry Rickert http://www.The Creative Buyer.com http://www.Studiobuzz.biz


Just to name some companies:

T-Mobile, Google, Sun, Microsoft, Digg, MySQL, HP, Facebook, Zynga, namealmostanysuccessfullitcompany here.

Of course it works! Its just about how many ppl underestimate complexity of getting it done right.


Unfortunately, your hunch is proven wrong wrong wrong by statistics. Actually, in-house development fares worse than that (if you count ones that go over budget, over schedule, under scope, don't get used AND ones that get scrapped completely) and I don't think you're suggesting that the odds of an outsourced project are better?

Stats on that are everywhere. Some are here: http://www.codeanthem.com/blog/2010/04/how-to-save-the-softw...


To clarify: I am aware that there are plenty of outsourcing disaster stories, and that these probably outnumber the number of successful cases.

I am looking to hear from some of the latter, especially from those on the commissioning side as they might be seen as less likely to have their jobs depend on it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: