• My main outsourcing experience started with the owner of the company we would be ourtsourcing to flying to the US to meet us.

    He took one look at the database I'd built, condemned the many "newbie mistakes" in it (he was right, that version of the database was junk by my current standards), and proceded to tell the owners of the company I worked for about how it would all be so much better once they had taken over all of the IT functions except hardware maintenance.

    The contract was signed, and less than 6 hours later, one of their devs had run an unrestricted update in the production database that reset all customer passwords to some multisylabic word that I don't remember and couldn't pronounce at the time anyway. This locked out everyone from their data, which resulted in refunds being needed in order to keep customers.

    Fortunately, I had audit logging set up, and was able to recover all the passwords.

    We were promised that the person responsible had been fired and this would never, ever happen again. While they were on the phone promising that, another person there ran another unrestricted update, on the orders table this time, messing up every order that had ever been placed. Again, audit logs allowed me to fix the problem in relatively short order. Again, refunds had to happen to placate understandably upset (and confused) customers.

    While this was beginning to feel like the credits for Monty Python's Quest for the Holy Grail ("those responsible for sacking the people responsible for the credits have been sacked"), it had considerably less entertainment value.

    So I locked them out of the production server entirely, and my boss, one of the company owners, explained to them that their services would not be needed for any database work, and negotiated a change of contract where they would only be working on .NET development for us, and all database development would go through me. (When you consider that I still didn't even know what "normal forms" were, and hadn't figured out what "relational" meant, and that I was the better of the two options, you'll begin to see the magnitude of suck here.)

    The company that was doing all of our .NET work then proceded to work out a routine for speccing out work for these guys to do, and rapidly found that it took less time to write the code in the first place than it took to write a detailed enough specification in order to get something that would approach the desired functionality. Within a month, the cost of outsourcing the software development was greater than the cost of writing it locally, and the contract was terminated.

    Now, nobody at our company lost their jobs over this. Had it worked out well, I would have gone back to sales and marketing, and would have been making more money on that anyway. So I didn't have any emotional stake in their failure. But wow did they fail!

    I haven't experienced any other attempts at outsourcing (offshoring, to be more precise), but I certainly hope this was atypically bad.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon