Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Software The Almighty Buck

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 guys are still working on it.'
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."
This discussion has been archived. No new comments can be posted.

What Do You Do When Outsourcing Goes Bad?

Comments Filter:
  • by Skyshadow ( 508 ) * on Thursday January 20, 2005 @01:31PM (#11422038) Homepage
    I can usually tell when outsourcing has gone bad. It's about the time my boss calls me into his office on a Friday afternoon and explains that the company needs to right-size their domestic staff and that, unfortunately, my position has become redundant.
    • by Anonymous Coward on Thursday January 20, 2005 @01:35PM (#11422107)
      Before the inevitable avalanche of anti outsourcing and anti india comments, let me point out that the author hasn't made it at all clear which country their firm is located in, and wether or not the outsourcing firm in question is located in the same country.
    • Been there, done that. Didn't even get offered the damn T-Shirt.
    • Your comment and your sig may be somehow related... I just can't put by finger on it.
  • by grub ( 11606 ) <> on Thursday January 20, 2005 @01:31PM (#11422048) Homepage Journal

    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!!!

    • 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."

    • by tekiegreg ( 674773 ) * <> on Thursday January 20, 2005 @01:38PM (#11422164) Homepage Journal
      Might be your best one, legal remedies overseas get sickening. Particularly in the India(is that jurisdiction?) judicial system. Something most outsourcing companies really don't understand, if the sh*t hits the fan on your contract the best case scenario is that it would take you a while to legally get compensation; worst case scenario is that the courts tend to favor the natives to their country more than the foreigners and you're out of luck.
      • by Skyshadow ( 508 ) * on Thursday January 20, 2005 @01:55PM (#11422382) Homepage
        I have to agree with this 100%.

        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.

        • by ari_j ( 90255 ) on Thursday January 20, 2005 @02:26PM (#11422809)
          You can get a judgment, no problem. The hard part is enforcing it. In the US federal court system, you can sue a foreign company and the US federal courts will assert jurisdiction over it if that company has passed a given legal test, which I will refrain from enumerating here in any way, but essentially covers cases over the specific involvement that company has within the US. For instance, a company that sells cars in America would be subject to jurisdiction here. It's my first thought that the federal courts would assert jurisdiction over outsourcing firms, as well.

          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.
        • by bani ( 467531 ) on Thursday January 20, 2005 @02:34PM (#11422913)
          don't get mad, get even.

          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.
          • i've gotten chinese spammers shut down this way, when they laughed at me. they aren't laughing anymore.

            Wow, you're right... getting a brutal dictatorship to torture and kill people who send you unwanted emails is *awesome!*

            • by bani ( 467531 ) on Thursday January 20, 2005 @04:07PM (#11424174)
              while the chinese government might do a lot of distasteful things, they dont always do things completely arbitrarily. even totalitarian states like to have an image of due process. :)

              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.
    • Tried this (Score:3, Funny)

      by PsiPsiStar ( 95676 )
      Our company went with this option. Vinnie has taken our check but has yet to extract vengance. Inquiries into the matter via his secretary get the reply "I'm working on it."
    • I usually reserve for spammers.

      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.

  • by rednip ( 186217 ) on Thursday January 20, 2005 @01:32PM (#11422058) Journal
    Get the source code! You might have called it outsourcing, but what you really did was pay someone to have an code empire in your domain. Even if they do finially deliver the finished product, you stuck with them for further development.
  • Contract? (Score:2, Redundant)

    I would assume that you established a contract before starting work with this agency. If they are now in violation of that contract, you have grounds to sue them, correct?
    • The problem is, how do you even go about suing someone who lives in Elbonia (Or India or wherever) without spending a big pile of money? Or maybe that can be outsourced too, hmm. I am off to register "".
      • there is nothing in the posters question to indicate where the company they outsourced to is located. they may be in the sae building, or accross the street for all you know...
      • Most countries have a system to sell off debt. This is a solution to get some part of money back.
  • Go public (Score:5, Informative)

    by Giro d'Italia ( 124843 ) on Thursday January 20, 2005 @01:33PM (#11422072)
    Name them, especially here, and let them know you've done it. That will teach them a lesson.
  • Caveat Emptor (Score:5, Informative)

    by infinite9 ( 319274 ) on Thursday January 20, 2005 @01:34PM (#11422086)
    So you paid without testing the final product? I suspect all you can do now is sue. We've received "finished and tested" outsourced projects before that didn't even compile. You have to be very careful out these things.
  • Lying (Score:2, Insightful)

    by Mumpsman ( 836490 )
    You know that feeling you get in the back of your head when you hear someone telling a lie? The "OMG...this person is lying to me, and I'm paying them to do it" feeling?

    I usually let that happen twice before I call them out on it.
  • by __Maad__ ( 263535 ) on Thursday January 20, 2005 @01:35PM (#11422109)
    I hate to take this stance, but it has to be said. This thread is probably going to get a lot of cautionary posts that ring to the effect of "you get what you pay for" and so on. And seriously -- is it that hard to find someone with the skills to do a task like this ("scripting", as you say) locally, at a reasonable price?
    • "is it that hard to find someone with the skills to do a task like this ("scripting", as you say) locally, at a reasonable price?"

      It sure is. All the local people want a living wage, the jerks.

  • You learn... (Score:3, Informative)

    by kzinti ( 9651 ) on Thursday January 20, 2005 @01:35PM (#11422113) Homepage Journal
    Next time you have a comprehensive acceptance test. YOU conduct the test, or you designate a third party. You do not allow the contractor to conduct the test. You test everything that matters - features, performance, capacity. Whatever. You spell this out in the contract and you don't pay until it passes.
  • We've outsourced a bit... but we never pay until the work is complete unless its a long project, in which case we pay as increments are completed and the code is sent back to us.
  • by JasonUCF ( 601670 ) <jason-slashdawt.jnlpro@com> on Thursday January 20, 2005 @01:35PM (#11422116) Homepage
    What time do you have to react? Like if you act now as opposed to two weeks you'll make back your money? Unless you sent the money through a very trusting (read, you do a lot of business with) bank that has some sort of angel stop-payment plan.. you are S O L.

    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?
    • So, you authored a script and then GAVE UP OWNERSHIP OF THE CODE TO THE CONTRACTOR ?

      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
  • When would you do this with a domestic company? There's your answer. Why is it really any different?

    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.

  • by Dr Reducto ( 665121 ) on Thursday January 20, 2005 @01:36PM (#11422132) Journal
    My friend works as a consultant, and he was consulting at a company where they decided to outsource some programming to Russia. They get the program shortly before the deadline, and it DOESN'T WORK!!!

    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.
    • So don't lie to your boss.

      Never lie to your boss - it's always better to admit you made a mistake then fix it.
    • by sh0dan ( 762382 ) on Thursday January 20, 2005 @02:04PM (#11422504) Homepage
      They finally get it working, and hand it into the boss,
      without telling him how badly they got fucked by the outsourcing.
      How on earth did he expect his boss to know not to hire the same firm again? I know most bosses are stupid assholes, but at least give the boss a chance to make an intelligent decision!
    • by Anonymous Coward on Thursday January 20, 2005 @02:08PM (#11422558)
      Not letting management know how bad the code was is a HUGE mistake and disservice to your employer.

      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)

    by macsox ( 236590 ) on Thursday January 20, 2005 @01:36PM (#11422133) Journal
    disclaimer: i am a progressive democrat.

    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 []. 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.
    • 300,000 $ = 100 engineers. 1 engineer = 3,000 $
      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.
  • 1) What contract do you have in place with the vendor? Surely all of this is spelled out in a statement of work someplace?

    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)

    by Anita Coney ( 648748 )
    ... next time actually TESTING the product before giving the final payment?! It's a thought.

  • Source Guardian??? (Score:3, Insightful)

    by Cryptnotic ( 154382 ) * on Thursday January 20, 2005 @01:37PM (#11422149)
    You've been ripped off.

  • Life's lessons (Score:5, Insightful)

    by binaryDigit ( 557647 ) on Thursday January 20, 2005 @01:37PM (#11422150)
    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,

    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

    • 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
    • And just to trip up the rampant anti-outsourcing phobia (which is fundamentally racist and anti-democratic, IMHO), it should be pointed out that you should do the EXACT same thing whether you're hiring a single contractor or a whole firm, and whether that's some shop with a name you can't pronounce in Bangalore or Accenture (formerly Andersen Consulting).

  • 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)

    by spacefrog ( 313816 ) on Thursday January 20, 2005 @01:38PM (#11422162)
    Let me get this straight, you made final payment *without* getting the source code?

    • Re:Final Payment? (Score:5, Informative)

      by andymac ( 82298 ) on Thursday January 20, 2005 @01:48PM (#11422300) Homepage
      Not all contracts for s/w development transfer source code and the related IP. Some contracts will transfer source for use internally only for maintenance purposes, other contracts will transfer it for full use (full copyright transfer, etc.). But it is not uncommon to have a contract where the contractor retains some rights to the IP (in effect licensing the code to the contracting company).

      Don't assume all contracts are the same.
      • Re:Final Payment? (Score:2, Informative)

        by lubricated ( 49106 )
        and people who agree to bad contracts deserve what they get. When a company pays someone to write code they should get the source, otherwise they will realized their mistake.
  • When to ask (Score:2, Funny)

    by doombob ( 717921 )
    When you realize that the outsourced company thought you wanted Finnish customizations on your script. That would be a good time to ask for your money back.
  • What Do You Do When Outsourcing Goes Bad?
    With an Indian accent, begin reciting alphanumeric product keys to your coworkers over and over again, until their ears bleed.
  • When you hire a... (Score:5, Informative)

    by glenrm ( 640773 ) on Thursday January 20, 2005 @01:42PM (#11422219) Homepage Journal
    Software Engineer, you get more than just a coder, you get IQ, you get somebody who understands the low and high level testing that needs to be done, you get somebody who can help you ask the right questions, you get somebody who can make sure the code compiles, that makes sure you get the code, that can rewrite or the crap code you already have, somebody that can save your ass, that is why we cost so much...
  • Firsthand experience (Score:5, Interesting)

    by cOdEgUru ( 181536 ) * on Thursday January 20, 2005 @01:43PM (#11422227) Homepage Journal

    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)

    by sremick ( 91371 ) on Thursday January 20, 2005 @01:43PM (#11422234)
    Getting your money back for bugs in the software? Well, did you "accept" that End User License Agreement presented to you on install? Heh.

    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.)
  • Your contract with this contractor should outline 1) your warranty period, i.e.: how long you have to get deficiencies corrected at no cost (or at some predetermined labour rate); 2) ownership of IP; and 3) any acceptance criteria (or actions that are to be construed as acceptance of the work product as is)

    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.
  • If your usual channels aren't working your CEO (if this isn't you) needs to get on the phone with this outsourced company's CEO. He will politely explain the importance of this, and they will work on an "action plan" to make the appropriate things happen and make sure you are properly updated each day on the progress.

    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)

    by acidrain69 ( 632468 ) on Thursday January 20, 2005 @01:46PM (#11422269) Journal
    This is not a slashdot issue. Just because the people are writing software, doesn't mean it is a technological issue.

    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)

    by HangingChad ( 677530 ) on Thursday January 20, 2005 @01:47PM (#11422280) Homepage
    What Do You Do When Outsourcing Goes Bad?
    • Point and laugh, fighting the urge to add "I told you so" during the hysterics
    • Raise my rates
    • Profit!!!
  • File *NOW* (Score:3, Informative)

    by erikharrison ( 633719 ) on Thursday January 20, 2005 @01:51PM (#11422327)
    Put the pressure on right now, seriously. Then never, ever work with them or any other outsourcing company that "protects the source" by wrapping it up somehow.

    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
  • Outsourcers have no vested interest in the long-term success of your project. I've spent the last 4 years recreating a product from ground up because the original product that the outsourcers built sucked. It was so hard to use and error prone that it hurt the reputation of our company, and cost us a lot of money.

    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
  • by Badgerman ( 19207 ) on Thursday January 20, 2005 @01:56PM (#11422396)
    The best bet I'd say is talk to your lawyers and review the contract. But you made several mistakes.

    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.

  • 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.

  • Do ever go back to them for return business, or at least until they have a change in management, and openly tell people about your bad experience with them.

    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
  • by catdevnull ( 531283 ) on Thursday January 20, 2005 @01:59PM (#11422450)
    The 3 letters that management are just now starting to understand are : TCO. Total Cost of Ownership isn't something that comes from a single ledger in the bean counter's office. It's often learned the hard way by unexpected costs like the cost to fix mistakes or the loss of important clients or businsess deals. When an out-sourced company/individual does a poor job because you spent the least amount of money possible, the return on the investment is low. ROI are 3 more letters. After a while, the executives in charge figure out that investments are tied to ownership.

    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.
    • catdevnull says:

      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.

  • then you deserve what you get. seriously, next time put something in your contract that says things have to be delivered to work as proposed. then you need them to show you that they checked it out. otherwise the fault is yours.
  • It was obvious to them that you didn't care whether or not the product worked, so they had no incentive to produce anything. They already have your money.

    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
  • Do you work for the FBI and is this about the SAIC outsourcing contract to build the virtual case file system []?
  • by drew ( 2081 ) on Thursday January 20, 2005 @02:15PM (#11422655) Homepage
    good grief, like 2/3's of the comments here are rants about paying people in another country to do your work or claiming that the poster is screwed because he did business with a company from another country. he never stated where the business he asked to do the work is located. it's possible that they are in the same city. (of course, they might be in india, but nobody here knows that, you're all jumping to conclusions.)

    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....
  • by merlin_jim ( 302773 ) <James.McCracken@ ... m ['t.c' in gap]> on Thursday January 20, 2005 @02:19PM (#11422715)
    I like to think of us as one of the good guys. We try to do what's right for the client every time, not necessarily what's right for our bottom line.

    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...
  • by bokmann ( 323771 ) on Thursday January 20, 2005 @02:37PM (#11422950) Homepage
    I'd say that posting a question about it on slashdot is your first clue something is wrong.

    Wait... maybe thinking to turn to SlashDot for answers is your first clue that something is wrong with your management strategy.
  • by Johnboi Waltune ( 462501 ) on Thursday January 20, 2005 @02:38PM (#11422972)
    You should have had a FQT (Formal Qualification Test) requirement in the contract. That means there is a document somewhere that very clearly qualifies what tests the software has to pass before the contractor meets their last milestone and gets paid for it.

    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)

    by micromuncher ( 171881 ) on Thursday January 20, 2005 @02:40PM (#11422999) Homepage
    A lot of these comments have whizzed by, but you need to take a page from OTHER engineering on construction fields when you pick a company to outsource to.

    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)

    by fred fleenblat ( 463628 ) on Thursday January 20, 2005 @03:06PM (#11423367) Homepage
    "Recently we have been referred to an outsourcing company to finish customization on a script that the author had no time to complete..."

    (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)

    by Brandybuck ( 704397 ) on Thursday January 20, 2005 @04:33PM (#11424521) Homepage Journal
    Slightly off topic, but apropos to the whole idea of "you don't know what you're getting in Bangalore until it's too late." Last week I did my first code review for some code developed in Bangalore by my company's new team of whiz-bang offshored developers. During the pre-coding phase we were quite happy with them. The rumours that Indian developers are great process people are true. They produced the required process documentation in record time, specifications were complete, and there was enough UML to cause several PHBs to burst into spontaneous song.

    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.
  • by po_boy ( 69692 ) on Thursday January 20, 2005 @04:37PM (#11424583) Homepage
    At what point do you consider they may have just ripped you off?

    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)

    by mcrbids ( 148650 ) on Thursday January 20, 2005 @07:44PM (#11426692) Journal
    I've worked as an outsourced programmer for years. I've also worked with outsourced programmers with reasonably good results.

    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.

I bet the human brain is a kludge. -- Marvin Minsky