When Outsourcing Goes Wrong

Outsourcing by Aurelius Tjin Add comments

About eight months ago, I hired a programmer. This programmer, who I can’t name, worked on a software which I had assigned him to.  It was a software which would process my entire sales process, so I know that this kind of project would take time.

We both agreed on the requirements of the project, like how often to report to me, service fees etc. The programmer estimated the project to take 2 1/2 months, based on my requirements.

I didn’t find this programmer through any freelance sites like elance.com or the like, I found him through a friend, so my initial impression of this programmer is that if I trusted my friend, I trusted this programmer.

I was wrong.

A month went by and I didn’t see any progress.

Another couple of months went by, and still, I didn’t see any progress with the software.

What was even worse was that I didn’t receive any reports from the programmer.

We both had conversations via Skype and he told me that that the project is going to take longer than he had thought.

He kept giving my excuses of why the delivery of the software kept delaying.

It was understandable to me, but not seeing any progress or work done feels like I had wasted my time and money.

So another few months went on until I finally had enough and told him what he should’ve heard months ago. I told him I need to see something or I would need to call this project off, and his services.

With that intention, I was informed that the software was accessible but not yet completed. To me, it was only a quarter of the way, and this was after six months.

I felt insulted because he only gave me a little piece of the pie to keep me happy. You can imagine how furious and angry I was.

So, ten months had gone right now and my final decision is to let this programmer go from my team.

Yes, I’ve made my own bad and silly mistakes.

What did I learn from this experience?

  • Trust is important. In this scenario there was none. What I should’ve asked for is proof of whether the person I’m hiring is competent enough to handle this project, i.e. -portfolio and projects this person has done in the past.
  • Hire the right people in your team. It may not be your time or budget to hire someone, but hiring the right people in your team is important. A self-managed person would save you so much time and hassle.
  • When hiring a programmer, pay for what they have actually created, in my case I paid on a monthly basis, which was a bad idea.
  • I made the mistake of hiring someone directly, not through a freelance site. Freelance sites have a system which works so that both parties will get what they agreed upon. An escrow system is common in this situation. Places to outsource work: elance.com, scriptlance.com, rentacoder.com, guru.com. Personally, I’ve only tried scriptlance.com for graphics and have had good experiences.
  • You pay for what you get. I paid a fairly decent amount every month to hire this programmer, but compared to a programmer who is more skilled, it was cheap.
  • Communication is important. In my case, I had little or poor communication with the programmer.

All-in-all, I have lost trust in this programmer and will not hire this person anymore, but what hasn’t changed is outsourcing my business. I have learned from this lesson and, hopefully, will not make the same mistakes again.

What are your thoughts on this situation?

What are you experiences with outsourcing? Have you had any bad experiences? Let me know by posting your comments/feedback below. As awalsy, I’d love to hear from you…

16 Responses to “When Outsourcing Goes Wrong”

  1. 1
    Paul Says:

    Hi Aurelius,
    Sorry you had such a huge waste of time. These sort of learning curves are incredibly frustrating. A good resource to prepare you, if you ever turn to outsourcing again is the book authored by Sitepoint. It’s the sort of thing that would save you a lot of future hassle.
    http://www.sitepoint.com/books/outsourcing1pdf/
    Anyway keep the faith with the free-lancers coders we are not all lousy, and some have some hidden and extra qualities in communication.

  2. 2
    Aurelius Tjin Says:

    Thanks for that resource, Paul.

    Yes, I’m still looking for the right programmer to join my team. No luck so far.

  3. 3
    Dipen Says:

    Hi Aurelius Tjin,

    You are right on this sometimes, the programmers can be pain, if you do not handle them properly. I know that because I myself is a programmer and I know how the team works if you don’t handle them properly.

    I think you get bad experience from the programmer because of several reasons like overburden of work, or lack of sincierity in your project, or lack of knowledge.

    In my team i make sure the team members are knowledgable and serious in their work. Actually I break my project in some milestones and break milestones in the tasks. then everyday i allot different tasks to the team members to finish of on the same day as soon as possible. After they finish the tasks they submit it to me and i test it and make sure the task is working and no other functionality is get affected because of some wired errors.

    Then and then only i let them to leave. You have to keep follow them for the tasks on urgent basis. then and then only you will be able to see the result as desired.

    But anyways the lesson learn the hard way makes your skills stronger. the suggestions you give are the basics for hiring any programmer for your works and very important.

    Thanks for sharing your experience.

  4. 4
    Paul Says:

    With what you have learned, and your draw up your precise specs (or get clearer technical answers in the forums), then take a look at the MarketPlace section there. It’s pretty lively place where - judging by the vast technical forums - some of the best and most technically able coders are likely to lurk (IMHO).
    You can set your terms, demand to see and verify the portfolios also. There’s no escrow facility however - all is driven through Paypal.
    I design little PHP CMSs for site updates, but am not in the ‘advanced developer’ class, so I would not honestly offer my services. Good luck in your search.

  5. 5
    Rangarajan Chakravarthi Says:

    Hi Aurelius,

    It must have been very frustrating. But the way you have come out of the misery, with renewed determination, to device methods to prevent future mishaps is truly a good lesson to all marketers.Thanks for sharing your experience.

  6. 6
    Dirk Wagner Says:

    Hi Aurelius,

    I know best how you feel. At the moment I have 3 programmers running on open projects which should be finished as they said after latest 2 months but for one of them I wait since February 2007, another one since April 2007 and the last one since February 2008.

    The worst thing was that I apid 50% upfront so I always hoped that they could go on with the projects even if it takes more time.

    One of them I even offered a few hundreds dollar as bonus since he stated that the project became much bigger than epected but still no results I can see what they are doing.

    It creates much headache to search for a good programmer and all the ideas you have in your mind will become worthless as soon as others launch a similar product.

    Kind regards,

    Dirk

  7. 7
    Paul Says:

    So much for my communication qualities. I meant to write “With what you have learned, and your precise specs drawn up (if they’re not clear, use the forums), you could try out the SP MarketPlace.” [feel free to edit/delete my posted incoherence].

  8. 8
    Aurelius Tjin Says:

    Thanks for your comments!

    It’s good to see there are some programmers sharing their own experience in their perspective.

    I did try to communicate with the programmer via email and messenger but they did not respond.

    I was getting curious Paul :) Thought I could hire you.

    Thanks for your encouragement Rangarajan.

    Hey Dirk! Yes, I know you’ve had experience with programmers before. Believe me, I’ve wasted a lot of money on several programmers who did not deliver. You’re right about the ideas going to waste. I would’ve had a working software by now.

  9. 9
    Jonclaude Says:

    I don’t know if is go wrong but I have got so hard time with outsourcing people.
    Now I take time to write my project before I asked anyone do anything for me.

  10. 10
    Jim Says:

    Lessons that I have learned.

    1. Never give a huge project to someone you have no experience with. Give several small jobs first (even if you do need it but just to test their skill level)
    2. Only pay for work done and delivered.
    3. Have a non-disclosure contract that clearly states that all work done belongs to you exclusively
    4. Don’t be shy about having a quick trigger finger to fire if work is not being done correctly.
    5. If one is fired take their work (if salvageable) and give it to the next guy you hire and tell them what is wrong and to move forward. Rinse, Lather, Repeat if needed.
    6. If work is some type of repeatable process. Do it yourself first and document your every move. Then give the person you hire the procedure along with what the finished process should look like.

  11. 11
    Gabriel Aguinaga Says:

    Hi Aurelius,

    Ah, have I learned a few lessons about outsourcing
    to programmers.

    #1. I ALWAYS use freelance sites and hire programmers
    who have a good amount of projects completed and almost a perfect feedback score.

    These programmers value their feedback and know that
    if they don’t deliver, you can ruin it for them, so
    they’ll try their best to keep you happy.

    #2. NEVER leave your feedback until you are 100% sure
    u r satisfied with the project.

    #3. Even after I trust the programmers (because they
    have successfully completed projects for me)… I still
    hire them thru the freelance site)

    –> If he starts giving excuses, you can almost always
    cancel the project and get your money back. (I never
    give any money up front)

    #4. If you don’t like how a programmer is working
    out for you, fire him and leave an honest feedback.
    (You’ll save the next guy who tries to hire
    him a few headaches)

    Hope this helps.

    -Gabriel

  12. 12
    Aurelius Tjin Says:

    Thanks for sharing your thoughts, Jim.

    Hey Gabriel! Nice set of tips you got there. You’re right about all of them. I’ll be sure to go through a freelance site next time I hire a programmer.

  13. 13
    CLAUDE STEPHENSON Says:

    I had a similar experience. $40K later I had a website but no appreciable sales from the man I hired, so I investigated. He had registered the website to himself and locked me out of it. The business he was bragging about getting did not show in the books, but the company confirmed he had written the policies with them in his own name.

    Like you, I dropped the shoe.

    He, too, came on the recommendation of a friend.

  14. 14
    Deep Arora Says:

    I feel for you, man. But let me encourage you that there are great freelance programmers that are worth their salt. True you have taken this gringo in because he was a recommended fella. Truth to tell, a recommendation was never a guarantee in the first place. :) Peace.

    I think a good trusted recommendation PLUS a solid “can be proven” track record is what will keep your future projects afloat.

    Water under the bridge, man…. roll with the punches.

    Deep Arora

  15. 15
    ebay auction tool Says:

    Thanks for the heads up in this article. I put way too much trust in my employees and helpers. Sometimes they try to get away with little things like I will forget. I always though that outsourcing would be a good think in this prospect.

  16. 16
    James Hinds Says:

    I have been a programmer since 1966. Done many projects both on teams and independently. My last large project taught me some important things about what a customer needs as far as concrete, verifiable milestones. You see this project was to control a very complicated astronomical instrument: The software was ballparked at $500K.

    This was a project with NASA reporting and contract standards: much more stringent than any commercial project.

    Let’s boil it down:
    1) design specs. That the customer and the programmer understand. It is best if you learn enough of a standard language (UML) to keep the programmer honest. It’s not too hard, and you don’t have to learn too much of it — just make sure the programmer does not put anything in there that you can’t understand.

    2) The UML will break the project into large chunks. Get an estimate for each chunk and when each will be delivered and what chunks need to be done first.

    3) agree on a pay per chunk scheme. Note that some parts may need be done simultaneously.

    4) try to get ’stub-enabled’ code: where the hooks for later work is clearly ’stubbed-out’ and with some simulated (test driven) code to mimic the code to be written in the future.

    There is more, but it should be a start. It will give you very much leverage and visibility over your programming staff.

    One more thing: especially with outsourcing. There is often a desire to speed up the process by adding more programmers. Unless you have your project broken up into these reasonably independent chunks, it won’t work. It’s like trying to have a baby in 1 month by using 9 women! one chunk per programmer.

Leave a Reply

Entries RSS Comments RSS Log in
 
 

All Content is Copyright © 2006-2008 Unstoppable Profits Pty Ltd. All Rights Reserved.
No part of this site may be reproduced unless stated otherwise.

Contact Support

Terms of Use  |  Privacy Policy  |  Disclaimer  |  Earnings Disclaimer