When You Should AVOID Outsourcing COMPLETELY

14 replies
In late 2011 and 2012, I had several ideas for WP plugins that I wanted to develop for my own use and possibly for sale, if they worked properly.

At the time, there were no plugins that did quite what I wanted so I started hiring outsourcers (plugin PHP coders) to do the work.

Five different outsourced php coders/software developers later (including highly rated coders on scriptlance.com) and many, many thousands of dollars spent and the plugins still don't work satisfactorily for public sale.

The first 4 developers either:

[a] disappeared mid-job and stopped replying to any contact;
[b] kept misunderstanding the detailed specs and adding/deleting key functions thus delaying projects by weeks/months;
[c] were unable to produce plugins that worked without frequent errors/bugs/conflicts

The 5th produced something adequate for in-house use but their 2 plugins had loads of issues once out in the public domain.

During such delays, any uniqueness in the marketplace was completely lost as other plugins were released with similar functions.

My experience has convinced me that the greater the complexity of a task, the less suited it is to outsourcing.

When I do any software development now, I insist on face-to-face contact several times a week to review work, clarify (mis)assumptons, monitor the UI development etc.

This means that smaller projects now take days and not months via outsourcers.

I'm also convinced that most workers need the physical presence of a manager-type figure to produce consistent work (with a few notable exceptions).

While I still use outsourcers for basic writing tasks and some website setup stuff, I insist on meeting 'real people' for anything beyond that.

In short, be wary of the 'outsource everything' myth in IM as you can lose a lot of money, time and momentum by outsourcing the wrong tasks in your business.
#avoid #completely #outsourcing
  • Hi Terry,

    Thanks for your post, and sorry to hear about your dilemma.

    Definitely, outsourcing can be a real pain, and it can sometimes cost more than the benefits to find good workers.

    Thanks for the heads-up.

    In such cases, I think it's a good idea to take advantage of partnerships instead of outsourcing the work.

    Perhaps finding a friend or acquaintance who is a programmer, who would like to partner and work with you on developing your desired plugin for a share of the profits.

    You will probably find less problems with regards to accountability if the person is serious about making a profit. It will also cost you much less in terms of trouble.

    I think that's what blogger Yaro Starak did with his latest Wordpress plugin, and something I have tried as well.
    {{ DiscussionBoard.errors[7046266].message }}
  • Profile picture of the author TeamBringIt
    I constantly skype my outsourcer and always make sure things-- are running smooth as possible. Being on the same page, is key when hiring people for projects!
    {{ DiscussionBoard.errors[7046295].message }}
  • Profile picture of the author FIP
    Its good to hear that message Terry because all too often there is this blanket approach mentality that says create businesses then outsource it all and lay on a beach and let others do all the work.

    Despite the complexities of life and the opportunities that abound due to technological advances - it still revolves around relationship building and communication.
    Signature

    "If one advances confidently in the direction of his own dreams and endeavours to live the life which he has imagined - he will meet a success unexpected in common hours"
    -Thoreau

    {{ DiscussionBoard.errors[7046327].message }}
  • Profile picture of the author tanshi
    Great advice Terry!

    Outsourcing is ok for small tasks. But for larger projects it is really a nightmare!
    Signature

    The best things in life aren't things

    {{ DiscussionBoard.errors[7046378].message }}
  • Profile picture of the author FilipinoRockstar
    When I began, I personally hired all my outsource but then having 8 people to manage everyday became a taxing task for me so I hired a manager to deal with the outsource.

    Hire a manager to handle all the outsource for you, saves the time and effort and best of all he deals with the trouble of finding good trustworthy workers. When I need something done, I just email my outsource manager and the job's done within 24hours.

    Though getting a manager for just one outsource is going to be overkill. The alternative is using recruitment services.

    There are some companies in the Philippines that acts as broker between you and the outsource. They handle the recruitment process and thoroughly screen them to insure that they're reliable for outsource work.

    I'm just saying that outsourcing for bigger tasks is possible but its just harder to find a reliable worker who's dedicated.

    Hope that helps
    {{ DiscussionBoard.errors[7046512].message }}
    • Originally Posted by FilipinoRockstar View Post

      When I began, I personally hired all my outsource but then having 8 people to manage everyday became a taxing task for me so I hired a manager to deal with the outsource.

      Hire a manager to handle all the outsource for you, saves the time and effort and best of all he deals with the trouble of finding good trustworthy workers. When I need something done, I just email my outsource manager and the job's done within 24hours.

      Though getting a manager for just one outsource is going to be overkill. The alternative is using recruitment services.

      There are some companies in the Philippines that acts as broker between you and the outsource. They handle the recruitment process and thoroughly screen them to insure that they're reliable for outsource work.

      I'm just saying that outsourcing for bigger tasks is possible but its just harder to find a reliable worker who's dedicated.

      Hope that helps
      Finding a project manager is hard but once you find one, it'll make your running your business easier and more efficient. You're right that trick is finding a reliable worker that you can trust. My boss hires his project managers from the ranks, it's usually someone he knows is loyal and he trains and grooms them to become managers. It's a lot of work but he told me that this way he knows the manager will run the business the same way he does.
      {{ DiscussionBoard.errors[7053321].message }}
  • Profile picture of the author Horny Devil
    Banned
    It's a sweeping statement to say you should avoid outsourcing completely, and whilst your recent experience has been abysmal I would just put it down to experience.


    Originally Posted by Terry Kyle View Post

    My experience has convinced me that the greater the complexity of a task, the less suited it is to outsourcing.
    This thinking is of course totally wrong. The greater the complexity of the task the more suited it is to outsourcing. If your knowledge and experience is unable to cope with your requirements then you outsource to a professional who has that knowledge and experience.

    The plugins and apps markets are buoyant and there are many excellent developers out there. You just have to find them.


    Originally Posted by Terry Kyle View Post

    I insist on face-to-face contact several times a week to review work . . .

    I'm also convinced that most workers need the physical presence of a manager-type figure to produce consistent work (with a few notable exceptions).

    While I still use outsourcers for basic writing tasks and some website setup stuff, I insist on meeting 'real people' for anything beyond that.
    This is where I would agree with you entirely Terry. Unless it's something trivial, everything I outsource is within my own country. This inevitably entails meeting up with people and I can ascertain more about a persons suitability with a face to face meeting than any amount of skype calls or emails will tell me. You can convey so many more specifics and explain in much finer detail in this way. You will also know a bullshitter within minutes. Plus you have the benefit of pulling out instantly if you have major doubts.





    .
    {{ DiscussionBoard.errors[7046569].message }}
  • Profile picture of the author BIG Mike
    Banned
    [DELETED]
    {{ DiscussionBoard.errors[7046782].message }}
    • Profile picture of the author MichaelHiles
      Originally Posted by BIG Mike View Post

      From your post, it sounds like you've learned a valuable lesson, but it might be the wrong one, at least in respect to not outsourcing complex tasks.

      When it comes to outsourcing, buyers often mistakenly assume that that their project is managed by the freelancers they hired - oops!

      As the buyer, it's your responsibility to step into the role as the project manager, or have someone doing that for you. You absolutely NEVER turn over the management of it to the freelancer - that's just setting the project up for failure.

      Freelancers often lack any real business or project management experience, take on too many projects, get in over their heads and so forth, all because they lack clear direction. It's the buyer's responsibility to identify this during the bidding process and weed out those types of candidates.

      This most often goes wrong when the buyer lacks experience in these same areas. As you've learned, when you take control and manage your projects, they get done faster and with better quality.

      Project management is a skill that isn't as easy as it seems. But once you master it, no matter how complex the project might be, you can easily and successfully outsource it.
      Dead on.

      We manage multi-million dollar development projects in complex enterprise environments with as many as 300 offshore developers at a time.

      We don't have problems with outsourcing talent because we understand the management of such a project.

      The two things that cannot and shall never, ever be outsourced:

      1. Project Architecture - nobody can understand your business requirements the way that you understand them, and nobody can put those requirements into a succinct statement of work that meets the project definition like you can.

      2. Project Management - the PM has to understand the architecture, so when the completed work comes back from developers, the deliverable is properly QA'd with the original statement of work to determine acceptance.

      The other big element here is: PROJECT MANAGEMENT SYSTEM

      You MUST MUST MUST have a consistent project management solution to track work and communicate on a consistent basis with the project team.

      That could be as simple as a regular email or scrum meeting on Skype - or as complex as a Microsoft Project Team Server put into place.

      Since we do a ton of SharePoint dev work, we use SharePoint, especially SharePoint inside of Office 365.

      ... but I also use Basecamp a lot.
      {{ DiscussionBoard.errors[7047560].message }}
    • Profile picture of the author Chri5123
      Originally Posted by BIG Mike View Post

      From your post, it sounds like you've learned a valuable lesson, but it might be the wrong one, at least in respect to not outsourcing complex tasks.

      When it comes to outsourcing, buyers often mistakenly assume that that their project is managed by the freelancers they hired - oops!

      As the buyer, it's your responsibility to step into the role as the project manager, or have someone doing that for you. You absolutely NEVER turn over the management of it to the freelancer - that's just setting the project up for failure.

      Freelancers often lack any real business or project management experience, take on too many projects, get in over their heads and so forth, all because they lack clear direction. It's the buyer's responsibility to identify this during the bidding process and weed out those types of candidates.

      This most often goes wrong when the buyer lacks experience in these same areas. As you've learned, when you take control and manage your projects, they get done faster and with better quality.

      Project management is a skill that isn't as easy as it seems. But once you master it, no matter how complex the project might be, you can easily and successfully outsource it.
      This ^

      The larger the project and more complex the harder it is to manage in most cases and as the project manager you need to do this.

      So it is vital you get the right people to work for you and I have always found that you need to split up large projects into very small parts and then if something does go wrong you have not wasted tons of time and can find someone else.

      Also Thanks to Mike for the BEST WF sig I have seen!

      Chris
      {{ DiscussionBoard.errors[7053425].message }}
  • Profile picture of the author Fraggler
    Originally Posted by Terry Kyle View Post

    When I do any software development now, I insist on face-to-face contact several times a week to review work, clarify (mis)assumptons, monitor the UI development etc.
    The problem isn't outsourcing but rather the management of the project (from both sides) and what seems like a lack of experience in software development. By having regular contact you are putting out fires as you see them - fires that never should have started.

    If you need regular interaction to clarify assumptions then the functional requirements and system spec were never adequate and this is the downfall of many software projects.

    You say they're detailed but how detailed? Did the software developer create the development plan or are you talking about your brief? The developer should take your brief - no matter how detailed - and turn it into something unambiguous, so much so that it can be handed to any programmer in any language and a correct result achieved. You sign off that the functional requirements are what and all that you need and away they go.

    A programmer, no matter how talented, is not a software engineer/developer.
    {{ DiscussionBoard.errors[7046902].message }}
  • Profile picture of the author paj_mccarthy
    Originally Posted by Terry Kyle View Post

    I'm also convinced that most workers need the physical presence of a manager-type figure to produce consistent work (with a few notable exceptions).
    I've come to the same conclusion.
    {{ DiscussionBoard.errors[7046932].message }}
    • Profile picture of the author Horny Devil
      Banned
      Originally Posted by Terry Kyle View Post

      I'm also convinced that most workers need the physical presence of a manager-type figure to produce consistent work (with a few notable exceptions).
      Originally Posted by paj_mccarthy View Post

      I've come to the same conclusion.

      Wrong again.

      The last thing a fully experienced and respected coder or developer needs is a novice looking over his shoulder constantly for the duration of the project. They will as likely as not either tell you where to go or won't work for you again. By all means converse or meet at regular intervals to ensure the requirements and spec are being adhered to.

      If you use due diligence when first sourcing a candidate these problems should never arise.
      {{ DiscussionBoard.errors[7046987].message }}
      • Profile picture of the author madison_avenue
        Very good post.

        I would add:

        1. You need someone with technical expertise in the design documents given to the developers. To make specifications and to create estimates.

        2. Always make use of time tracking tools and software project management tools such as MS project or Jira project. And map out your development timeline, monitor progress on a daily basis.

        3. Make use of Software Testers after the project is completed, they are invaluable.
        {{ DiscussionBoard.errors[7047681].message }}

Trending Topics