When Outsourcing Goes Wrong

by Aurelius Tjin on September 4, 2008 · 24 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…

{ 24 comments… read them below or add one }

1 Paul September 4, 2008 at 2:33 pm

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.

Reply

2 Aurelius Tjin September 4, 2008 at 2:37 pm

Thanks for that resource, Paul.

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

Reply

3 Dipen September 4, 2008 at 3:44 pm

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.

Reply

4 Paul September 4, 2008 at 3:52 pm

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.

Reply

5 Rangarajan Chakravarthi September 4, 2008 at 3:52 pm

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.

Reply

6 Dirk Wagner September 4, 2008 at 4:11 pm

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

Reply

7 Paul September 4, 2008 at 4:32 pm

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

Reply

8 Aurelius Tjin September 4, 2008 at 4:53 pm

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.

Reply

9 Jonclaude September 4, 2008 at 7:15 pm

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.

Reply

10 Jim September 4, 2008 at 7:37 pm

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.

Reply

11 Gabriel Aguinaga September 4, 2008 at 8:32 pm

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

Reply

12 Aurelius Tjin September 5, 2008 at 4:57 am

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.

Reply

13 CLAUDE STEPHENSON September 5, 2008 at 1:11 pm

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.

Reply

14 Deep Arora September 12, 2008 at 4:45 pm

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

Reply

15 ebay auction tool September 18, 2008 at 6:34 pm

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.

Reply

16 James Hinds September 24, 2008 at 11:50 pm

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.

Reply

17 tkada.com December 6, 2008 at 2:58 pm

I do feel for the worse time of yours in that particular program, very sorry.
And u had mentioned the defects and pointed out the reason why, so you have analyzed the situation would experienced this situation.
So you never get into this type of problem further as you experienced it..,
Some avoid this type of problem only after they experience as such and some avoid by hearing from others..,
By your post I can read the situation and this really help me in alerting to not engage in such a kind of problem, it initiate me to find an alternate.
thank for your post sorry alert.

Reply

18 Aurelius Tjin December 7, 2008 at 1:26 am

@ Claude – Ouch! Sorry to hear that.

@ Deep – Yes, I agree with you.

@ James – Thanks for that insightful and helpful tips. Yes, I can tell you’d studied programming from the words you used, like “UML”. I failed miserably in programming back in college.

@ tkada – Glad this post helped you.

Reply

19 Ron January 28, 2009 at 12:27 am

Hi Aurelius,

I hired a programmer from an unnamed site last year and he did a very good job. However, just before the software was completed, he disappeared! I lost all contact with him. He didn’t yet give me the source code, so the whole project was worthless. I had to start over. A lot of the service sites are great, but the real goal there is to find a programmer that has lots of positive reviews (30+). Once you finish a successful project with him/her, try a second. If that works, you’re well on your way to having a long term programmer you can trust.

Reply

20 Luv February 16, 2009 at 5:41 pm

It seems that you’re new to the outsourcing thing!

Man, that’s quite common, especially with coders from South Asia (India and Pakistan). These people have a different time concept then we have in the West. Time means nothing for them. They say they’ll complete the work in 2 months, but if they deliver with a 20 months delay there’s no problem for them, because the work is done. :-)

Reply

21 Udegbunam Chukwudi March 1, 2009 at 9:00 am

I simply don’t outsource because I don’t want to spend too much creating a business where I might see returns or not see a dime at all. I do all my stuff myself. Graphics etc. Fine they don’t look as glossy and fabulous as those done by the pros BUT they definitely work for me and I get to learn how to do stuff.

Reply

22 Julia April 9, 2009 at 6:02 pm

Sorry to hear that many of you had bad experiences with outsourcing. It gives all of the good freelancers a bad name (I’m not a programmer, but a virtual assistant).

Reply

23 codygman April 14, 2009 at 2:12 am

Hey aurelis..

what languages are you looking for?

What type of programmer I mean.. I might be able to help.
I was a marketer before a programmer, so I will understand things that other programmers wouldn’t.

Sincerely,

Cody Goodman

Reply

24 thriftgirl62 October 11, 2009 at 2:36 pm

I am surprised nobody pointed out the obvious problem. The project was doomed before it began – never, ever, ever, ever, hire any so-called “friend” or relatives.

In a perfect world the first thing you do when going into business is get a divorce. The settlement would make sure all family stragglers go with the other party. Then you fire the rest of your family and all your friends!

Now you’ve got a good start and more time to think straight, You might even finally have the presence of mind to be who you already are! Logical awesome enablement.

Reply

Leave a Comment

Previous post:

Next post: