top | item 10463195

Why Software Outsourcing Doesn't Work Anymore

379 points| nkurz | 10 years ago |yegor256.com | reply

311 comments

order
[+] makecheck|10 years ago|reply
I would say it never really has worked; there is no "anymore".

One problem in outsourcing is the thinking that programmers are somehow easily replaced; the "just find 'a' developer" idea, with little to no thought put into whether it may matter if the chosen team has any idea what they're doing. Two anecdotes. Years ago I was given such a team, to maintain a system primarily written in two different languages; the manager in charge gave me two guys from the other side of the world who were to be "taking over" the project despite not knowing how to program in either language, and there was no arguing this point. On another project, a resource from far away was graciously donated to me to help with a C++ project; I later realized he had chosen to recreate several container classes in C++ as if he'd never heard of the STL.

Another problem is the fundamental misunderstanding of culture. Managers in the U.S. seem surprised when they encounter wildly different behaviors overseas (gee, it's almost as if they had hired someone from a completely different part of the world!). For instance, I have encountered remote groups that are astoundingly good at self-preservation, who will basically change their minds and do whatever they want at the last minute to prop up their team at the expense of your project. Individuals, too, may have side projects that they care about much more than anything you have asked them to do.

[+] JoeAltmaier|10 years ago|reply
Agreed. 20 years, and I've never seen a return on an outsourced project. The overseas company whittles the specs down so far, your own guys could do it in a weekend. The cost of managing is larger than the value received: barriers include language, timezone, network access, culture, currency, import/export rules. The culture one is huge. Many cultures, a worker won't contradict a boss for any reason. So you're trying to get an expert opinion out of them about how to proceed, they're just saying "Uh huh, yes boss".
[+] chris_wot|10 years ago|reply
Oh boy... That leads on to another thing that most non-technical (and even some technical!) managers don't understand: IT people are not drop-in modular components that will instantly work!

Here's an example: I did some BI work in Qlikview. The existing reports for a particular division were badly written, and were each loaded manually for each client. Due to a number of reasons, we weren't able to change this situation immediately, but we kept what we had running even though it was incredibly inefficient.

Eventually it got to the stage where we needed to get the reports working in an automated fashion. I had a solution I was willing to work on, but was unable to find the time to do it as my primary responsibility was to another BI project.

The manager kept putting off getting new resources, and tried to "fix" the reports himself, only ending up breaking them completely.

The solution that management came up with was to employ a new resource. However, by the time they employed the new person they had 3 days to get the reports working. The problem was that even though the new person understood Qlikview exceptionally well, he didn't understand (and had no way of knowing immediately!):

1. What the dashboards needed to show (not documented)

2. The data sources used in the Qlikview dashboard

3. The way the Qlikview load script had been coded

As the guy was really, really good it ended up taking just under two weeks to get to grips with the underlying data structures and business requirements. The implementation to fix the numerous dashboards took another week. Then fixing any issues took another week and a half. So that was about a month and a half of work to get the guy up to speed, then implement a solution.

Management expects someone to be like a field replicable unit, that you can drop-in and replace on a project. But that is not the way these things work - the nature of people and projects (which are each different) is that there is ALWAYS a lead time - sometimes up to months depending in the complexity of the project - where the new person you employ (no matter how good they are) needs to familiarise and understand the systems and requirements of the business before they can actually do productive work.

[+] matwood|10 years ago|reply
> I would say it never really has worked; there is no "anymore".

Completely agree. I saw this trend when I managed pieces of my team in the Philippines. Nothing wrong with the people there, but you still get what you pay for. When outsourcing is supposed to be 'cheap' people who were any good would be gone in a month or less because I wasn't allowed to pay them more. The second part is that very little software is 'here is a complete spec, now type in the code'. It is usually I have an idea and maybe a rough spec and I need a MVP written to start exploring. During this exploration having my software people learn and explore with me is critical.

Add in the timezone costs, communication costs, costs of actual good people, turnover, and pretty soon the costs are what it would take to have someone local.

[+] nathanb|10 years ago|reply
This is interesting, because you're ignoring the fact that the author worked in this exact business for some time and claims that it did once work and doesn't anymore.

Either he was deluded at the time and overcame his delusion without ever realizing he was deluded (which is possible) or there's more to it than you make it seem. Because I think someone who says "this used to work and now it doesn't" may have something profound to say that the person saying "this has never worked" needs to hear.

Perhaps you're right and software outsourcing has never worked, in the sense that from a total cost standpoint it has never been better to contract development of a software project to a third party than to create it in house. I don't agree with this, but we'll accept it for the point of argument. You're still ignoring his point that the change in economics has caused a cultural change in the attitudes of those who lead outsourcing entities.

The article claims that previously, the economics allowed them the luxury of trying to deliver a result to their customers. Now, they are not able to do so because the economics require them to milk their customers for every cent in order to break even.

This may not directly affect you if you have always believed that outsourcing doesn't work and you disagree with his opening statements attempting to rebut that mindset. But it's still an interesting view from the inside.

[+] blakecallens|10 years ago|reply
The simple truth is that people who outsource development to firms in developing nations are trying to get more than they're willing to pay for, which has never worked - ever.
[+] betandr|10 years ago|reply
It is an inherent issue with the industry, demonstrated by the strategy of adding more people to a project and expecting productivity to increase on a linear scale. Although, intuitively, people surely understand that writing software is a complex task it's surprising how many people seem to just assume it's just banging away at keys on a keyboard.
[+] huherto|10 years ago|reply
I have seen the same problems on in-sourced projects. You still need capable engineers. May be managers who outsource their projects tend to be more clueless. I give you that.
[+] dragonwriter|10 years ago|reply
> I would say it never really has worked; there is no "anymore".

That's the point of the article. To quote the final sentence: The point of all this is that outsourcing simply can't work, because your business interests can't be aligned with the interests of your outsourcing "partner."

[+] timtas|10 years ago|reply
The author is on the right track, but he fails to form a serviceable thesis. You should never exchange cash for services if you follow his thesis strictly. My ten year relationship with my own awesome dentist falsifies this thesis.

To find a better thesis, we might ask, what's the difference between my dentist and WeCodeLikeNoOneElse, Inc?

I think the main difference is reputation, the role it plays the given marketplace. I'm not sure why, but the market for offshore development has never counted on reputation. I can't name a single firm. I can't even remember the name of the firm I recently interacted with as a contractor coming in to to clean up their mess. If I were to suss out any one of the unsolicited Linked In offers for cheap development I get each week, where would I even start?

My dentist has built up a loyal clientele by word of mouth in the community over a lifetime. The community is small enough that a shady dentist would be run out town in no time.

Conversely, I do know the names of some local dev shops, and I know their reputations. The ones with good reputations do not treat their clients purely as cash cows. Although they face the same, or worse pressures on utilization, they do quality work, at a premium. They have built brands and will grow or sink mostly on reputation. They still constantly face incentives to pump out shit, but there's a counter balance that's missing in the offshore outsourcing market.

[+] cantrevealname|10 years ago|reply
> What's the difference between my dentist and WeCodeLikeNoOneElse, Inc?

Lack of reputation might be a factor in why software outsourcing sucks, but the dentist analogy doesn't work.

How does the average person find a dentist? They ask their neighbor or co-worker, who says, "Well, I go to Joe on Maple Street, and he's OK." Seriously, how many dentists does your neighbor actually know? It's probably exactly 1. How many dentists has your neighbor gone to in his entire lifetime? Probably 2 or 3. He has no basis for making comparisons.

I trust neighbors and co-workers to give me movie and restaurant recommendations because the average person has experienced hundreds or thousands of those.

PS: Here's how I find a dentist or doctor when I move to a new city: I do a Google search for ones nearby, look up their credentials, then choose one who went to a recognized university and whose degree is not too recent (inexperienced) and not a terribly long time ago (outdated knowledge, retirement age). This can't be any worse than selecting the 1 guy that your neighbor knows.

[+] PaulHoule|10 years ago|reply
I think it depends who you work with.

There are "boutique" outsourcing places, some in countries you would not expect, who do specialized sorts of work with the best quality at low rates. A lot of people I know the Los Angeles area run startups with outsourced development shops in India that have excellent, excellent teams.

Personally, though, I don't like working for somebody else's consulting shop because of the agency problems mentioned. For instance you get a call from a customer who wants to know why his project is not moving forward, well the real answer is "My boss told me to work on somebody else's project because it is more important to the company." If you say that you will have an unhappy customer and some kind of "correction" from your boss, but if you refuse to give a true answer for the schedule slip, the customer will wonder if you are brain dead or all getting stoned at work or about to go out of business or...

Software development "inside" a company has its own problems too that show up in various forms.

A "non-technical founder" can often spend $25-50k or so to outside developers to make an e-commerce system that is a "minimal viable product" and then you are in a good place to market it, show to investors, bring in more people, etc.

Sometimes it works but sometimes it does not, you might pay the money and get nothing or get a product which is minimal but not viable.

[+] byroot|10 years ago|reply
> To find a better thesis, we might ask, what's the difference between my dentist and WeCodeLikeNoOneElse, Inc?

The difference is that your dentist job is way easier to define, .e.g "Take care of that cavity"

When you outsource the development of a software, you easily end up with pages and pages of specs, and it's almost certain there will be holes in them.

Even if the remote dev shop is of good faith, it takes a lot of effort and talent to actually understand what your client need and want.

[+] saosebastiao|10 years ago|reply
Exactly. "Don't outsource" comes loaded with false positives and false negatives. I absolutely would trust Galois to write software for me in pretty much any circumstance imaginable. And on the other hand, I've seen far too many insourced dev teams deliver pizzas when theyve been asked to deliver hamburgers, and then subsequently try to modify the pizza into a hamburger because they didn't want to rewrite.

When you have someone you trust, you use them. When you don't, you go by reputation (aka trust by proxy).

[+] SandB0x|10 years ago|reply
Absolutely agree on the reputation and word of mouth.

There are great freelancers and consultants who can work with you to build your app. If you work in the industry long enough you will eventually come across them and they really know their stuff. Otherwise, it's a total crapshoot.

They will able to show you a portfolio of work, they will NOT just build anything you ask for (instead they'll work with you to refine your idea into something viable), and they will be expensive.

However, all of these people are local and I have never heard a success story first-hand about looking overseas to cut costs.

I don't know about the word "outsourcing", but there are many cases where getting an experienced external team to build software is a great way to go. It works much better than trying to hire an in-house team for a small non-tech company, not least because it's impossible to get anyone good to join.

[+] cbsmith|10 years ago|reply
> The author is on the right track, but he fails to form a serviceable thesis.

Totally. His whole argument is essentially that the margin isn't high enough. It fails to acknowledge the truth that is highlighted all over this thread: most businesses are terrible it managing software development. It follows then that there is value in a trusted business specializing in managing software development to assist those businesses for whom it isn't a core competency.

[+] rwmj|10 years ago|reply
Could also be training. Your dentist has years of highly specialized training, and if he faked his accreditation he'd expect to end up in prison. Your random programmer can set themselves up with no training or accredited knowledge whatsoever.
[+] datashovel|10 years ago|reply
I think one of the biggest problems with outsourcing comes from 2 groups of people.

Generally these are the most vocal proponents at first, only to become some of the most vocal opponents later. The way I would classify them, generally speaking, are: (a) business people looking to keep costs down but don't know the first thing about running a technology project, (b) those who think "outsourcing" means "I tell you the idea, and you do all the work".

Technology projects (especially custom ones) are hard, and they require a lot of due diligence and hard work from all parties involved.

I would never recommend a non-technical person / company to try outsourcing. It's a recipe for disaster. That is unless you fully trust the person / group of people who you're putting in charge of the project.

EDIT: Thought I'd add a clarification here. Never recommend outsourcing of CUSTOM projects that is. Cookie cutter solutions it's obviously a different story...

And I guess another edit would be to differentiate "scale" of a project. Large scale projects which will be "centerpieces" to a company, are the kinds of projects that I read about being outsourced which alot of times seem to turn bad.

[+] odonnellryan|10 years ago|reply
> "outsourcing" means "I tell you the idea, and you do all the work".

It is okay for anyone to think this, but in any project it is not okay for the workers to leave it uncorrected.

I do contract software projects in the US (near NYC). I get this on every project. A loose scope and a general idea, and then the go-ahead.

It is my responsibility to refine the scope. Sometimes that takes an email, sometimes a longer discussion, and sometimes it takes a small prototype for the client to play with to find out if it is right for them.

It would be incredibly dishonest to just make a project based on what I saw from the beginning. It'd be dishonest of anyone in any industry.

"This is what you asked for!!!" does not cut it.

[+] emsy|10 years ago|reply
> (b) those who think "outsourcing" means "I tell you the idea, and you do all the work".

This is especially bad because those people are in my experience bad at communicating their ideas. Experienced external developers will know when and what to ask to minimize extra workload. Even more experienced developers will know when to shut up and just bill the extra time due to changing specifications.

[+] matart|10 years ago|reply
In my limited experience you are spot on. Non technical people cannot manage these projects. They don't really understand the project themselves and by outsourcing they think they get to pass their problems on down the line.

These people only look at cost and cannot determine skill level or product quality. It ends up costing 2-3 times as much if they went with a real developer from the start.

[+] JupiterMoon|10 years ago|reply
> Never recommend outsourcing of CUSTOM projects that is. Cookie cutter solutions it's obviously a different story...

The thing is that non-technical people may not recognise what is custom and what is cookie cutter.

[+] sliverstorm|10 years ago|reply
Cookie cutter solutions it's obviously a different story...

Are they even considered outsourcing? Like, Samsung licenses ARM. They are said to have licensed IP, rather than said to have outsourced CPU development.

[+] cfontes|10 years ago|reply
I've been part of a project that by the time was called "The most expensive IT project on the planet" and it was planned, run, build and supported by outsourced resources.

I can't stress this enough, this is a mistake, having your management/architecture teams from outsourced companies is just stupid. Nobody is responsible for anything they have no risk at all, it's the best job on earth.

You see those guys come, change everything to their management/architecture style, manage it like they own the company making reckless decisions and before the boat hits the rock they jump ship preferably to join the competitor in a similar project (because they copy each other), because now they have experience and know-how... This cycle is still going on and I know people making a living from this, some are completely clueless but can successfully switch jobs because "They were part of XXXX team in YYYY company" that nobody knows was a complete failure yet.

They still have not finished it ( 2 years after ) all personal from the initial setup are gone, all fault of course is on them now, so new guys can continue to make reckless calls that will probably cost billions of dollars and they will receive nothing in the end.

This is a terrible waste of resources and it's the Cancer to business nowadays.

[+] toptalentscout|10 years ago|reply
The problem is, internal people often are afraid to take risks to implement something brand new because they know they will be going through performance reviews. When the internal staff is empowered by management then it can be done but managers are often not inclined to trust their people enough to empower them at the required level to take on high risk projects.

There's also a liability aspect in publicly traded companies. It's easier to lay blame on the outsourcing company when the project fails and conversely take the credit when it succeeds. Either way, the outsourcing company wins because they get the latitude to design and program their way and get paid as well as experience.

For public companies, outsourcing is a win/win and the cycle continues.

[+] anovikov|10 years ago|reply
I will add one more reason: with appearance of online outsourcing platforms, best developers flocked there as individuals (and that is the only way to really reliably make $4000 as a developer in Ukraine as far as i know). They don't have middlemen, which normally only get in the way by obscuring the communication, and easily beat any outsourcing shops (which don't do much valuable management anyway, just lease out workers). Because individual freelancers and offshore outsourcing companies' employees are doing the same work, only people who left with the agencies are those who are inept and know it - otherwise they'd go to Upwork themselves and get an instant 3x raise. So don't expect an agency to have good people...
[+] GregQuinn|10 years ago|reply
Although his comments are accurate there's nothing terrible profound about them.

For quite a while everybody has realized that out sourcing was never anything more than labour cost arbitrage, dressed up with fairly empty "sales" rhetoric.

However he misses a more fundamental way in which clients and outsourcers interest are misaligned. Because outsourcers are essentially selling bodies they have no incentive to become more efficient through labour cost reduction.

I suspect this failure is the real reason for the current "in sourcing" vogue. As software development and delivery becomes increasingly automated the labour cost component will drop, along with the pressure to outsource.

The outsourcers business model is fundamentally broken and it's only a matter of time before this shows up in the bottom line.

[+] quonn|10 years ago|reply
> As software development and delivery becomes increasingly automated

How? Software is by definition like _manufacturing_ a single item. Production (copying) is already free and maximally automated.

In two centuries we have made very little progress in automating development. I don't see that changing soon, especially not for software.

[+] polskibus|10 years ago|reply
Outsourcing doesn't have to be based on pure time&material model. Software houses have huge incentives to become more efficient - using scale to their advantage, becoming experts in technology, etc. - all that to compete with other software houses.
[+] ohthehugemanate|10 years ago|reply
The argument doesn't make sense. He brings up a lot of the challenges of outsourcing, and makes offhand remarks about good ways to address them. But if his argument were true, no contractor would "work".

The entire contracting industry fits into his description of "outsourcers". Lots of contractors work effectively for their clients. As a person in ANY business, if you believe that your only incentives are to get your clients to pay more, more often, then you will fail. Fucking your customers will wreck your business in any market. The customer has to feel like they got some value out of the deal.

The real incentive for a contractor is to provide the best (perceived) quality of product, for the highest competitive price possible. Even the bottom-price bargain barrel shops know this. They're just bad at it.

[+] d4nt|10 years ago|reply
I run a software outsourcing company and I recognise many of the issues raised.

I did spot a few problems with the article though. Firstly, you should never outsource in order to save money. The author kind of assumes that is why you're outsourcing. That doesn't work.

The main reason to outsource should be to buy in expertise. Many companies do not really know how to document software requirements, or what a non-functional requirement is, or how to design user interfaces, or what makes good UX, or what a good test plan looks like, or how to run user acceptance testing.

Some companies don't even realise that those things are important. They just think that if they just hire a few Ukrainian Java Devs, they will get good software out the other end.

Some dev shops don't even realise that those things are important either. They just act as a middle man. Connecting you to the Ukrainian Java Devs.

Even if the customer does understand what's involved in running a software project successfully, sometimes it just has no desire to employ developers. Maybe they are not the kind of company that can attract and retain good technical talent, maybe they just prefer to stick to what they do best. Either way, using a dev shop offers an attractive alternative to contractors because the team doesn't disappear the moment you stop using them. The team sticks around and retains a certain amount of knowledge ready for next time you need some changes.

[+] lotyrin|10 years ago|reply
What's the best way, as a developer who realizes these things are important, to end up on a team that also does?

I've tried working at agencies who were middle men as you described and faced economic problem of the OP article -- if the client couldn't provide real specs and communicate effectively, who cares -- we just have to bill and make payroll.

I've tried working inside organizations to build things, but they're in a sadder economic situation generally -- they get forced to have built a team because outsourcing failed due to working with agencies like the above, but they aren't a software company and don't have the budget or skills required to build and manage a complete software team.

[+] jcbrand|10 years ago|reply
From TFA:

> OK, what's the solution, then? Just pay more? I don't think that's going to solve the problem; I'll just burn more money.

Sounds like the author hasn't actually tried to solicit a company with higher rates and therefore assumes way too much here.

I think a lot of devs/shops who are more expensive are so because they're demonstrably better. According to free-market logic, they can charge more because the market is willing to pay them more. Why would the market be willing to pay them more? Because their services are worth paying more for, due to them being better.

[+] morgante|10 years ago|reply
You're absolutely right.

Higher rates align incentives because they make the provider more vulnerable to reputational effects. If you're targeting $150+/hr projects, you can't use online platforms to find clients. That end of the market simply depends almost exclusively on reputational marketing (referrals, industry contributions, mindshare).

Hence, as their continued ability to get contracts depends on having satisfied customers, higher-priced shops have an inherent incentive to deliver quality. As opposed to low-end shops who are just scooping up clients with their low rates and therefor have no quality incentive.

[+] MortenK|10 years ago|reply
Outsourcing has worked for me and my clients for 10 years or so. The main aspects of making it work is vendor selection, local manager with outsourcing experience and proper choice of engagement model.

The author, Yegor, is arguing outsourcing categorically does not work due to lower vendor margins from 2001 and today.

What he fails to mention is that while Eastern Europe has risen in cost, there's still plenty of locations with much lower cost and therefore much wider margins. In such locations, his main argument would no longer be valid. Even in Ukraine, there's huge difference in cost of living and therefore average salary across the country. Kiev is very expensive. Dnepropetrovsk, Kharkiv and Donetsk, not so much. But nowhere are you going to find 300 USD a month developers. 2000-2500 maybe, but not 300.

Further, the vendors he describe are not good vendors. Good vendors will raise the price to provide a sufficient margin in order to provide a good quality service. Bad vendors will sell with low price being their only parameter, and yes, such companies will typically have the mindset of "milking the cow". Until they fold from one day to the other, that is.

Finally, the mismatch Yegor describes between client and vendor expectations could be entirely removed if he just chose a different engagement model. For product development, you shouldn't do a fixed-price project model. Rather, do a monthly retainer based model for the same employee(s), where you pay the vendor x amount of dollars for the full allocation of person x. This way there's no prioritizing from the vendor company that can influence your project (unless the vendor is straight up fraudulent). And with a cancellation notice of 3 months, the margin can be lower as there's no risk for the vendor.

[+] Priyadarshan_D|10 years ago|reply
Problem is not with outsourcing. Any product will fail if development not monitored properly whether its developed inhouse or outsourced

Take example of Outsourcing Success stories http://www.entrepreneur.com/article/247462

· Slack: Now valued at nearly $3 billion, this company used outsourcing to develop its solution in its earliest days. · Fab: This large startup partnered with developers in India to maximize funding while scaling up when their business showed signs of growth. · Skype: They used a team of developers in Estonia to help them build out their business. · Klout: To get its technology in the right place before launch, Klout relied on many outsourced developers

A lot of start-ups coming up with good ideas and quality products doing good in so called developing countries

Calculate Software revenue generated in developing countries, You have only showing negative side why you dont you write article about outsourcing guidelines?

what should they do use “Made in own country” Product strategy?

[+] morgante|10 years ago|reply
That list is bogus.

I know for a fact that GitHub, Slack, Basecamp etc. are overwhelmingly developed by in-house developers.

Skype was developed in Estonia but the company was Estonian. That's not outsourcing.

Fab is hardly a success story.

[+] eloy|10 years ago|reply
> Skype: They used a team of developers in Estonia to help them build out their business.

I don't know if you can call this outsourcing. They were a few guys who worked together, there wasn't really a difference in power between them.

[+] anovikov|10 years ago|reply
But i agree with just one thing: don't outsource management. If you hire some developers from an outsourcing shop in outstaffing mode, or just hire them individually on Upwork, that's fine. But don't let the agency do the management. If you can't do the management yourself you can't succeed.
[+] PythonicAlpha|10 years ago|reply
Ironically, he is bashing about outsourcing, but he himself is doing just the same.

Of course, he does it the clever way (I read the description at teamed.io, how he makes software-development cheaper by paying "more"):

By breaking down the tasks into 30 minutes microtasks, he will only buy the "fat" from the programmers cow. The muscles, filaments and veins, he does not buy.

Of course, you can buy only the raw implementation part (at best, only the typing) of a software -- but somebody will have to do the reading of the specs, to do some guesswork ... and so on.

By buying micro-tasks, this company does use the fact, that many people will only count the "real" net programming time but not the time in-between those micro-tasks -- reading the specs, preparing the next job, doing the thinking, maybe communicating, waiting for the next assignment ...

And the final clever way is: The time estimations come from the company and that is the base for the payment. When a contractor took over a job for 30 minutes and worked on it for 59 minutes (without all the reading and other stuff as said before) ... will he go and reject the money because he nearly worked 100% more on it than expected? Will he really tell the company, that he is not that big talent, he was hired for in the first place?

[+] Mimick|10 years ago|reply
Guy from 3rd world country here.

There's a huge number of outsourcing companies on my country, but the ones that are able to attract more clients are the ones who don't care for their products, since their business model is like that.

Normally those ones focus on showing you their teams not their works.

[+] Swizec|10 years ago|reply
As someone who spent several years as a solo freelancer/consultant, sometimes offshore, sometimes onshore.

The main reason this type of work is drying up, in my experience, is that there is too much free money flowing around. Why deal with a temporary worker when you can afford to hire them full-time and have them sit in your office?

Furthermore, full-time engineers add a lot more to your valuation than freelancers and consultants do. A client once told me that adding a consultant to their "full-time" force increases the company's valuation by $100,000, but a proper full-time engineer adds $1,000,000 to the valuation.

I'm not sure why, but if I had to guess I'd say it's a combination of a company showing clear signs of growth (more employees == growth), and the lower churn because of 4 year vesting plans.

[+] j42|10 years ago|reply
It's because there's at least one person on-board the company who understands the technical underpinnings, and has incentives that (usually) align with shareholders -- versus consultants whose bottom-line is never entirely dependent on the success of your company.
[+] gizi|10 years ago|reply
> Why deal with a temporary worker when you can afford to hire them full-time and have them sit in your office?

Because after paying his taxes and his cost of living, this full-time person makes way less than the guy doing the same job from the Ukraine. Therefore, everybody with just even half a brain will do the math and will not be available for sitting in his office. They'll put up their own office on some sunny beach in Guatemala and log in from there. Don't tell me it is not true, because that is what I have been doing for the last 10 years.

[+] tequila_shot|10 years ago|reply
I used to work for an Indian MNC first, I was their eyes and hands in United States so I had to work with a lot of remote teams every single day.

Like everything, working with remote teams is also a skill. May be you worked with some team in poland and they were brilliant, good for you; you don't have to manage. But all remote teams aren't like that. The mantra for working with any remote teams is to micro manage. Have everyday calls with them, specifically tell them what you are expecting.

Before that, I myself was a remote developer, before traveling to US. As many of you already pointed, this depends on the vendor you go with. There are lot of multinational companies who outsource work and some of them are really good. A lot of discussion is going on that the teams have reduced the specifications given to them again I would tell you that it all depends on the team you choose. I never did that myself, hell the person who outsourced the worked to me, was not very knowledgeable. So does that mean I can judge everybody who outsourced work to us?

makecheck said, the software outsourcing never really worked, when I was working in that MNCs we had projects ranging from huge telecom companies to Aviation companies. And those projects ran close to 5 years - 10 years. How did the CXO reap the benefits for 10 years if he doesn't see value in it?

[+] jmnicolas|10 years ago|reply
I can't say much about the subject since I never used outsourcing, however 4000$ a month for a Ukrainian dev looks really over evaluated, it's much more than most positions in France.
[+] jff|10 years ago|reply
"Why doesn't traditional outsourcing work? Well, because I came up with a competitor for it!":

> Present us with your requirements, be it a web system, mobile app, or Big Data who-knows-what. We will give you our best team of freelancers, all working remotely, and we will orchestrate their work, keeping you an active participant in the project.

[+] zarkov99|10 years ago|reply
My impression is that early outsourcing did work but it worked because the first outsourcing in India companies were founded and staffed by an elite fraction of Indian developers who, for the money, were in many cases sufficiently better that the in house counterparts to overcome the very significant problems of remote development. Capitalism works and that huge salary differential has eroded to the point where this is no longer the case. You can no longer get a Phd to work on your in house CRM system for $20 an hour. Outsourcing companies tried to scale past this talent imperative through heavy process focus but this of course only works for very well understood problems of which there are few in the software world.