What Do You Do When Outsourcing Goes Bad? 751
Xphox wonders: "Recently we have been referred to an outsourcing company to finish customization on a script that the author had no time to complete. Everything was going fine until recently. At what point do you consider they may have just ripped you off, and how do you know when to file complaints and withhold payment?"
"I have been working with what I thought was a reputable outsourcing company, referred to me by the author of the software package. We agreed that payment would be made once everything was completed. After a few missed deadlines, the project finally seemed to be finished. The only thing left was a small bug fix, and an install script which needed to be completed. As agreed, he delivered the install script, and we made the final payment. Upon testing the new install script we noticed things did not work as intended, and all attempts to contact the outsourcing company has resulted in the following answer:My fear is that if I don't act now, I will not be able to recover any funds, and will be stuck with a product that is useless. It has been 9 days since I've received an email from them, and I'm starting to think I've just been taken advantage of. Since the script is protected with Source Guardian, I am unable to finish the modifications myself."'My guys are still working on it.'
Its all in the contract (Score:1, Informative)
Go public (Score:5, Informative)
Serves you right (Score:1, Informative)
Caveat Emptor (Score:5, Informative)
You learn... (Score:3, Informative)
when it goes bad?!? (Score:3, Informative)
but, really. when it goes bad? i have yet to see an example when the cost savings to a multinational corporation justify the damage done by outsourcing work.
you'll have people point to the study that came out that says that outsourcing is good for the economy [bizjournals.com]. but is it? what it really provides is a decline in the quality of jobs in america.
let's think about this. company x has $300,000 it spends on paying 100 engineers. then it discovers it can save $200,000 by sending those 100 jobs to india. so with that $200,000, it hires 200 more engineers in america! net gain of 100 jobs here, and 100 in india! everyone wins!
except, of course, that the jobs that remain here pay 1/3 of what they used to. and that doesn't even include benefits. the moral of the story is, as always: when the company and stockholders win, you better be a stockholder. because if you're an employee, you're screwed.
When you hire a... (Score:5, Informative)
Wrong website (Score:3, Informative)
This is a business issue. Is my contractor delivering? What do they have done? Ask to see it. What milestones have been met, and what is being done to resolve the remaining issues? Perhaps your agreement with the outsourcee needs to be rethought, it sounds like it wasn't planned very well.
I have absolutely ZERO experience in outsourcing and writing scripts as a job, and ZERO experience in managing a business and relations. These are obvious answers to obvious questions that do not belong on Slashdot.
If you just tried to save a buck by outsourcing, then you deserve to get burned. You are just jumping on the outsourcing bandwagon without making sound business decisions. There is a level of control lost when you outsource something. You sound like you have no method of feedback and reassurance. Shame on you.
Re:Final Payment? (Score:5, Informative)
Don't assume all contracts are the same.
File *NOW* (Score:3, Informative)
I've worked with these "reputable" outsourcers before. Really, there is a crop of programming companies that have turned up in the last few years that make the 15 year old outsourcing companies sick. I've been in a position where I had an internally modified GPL source, needed a feature added, and when the CTO decided to push that work out of house, we wound up with a binary and that's it. And it didn't do what we needed it to do.
The company you're working with has probably been behaving this way as long as it's been around, but this shit needs to stop. Lay down the law and pull out, as much and as fast as you can. There are reputable companies who do this kind of work. However, it is almost always small companies, which also release real products that will get you the best result - like Omni, who makes OmniWeb for the Mac, also was well known for being outsourced to for game porting. Look for someone who also makes a product, then you'll have found someone potentially worth working with
Re:Final Payment? (Score:2, Informative)
FQT clause in contract (Score:3, Informative)
Usually, representatives from the contractor and from our company get together, have a demo, and check off every requirement as it is demonstrated. Then everyone signs off on the document and we cut them a check.
It would be totally worth it to fly a rep from the Chinese company out to the States to follow this procedure. I've dealt with lots of Chinese people in my career and they tend to be strongly opportunistic and legalistic (but only if being legalistic can help them). It's just how their culture is. If you don't do anything to withhold payment until you get a working product, they'll think you deserve to get ripped off.
Good Outsourcing (Score:4, Informative)
1) What is their experience (how many years they been around) and reputation (do you have references)?
2) What is your access to the work and resources?
3) Can you evaluate their work independantly?
4) What contingencies does the contract provide you if work isn't done or doesn't meet your needs?
5) What payment schedule is provided to you?
6) Who can you talk to when you have business as opposed to technical issues (accountability)?
7) What are the deliverables, and who owns them?
ANYONE that takes cash upfront to do work I'd be wary of. The cash is your ONLY bargaining chip unless you are willing to go to court.
If you pay someone to develop something for you, YOU own the code.
You should have secure and free access to anything developed for you, and that includes the right to walk into their offices (homes) and demand materials. You have, after all, paid for it.
In big outsource projects (fixed cost), companies often hold back payment 40-40-20. That means a cost is agreed to, 40 percent is paid up front for the resources, 40 percent during the estimated duration, and 20 percent for completion.
In smaller ones, that are usually time and materials, unless you know the developer/shop is reputable, it is best to work ok similar principles - that is give a retainer to start work (if they accept money to start they are legally bound), and after you figure out the hourly rate - you withhold some portion for completion. The alternative is NOT to pay biweekly or monthly (based on hours), but to pay by function points. That is, they can bill you when they provide you with a deliverable.
Re:What else do we do? (Score:4, Informative)
Free market is free as in speech. Free lunch refers to free as in beer.
Outsourcing (Score:2, Informative)
The term you're looking for is offshoring.
Re:Simple test here: (Score:3, Informative)
There is nothing in theory or in practice that says capitalism requires constant growth. Capitalism is the protection of rights, particularly property rights. Growth results from this because people's efforts provide secure returns, protected from government and private thieves. Other systems don't provide this protection, so people have less motivation to try to improve their condition.
Re:Unfortunately the parent option... (Score:4, Informative)
anyway what happened is they had their offices searched and their computers confiscated (according to the whiny semi-apologetic mail later received). they were basically shut down totally, at least for a short while.
they werent killed or tortured or even imprisoned. but they were definitely scared shitless, and they arent laughing anymore. it cost them time, money, and probably a heart attack or two.
Re:Hmmm (Score:3, Informative)
Actually, Argentina and Chile are having good success with sugarcane-based ethanol. And Vanuatu [technocrat.net] is having good success with coconut oil. So there is some success from the ethanol/biodiesel method....
Here's what's funny: (Score:3, Informative)
I see lots of recommendations to "get it in writing" and "make sure they finish BEFORE you pay them..."
I've never, ever, not even ONCE seen things work that way! Trying to adhere to fiction will get you fictitious (and painful) results.
1) Write your contract so that venue is the location of the outsourcer, and all legal hassles happen there.
2) Demand ownership of all sources. It's OK to cross-license rights to use sources in other non-competetive ventures - nobody wants to think you own their thoughts!
3) Demand a reasonable NDA - don't try for everything under the sun and moon. If your NDA is too severe, you generate ill-will without much benefit, and that never helps.
4) Provide a development server, and require them to work on it remotely via SSH or VPN. That leaves you with all the cards, but still prevents the IRS from considering them as "employees" since they have to provide the keyboard and monitor. It also lets you see what they do and how often, and in real time. Perform backups of this work on a regular basis, and keep backups going back in time that they cannot access.
5) Pay promptly and frequently, maybe even weekly. It's easy to cancel a contract that's not going well when there's not $60,000 on the line. That also keeps both sides a little on edge as there's no big, fat lever to screw each other with.
6) It's a relationship. Be friendly! It never works well if somebody resents your contact. If it gets cold and uncomfortable, say so, and demand immediate correction or leave. You don't have to like each other personally to work well professionally. If you leave, do so quickly and without delay.
7) Forget extensive spec development before beginning. Scope creep always arrives at the party, and software is *NEVER* "done" - it's always a work in progress. Spec development, and change the spec as anticipated needs change. It's OK to pay by the hour since you have the source anyway - You can leave and go somewhere else if you don't like things.
In short, arrange the contract so that if your contractor decides to flake, you have options.
At this point, you've pretty well shot yourself in the foot, since you don't have sources. Big mistake! Your only options are:
1) Cajole them into doing the fix (which hasn't worked so far)
2) Have the work redeveloped, or
3) Sue for a fix in a guaranteed timeframe and or access to source code, and financial losses.
Sorry you're in this situation, but never EVER outsource software development without sources. Never. Just don't do it. Can you imagine a tractor company investing in huge, million-dollar tractors, and not ensuring that there's a backup copy of the key?
Neither can I.