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.'
Simple test here: (Score:5, Funny)
Re:Simple test here: (Score:5, Insightful)
Re:Simple test here: (Score:4, Insightful)
And I hate it when people accept the notion of free market and competition only when they are on the winning side.
Re:Simple test here: (Score:2, Insightful)
I've yet to see any foreign company turn out code better than an American development team. They're cheaper, not better.
What else do we do? (Score:5, Insightful)
Thing is with American middle class losing thier jobs who will buy Overpriced American products ( they stay overpriced because the CEO's must still make Multi-Multi million dollar pay checks)
I don't see Indian Programmers making $5K a year standing in line to buy $2000.00 MayTag fridges and $30,0000 ford/Chevy/dodge SUV's
We are already seeing the short sightedness of all this Look at the stock market it is contiually weak, in spite of the fact that we have been in a 'recovery' for 3 years. Why, because consumer demand isn't as strong. Well when you are destroying good jobs and replacing them with lowing paying jobs, people are not rushing out to buy non-essential crap. Add rising health insurance rates which no one in the US wants to do anything about.
If the Indians think they are so great now, just wait, there is No great love for them here in the States, As soon as the Chinese or Africans or whomever can do the job cheaper, the Indians will be left with a bunch of vacant Call Center/Tech Centers and rising unemployed middle class. What will they do then, Nothing they have nothing to sell anyone wants other than the fact they were cheaper, for a while. To boot they will have left behind some major bad will on the part of the American public....
All the 'Free Market' fans here (everyone is free market till they lose thier job, house etc....) will be on the Chinese/African
There is No such thing as a free lunch or a free market someone has to pay......
Re:What else do we do? (Score:4, Informative)
Free market is free as in speech. Free lunch refers to free as in beer.
Re:What else do we do? (Score:3, Interesting)
When adjusted for cost of living this statement is not true. I live in California, where we have one of the highest costs of living. I make reasonable money at my high tech employer, yet I am barely able to make ends meet. I'll acknowledge that I can likely live on less, but if I were flipping burgers I would also be completely homeless. I can not live on $6.75 an hour. Not when the cheapest rent I can find is $750 a month in some really re
Re:Simple test here: (Score:5, Insightful)
He said they're moving out of China soon.
Why?
Because the labor (these are specialized workers) is too expensive. That's right, China is too expensive.
It's true that the wage that the Chinese engineers are asking for has gone up. But that's a natural factor of supply and demand. Eventually, they are going to actual start demanding to be paid what they're worth to the company. However, their wage is still significantly lower than the one that the US engineers received way before the outsourcing occurred. So assuming that all other parts of the equation are the same, the company is still making more profit after *salary* (excluding other expenses) than it did when it wasn't outsourcing at all.
Nonetheless, this company is going to move to another country where the workers can be paid significantly less, thus maintaining their huge post-salary profit margin (again, discounting expenses in other areas).
Why are the doing this?
Because globalization has made it significantly easier to do so.
Because of globalization, it's now possible to start up a working factory, shop, or headquarters pretty much anywhere in the world. This means that you can specifically target the most impoverished countries, countries where the average person makes a 10th, 100th, or 1000th of what an American might, and set those people to work.
Now, in a non-growth system, where companies maintained their size and scope, companies would be able to hop back and forth between countries at whim. Whenever country A became too expensive, they'd simply move to country B until it became too expensive, then hop back to country A (now desperate for work).
However, capitalism cannot exist without constant growth. So, one side effect of this global offsourcing behavior is that as the salaries grow for the workers, so do their spending habits. They then, in turn, cause growth in their country's economy and increase demand for supplies and services, forcing the businesses to hire more workers to supply this demand.
As a result, eventually there will be no country where the workers haven't gone through this process, so there will be no place to turn to for "cheaper" labor. This, of course, assumes consistent growth.
Of course, this does pose a problem: currently, we're using up resources on a grand scale. And if our population growth continues as the average consumption of individuals go up, we may end up seeing a problem with a shortage of resources. This will cause prices for items to go up, which means that the increased salaries will have decreased worth (this is pretty much the case now in the US: you can live like a king in Beijing on $20,000 but in New York you'd barely be scraping by).
Therefore, only those with salaries at a higher order of magnetude will still live comfortably. In other words, CEOs and other financial elite. So, the gap between the wealthy and non-wealthy will continue to grow.
So, I do think that people who point to offshoring as being a tool to benefit those at the top are pretty much dead on.
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.
mod this up, people (Score:3)
Re:The problem with your doom and gloom (Score:3, Insightful)
Sometimes there just isn't an alternative to be found.
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....
Re:Simple test here: (Score:2)
Re:Simple test here: (Score:2)
Saving your bottom line. (Score:5, Funny)
1: Stop payment on cheque.
2: Demand refund of deposit.
3: Get one return ticket to contractor's location via Expedia [expedia.com].
4: If 1 or 2 fail send return ticket to "IcePick" Vinnie.
5: Pick up Vinnie at airport in a couple of days.
6: Take money home and count it or enjoy photos of mangled corpse(s).
7: ???
8: Profit!!!
Re:Saving your bottom line. (Score:2)
1: Stop payment on cheque.
2: Demand refund of deposit.
3: Get one return ticket to contractor's location via Expedia.
4: If 1 or 2 fail send return ticket to "IcePick" Vinnie.
5: Pick up Vinnie at airport in a couple of days.
6: Take money home and count it or enjoy photos of mangled corpse(s).
7: ???
8: Profit!!!
??? = Sell photos to crew producing "Faces Of Death: When Ripped Off Outsourcers Attack."
Unfortunately the parent option... (Score:5, Interesting)
Re:Unfortunately the parent option... (Score:5, Interesting)
I assume from the lack of considering a legal option that the OP is talking about off-shore outsourcing (I know the outsourcing apologists in this thread have been busily suggesting it isn't off-shore... Sure, guys). Getting any satisfaction from an off-shore court is almost impossible.
My last company was the victim of out and out fraud on the part of a Chinese firm. When my company threatened legal action, they basically laughed at us. They were right to laugh -- essentially there was no above-board way to get any legal judgement against them. We were foreigners, plus we didn't know who to bribe (the Chinese legal system is incredibly arbitrary and corrupt).
We never saw a dime. When the investors found out we'd lost a huge amount of money *and* didn't have the scheduled release, they took over the company and liquidated it.
That's part of the reason I'm not too worried about offshoring as a long-term trend (as opposed to the fad it is now) -- you can't entrust anything critical overseas because you have zero recourse if you're screwed over or incur liability.
Re:Unfortunately the parent option... (Score:4, Interesting)
The problem is that, even if you get a judgment against the foreign company, how are you going to enforce it? The courts can't imprison them for contempt, because they're in another country. Extradition for contempt? Ha, I wish.
So, if you get a judgment against a foreign company, you'd have to go over there with Vince and collect on it the hard way, anyhow. Why not save the legal fees and just go over there in the first place, without having to file any expensive lawsuits in federal court?
Disclaimer: I am not a lawyer. Everything I just said could possibly be wrong, but may not be, and is in no way intended as any form of advice, legal or otherwise. If you believe anything I've said in this comment, you assume all risks and liability that may ensue, be they personal, civil, criminal, or otherwise. I have also never played a lawyer on TV. Confusing me with someone who has would be flattering, but incorrect and foolish.
Re:Unfortunately the parent option... (Score:5, Insightful)
just write a nice letter to the chinese embassy / chinese law enforcement, that a company you were working with turned out to be a front for a pro-democracy revolutionary group, falun gong, or pro-taiwan-independence movement or something.
i've gotten chinese spammers shut down this way, when they laughed at me. they aren't laughing anymore.
Re:Unfortunately the parent option... (Score:3, Insightful)
Wow, you're right... getting a brutal dictatorship to torture and kill people who send you unwanted emails is *awesome!*
asshat.
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:Unfortunately the parent option... (Score:3, Insightful)
you joke... but how long until that becomes a viable way of dealing with undesirable people... the same way it is in China.
Tried this (Score:3, Funny)
Ice PIck Vinnie (Score:3, Funny)
On the other hand, Igo Kutchyakokov is reserved for over seas operations. He works with a marvelous Japanese Italian negotiator, Makya A. Soprano, related to the New York City and New Jersey Soprano families.
Rule #1 when you pay someone to code for you... (Score:5, Insightful)
Re:Rule #1 when you pay someone to code for you... (Score:2)
Re:Rule #1 when you pay someone to code for you... (Score:2)
The downside is that contract negotiations can drag on forever, and adding in an additional company can make it take even longer.
Contract? (Score:2, Redundant)
Re:Contract? (Score:2)
Re:Contract? (Score:2)
Re:Contract? (Score:2)
Go public (Score:5, Informative)
Re:Go public (Score:2)
Re:Go public (Score:2)
I have no mod points, but this comment deserves them....
In this case, the facts would be well documented and verifiable, a strong libel defense.
However, the substantive possible fallout could be that other companies might be leery of working with you. They could be afraid you would publicize all the bugs in the code you produced for them, etc. Just something to think about.
Caveat Emptor (Score:5, Informative)
Re:Caveat Emptor (Score:2)
Lying (Score:2, Insightful)
I usually let that happen twice before I call them out on it.
Is this really necessary? (Score:3, Insightful)
Re:Is this really necessary? (Score:2)
It sure is. All the local people want a living wage, the jerks.
You learn... (Score:3, Informative)
Re:You learn... (Score:2)
But turn it around... how much does it cost you to pay a contractor and then get something that doesn't come close to meeting your needs?
Never need to withhold a payment (Score:2)
You get what you pay for (Score:5, Insightful)
Where is the contract? Whose laws govern it?
You went with a company outside of your country to do a deal..
Why didn't you test what you got first and then pay for it...
I smell FUD... no details here, is this just an anti outsourcing fable?
story is not believable (Score:2)
If this story is remotely true then you were very foolish indeed. As others have said, you need concrete acceptance criteria.
This story has nothing to do with outsourcing per se. The mistakes you made could just as easily have happened if you had been as lax with a US contractor working in house.
I strongly suspect this article is an attempt to discredit the practise of outsourcing. The biggest problem I see is with your c
Why just with outsourcing (Score:2)
A better question might be if there's any sort of response apart from withholding payment and cutting ties. Is there a legal response that will make a difference to your bottom line? That'd be an interesting facet of outsourcing if you ask me.
Hell, itll bite you. (Score:5, Funny)
So they take the program, rip out all the shit (a surprising percentage of it), and rewrite the whole thing pretty much from scratch in the course of a week. They finally get it working, and hand it into the boss, without telling him how badly they got fucked by the outsourcing. The boss is impressed by the quality of the code, and decides that the next project they do should be sent to the same firm. Luckily, my friend wasn't around the next time they went with the low-cost outsourcing.
Re:Hell, itll bite you. (Score:2, Insightful)
Never lie to your boss - it's always better to admit you made a mistake then fix it.
Re:Hell, itll bite you. (Score:4, Insightful)
Re:Hell, itll bite you. (Score:4, Insightful)
Never let social pressure or the unpleasantness of being the bearer of bad news stop the flow of information in your organization. If, out of loyalty and dedication to your people you work overtime for a week and get it working, you have to let them know, or they won't be able to be loyal back to you in return.
It also stops the Russian firm from realizing that they aren't giving out a good enough product to stay in business, and screws them over too.
Basically, letting information stop with you instead of passing it on damages the whole capitalist system in the long term, and you should only do it if you like being poor and unemployed.
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.
Worse possible math EVER. (Score:3, Insightful)
100,000 $ = 100 india engs. 1 ie = 1,000 $
200,000 $ = 200 engineers. 1 eng = 1,000 $
each eng here will survive with the same salary as in India? I think not. The manager will get 50,000 $ in bonuses, and the VP the other 150,000 $. everyone wins, if by everyone you mean the PHB and the VP. ah, and the stockholders won't see a dime, too.
Two thoughts (Score:2)
2) Why would you agree to have something developed for you if you don't get the source? Surely there are so many independent vendors with references and more willing to work with you that you didn't have to agree to such a silly restriction.
At a minimum, all of your communication with the vendor should be via certified mail. If you're going to stop paying them, you need a paper trai
How about... (Score:2, Redundant)
Source Guardian??? (Score:3, Insightful)
Life's lessons (Score:5, Insightful)
You made payment BEFORE you ran formal acceptance testing of the application (yes, including the installer). That was your fatal error. Once you've ponied up the bucks, you've lost all leverage short of a lawsuit.
If I were you, I'd email then and request a specific timeline/deadline for completing the work. Make sure your email contains language stating that what they delivered does not meet their obligations. Assuming they respond similarly (i.e. "we're working on it"), then at least you have some level of proof that they acknowledge that they are potentially breaching the contract you have. Then take their asses to court.
Good luck. Next time remember
- formal requirements
- explicit deliverables (see requirements above)
- formal acceptance test to ensure that the software actually meets requirements
Re:Life's lessons (Score:2)
Good luck. Next time remember
- formal requirements
- explicit deliverables (see requirements above)
- formal acceptance test to ensure that the software actually meets requirements
They probably outsourced all the people that could do the above effectively.
I'm serious, all too often it isn't the code monkeys that are the real expense that companies want to outsource. It is the architects, managers and higher level people, the very ones that are capable of putting together the detailed formal requiremen
Re:Life's lessons (Score:2)
in terms of the construction industry. (Score:2)
I work for an architecture firm, where in outsourcing is quite common. Unfortunatly it's a better question to ask how do you prevent it from going wrong. The answer for that is regular, frequent progress checks. Now if it does go bad this is where yo uhope that your contract is well written. Usually this comes in the form of liquidated damages. eg. If the progress does not meet the progression timeline set at check points a, b, and c. then liquidated damages will be assesed at $$$ per days behind schedule.
Final Payment? (Score:3, Interesting)
Wow.
Re:Final Payment? (Score:5, Informative)
Don't assume all contracts are the same.
Re:Final Payment? (Score:2, Informative)
Re:Final Payment? (Score:4, Interesting)
When to ask (Score:2, Funny)
Resort to torture (Score:2)
When you hire a... (Score:5, Informative)
Firsthand experience (Score:5, Interesting)
I consulted for an Atlanta firm which dealt in Sarbanes Oxley compliance software and my firm agreed to develop a rule based data adapter which sucks in raw data from external enterprise systems such as SAP and translate it. And my firm agreed to do so without having any one (else) with a bit of enterprise development experience hoping we would be able to outsource it to someone else in India (despite all my "muted" protesting).
Well, we picked a firm (which I believe was cheap enough to be picked), talked to a couple and they seemed knowledgeable and we were on. I wrote down the requirements myself and passed it on to them. There were two who where hands on and I provided any help they required plus the project management. It all went to shit in a couple of days. First, they wanted to bounce ideas off and around for a few days. Here, I am working from 8:00 AM in the morning through 2:00 at night, drilling requirements in to their thick heads, answering questions, go to bed late, only to wake up and realize that they had the same questions and were waiting all day for me to wake up!!
I got so pissed off after having to spend most of my waking day working on what they were supposed to, putting together answers to questions already answered, and chatting with them over IM, losing layers of patience bit by bit before calling them morons to their face. They were still billing us a full 8 hours for doing nothing, blaming it on unclear requirements.
After going to and fro for over a week, when nothing got built, I turned around and got my buddy who works for HP in Cupertino to pick it up. He coded it in his sparetime and pretty much finished it single handedly in the time that it was promised.
The biggest pains in outsourcing, from where I stand, is the disconnect between the teams, the clarity in requirements and the work ethics. I have seen the other end of the spectrum too, when I left for India for a short stint and worked with a team on a high risk project and had to deal with all sorts of management stupidity and workplace politics, putting my team through 14 hour work days, getting pissed drunk together on build nights and delivering on our promise with in the expected timeframe. The work ethics atleast on a developer level is not that different, if you get good young kids, they are smart and loyal. But if you step up to the level of management, you do find hundreds of incompetents who suck the living blood and exist solely to serve their own interests and to collect their paychecks.
I am not prejudiced. Infact, I am Indian and everyone mentioned above is, as well.
EULA? (Score:3, Funny)
If so, you're probably SOL. I've never managed to get my money back from Microsoft due to the bugs in their software either.
It probably said something about this EULA superceeding all previous EULAs and contracts too.
(Note to the humor-challenged: this is a joke. Sorta.)
Hope you have a good contract in place (Score:2)
If you own the IP, you should have the product delivered to you in a format that is maintainable (i.e.: editable) by your company. Sounds like you didn't have such rights assigned to you in the contract.
It's quite simple... escalate (Score:2)
If this bears no fruit, or the plan isn't being followed, or no one calls you, the CEO needs to get on the phone and threaten legal action for failure to deliver on a promised contract.
All t
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.
What I do... (Score:4, Insightful)
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
Hire domestic programmers next time (Score:2)
We almost missed the market window because of this failure, but the company put together a team of domestic programmers, on salary, who want to see the product succeed, because it is in our own be
Re:Hire domestic programmers next time (Score:2, Insightful)
-1 Assumption
I think you got used. (Score:3)
1) Always test the application yourself from compiled code. Its too easy for people to code to pass tests.
2) Always have source code. Always.
3) The final version should be compiled from source code.
4) The code should be reguarly reviewed by your staff for errors and suspicious code. NEVER give someone else access to your network.
Outsourcing is a real Pandora's box.
Contact your vendor (Score:2)
Make a stink with the company that referred you to the outsource company. Don't assume malice on the part of the vendor, keep working with them politely and insistantly. Try to get a full source release from them if nothing else.
Bottom line is you screwed up by paying them before they were finished. Never pay any contractor off until you are sure the goods have been delivered, you have no better leverage than an unpaid bill. Might have been an expensive lesson learned.
Don't return Buisness. (Score:2)
But for the next time you will need to determine the contract more carefully. The Outsourcing company wants to be paid hourly with no limit, this way they feel that they can afford to get the project done the right way without cutting corners.
Most accountants like buying outsourcing at fixed costs because it prevents the Outsources from turning a small
3 letters known to management... (Score:3, Insightful)
I think the outsourcing epidemic is abating because of the backlash to the off-shoring. The two are different but have become synonymous. I think both are a trend in which companies experimented and won and lost. It works for smaller companies who can't afford their own IT department so they can hire a company to provide a level of service they cannot match themselves. Conversely, it might be considered a step down for a fortune 500 company to look to a start-up company to handle their enterprise level needs. I might be generalizing a bit, but it works for some things but not others. For example, Janitorial staff might work but IT desktop support probably might be a bit more difficult. I think the outsourcing option might not be on the table when/if the economy improves.
Re:3 letters known to management... (Score:3, Insightful)
The 3 letters that management are just now starting to understand are : TCO.
I think another 3 letters the original poster's managers could stand to learn about would be CYA, as in the non-existing contingencies for nonperformance section of the so-called contract they signed with that dodgy outsourcing firm. Doesn't seem to be much CYA going on in the original poster's company, let alone the subtleties of TCO.
you accepted work w/o checking it? (Score:2)
You _paid before testing_? Idiot. (Score:2)
Just yesterday I was talking about a similar situation with an ex-coworker. No publishing house would issue a manuscript without copyediting, fact-checking, and running it by the legal department. That would be a firing offense. But in software everything is expected to work the first time without error or even any communication with the contractor about
Question (Score:2)
OUTSOURCING != OFFSHORING (Score:4, Insightful)
there are a lot of companies that need programming work done from time to time but don't see the need to pay dedicated programmers full time salaries. there are also companies that have dedicated programmers, but occasionally have more work at one time than their in house staff can handle. i've done work for both types of companies before- sometimes they were located only blocks away from me.
anyway, that being said, if you had a contract, and it specified that you wouldn't pay until the work was complete, you should first try and stop payment with your bank if it's not too late. if it is too late, i would get a lawyer on retainer, and notify the firm of that fact. sometimes just knowing that will be enough to get them to cooperate with you. if not, then you've already taken the first step towards either getting your working product or getting your money back.
and it may be too late now, but for future reference, never sign a contract that doesn't give you the source code. now, even if you resolve this issue with your provider, you are stuck going back to them for any future modifications....
I work for a consulting firm (Score:3, Interesting)
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
If you're asking yourself that, it's time to withhold payment and start addressing your concerns. I would recommend an e-mail to them, then a third party arbitrator, then court.
And some of these points have been mentioned here but this is my general advice when it comes to outsourcing:
1. You get what you pay for. We've been told by our clients that we charge nearly 3 times as much as some of our competitors. We've also been told that it's worth that to them to know the project is going to be done on time and to spec.
2. You own all project collateral, and payment is contingent on receiving it. This should be a contractual agreement before work is started.
3. Requirements should be clear and measurable. No requirements should be implicit.
4. Most outsourcers right shitty code. The Gartner Group estimates that 90% of the cost of an application comes after its initial release. Writing good code can greatly reduce that cost. But the economical reality is if I give you a project estimate that costs 4 times as much and will take 150% as long as the other guys, you are more likely to accept their contract. Even if, in the long run, you'd probably be better off going with us. How do you mitigate this risk? Meet the developers, talk to them, understand their viewpoints. And do code reviews. Unfortunately there's no objective way to say that a piece of code is good or not. However there's no reason you couldn't make it a contractual obligation that their code has to pass an internal code quality and standards audit before payment.
A good outsourcer will require you to sign an End User Acceptance Test Approval or some such document at the end of the project; if they don't, require that they do. And don't sign it (or pay them) until you're satisfied that all project collateral has been received, that all the requirements have been satisfied, and that the code passes your quality standards.
You would be surprised how many times we bid on a project, lose it to the lowest bidder, and then a few years later hear from that same company again because the relationship went south and the person's code is completely unmaintainable. Many times they end up paying us to rebuild the app at that point...
AskSlashdot is your first clue (Score:3, Insightful)
Wait... maybe thinking to turn to SlashDot for answers is your first clue that something is wrong with your management strategy.
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.
no sympathy (Score:3, Insightful)
(a) the person(s) who did the referring should be notified, so that they don't try referring other projects into the same fate.
(b) if you paid the original author the money that you spent on outsourcing, he probably would have *found* the time to complete it. One likely scenario is that the original author got annoyed with you or your company management and just plain left.
(c) why on earth would you have allowed it to be shrouded/obfuscated? work for hire should be delivered in source form.
(d) you specifically called it a script not a program. this gives (me at least) the feeling that it wasn't a very ambitious or important project, more like a proof-of-concept that got blown out of proportion. if it was intended to serve a real business need, it should have been taken more seriously.
(e) it's sounds like you're less interested in getting the script to work than you are in getting your company's money back. the thing is, the lawyers will charge $250/hour, so it's probably best to just chalk it up to experience, let your manager chew you out for screwing it up, and accept the lessons life has taught you.
Experiences (Score:3, Interesting)
But now I have actual product in my hand, and I am reviewing it. It's a minor component written for a complex system. A single developer wrote it. It's not horrible code, but not excellent. Slightly above mediocre. It's good enough for other companies, but it's not good enough for ours. So I log my findings and send them off. The next day I get my response.
Except for the suggestion to use more comments, the developer REFUSED to fix anything. Among the things the developer refused to do include: using the company standard API for error reporting; use try/catch blocks instead of those weird BEGIN, END, FAIL macros that were used instead; stop using hungarian notation per our coding standard; etc. The developer even refused to consider the use of constants in place of single-element enumerations. In every case (but the comments) the developer has some stupid excuse ("but that's how I learned it in school", or "but the other developers aren't doing that!")
Needless to say, we are not going to accept this developer's code. But this is only the first bit of code we've gotten back. It's all going to start coming in soon for this one project, and we're sitting here with clenched buttocks hoping beyond hope that this one particular developer is a fluke.
You now own a writeoff (Score:3, Funny)
Sometime between when you receive code obfuscated by Source Guardian and when you ask Slashdot about it.
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.
Re:I know what _I'm_ doing. (Score:2)
Re:I know what _I'm_ doing. (Score:2)
Outsourcing only means that the work is done outside of the company, not out of the country.
Re:I know what _I'm_ doing. (Score:2, Insightful)
I am COMPLETELY against offshoring, but outsourcing is OK. Outsourcing just means you are contracting a company to do something for you. Now personally, I thing this is a bad idea in MANY situations where it is overused, because you lose a level of control when you outsource to someone else. You should expect lower quality. In some instances though, it does pay to have someone else do it rather than build your own infrastructure.
Now Offshoring means
Re:Why? (Score:2)
Re:Why? (Score:2)
India and China should fight for workers rights just like the US and Europe had to. I don't believe in giving money to oppressive systems, when I can avoid it.
Nobody said there was bette
Re:I know what _I'm_ doing. (Score:2)
Shoulda kept those "expensive" in-house developers.
Re:Its all in the contract (Score:2)
Not really, though.
Check out the Failure to Withhold Funds section of this document [truthout.org].
Re:My helpful suggestion (Score:3, Insightful)
The IT industry is suffering because of bad decisions like yours, and if you haven't figured out by now that outsourcing offshore is more costly in the long term when things go wrong, then tuff.
Spare me your in