7 Tips to Outsourcing Technical Work

June 4, 2007 - Get free updates of new posts here

There might come a time when you’ll want to outsource some kind of technical or clerical work (for any number of reasons). Here is what I’ve learned from outsourcing many different projects to people in India, Russia, Pakistan and other countries.

  1. Go to a big market place You can search on Google for companies that will do the work for you or you can hit one of the big marketplaces. Going with Google is not recommended because the provider is spending money before they actually make anything so they have to raise prices just to compete. Going to one of the bigger marketplaces, like Elance.com or RentACoder.com is best because you will have a lot of different providers competing to do your work in a controlled system.
  2. Define your project in detail I like this step because while coming up with a full plan and project scope I am forced to think of all details and variations of the project and crystallize them “on paper”. There’s three critical parts to this: 1 What you want as the final product 2 When the final product is to be delivered and the milestones for checking along the way, and 3 Any variations, including in compensation, delivery times and defaulting. Your goal is to get the entire project covered in detail. I prefer to describe what I’m looking for, how it should be done, within what parameters, what should not be done, etc. I usually include drawings or sketches.
  3. Use an escrow or third party for payments in the initial agreement I usually state that 1/3 of price to get started, 2/3 upon completion and the rest upon any bug fixes, changes or clarifications. Using an escrow service allows you to have the work done before the money is paid out and the provider disappear. Even if you have used a provider many times, I would still prefer to use a third party for larger transactions because in some countries US3K is a millionaire status.
  4. Tie production to money – tie a schedule and production to money rewards or punishments. For instance, if the product is late by more than 7 days 10% of price is subtracted. I usually tie money to the schedule, and include a 10% bonus if the product is delivered before deadline and as described in initial agreement.
  5. Be available and encourage communication – Somewhere you did not explain what you meant and the provider might assume something that you don’t want if you do not encourage them to ask and get clarifications at such junctures. It is always best to answer a five minute email than to have five hours of work to be redone. I prefer email, but IM and other ways are fine too.
  6. Always have an agreement – because of cultural, country and technical-know-how differences, what you think you meant will not mean the same thing to a person around the globe. Having an agreement helps you to clarify what you want and for the provider to understand what you want. It will save you countless of hours of headaches and bickering later on. Declaring such things as the time used in the agreement is Pacific Standard does make a difference if the provider is from India (which is 12hr diff). Tip: If it’s programming, ask for full documentation and you’ll most likely get it without any price increases.
  7. Expect to be surprised – All except for one project that I have had done for me ended in a satisfactory or better grade. Some were just amazing. And this is what you should expect. Plan and take care of all the details and you’ll be pleasantly surprised by the quality and fast turnaround time you can get from outsourced work.

7 Tips to Outsourcing Technical Work was written by Andre Nosalsky who will be attending CommunityNext in July.

Leave a Reply

Your email address will not be published. Required fields are marked *


10 responses to “7 Tips to Outsourcing Technical Work

  1. EP Reply

    Do you have any specific companies you recommend? I’m looking to have some development done for a site and I’m considering outsourcing.

  2. Andre Nosalsky Reply

    EP, there isn’t a specific company that I recommend because sometimes companies get booked up and don’t have the resources to pull the project, so it’s just best to open it up to general bidding and the only pick companies that have a history of at least five previous 4.5/5 ratings and stick with the above plan and you’ll be fine.

    If you really need a specific company I can tell you the ones that I have worked with.

  3. Joel Mueller Reply

    Thanks for the info Andre. After reading the blog from the Four Hour Work Week guy, I’m interested in learning more about the experiences people have outsourcing. For me, especially with simple stuff like taking photoshop files and converting them into CSS widgets — something I’d rather not pay salaried programmers to do.

    The question for me is always “who is good that I should choose.” I’d even be willing to hire someone on full time abroad if they rocked and were multi-talented.

  4. Andre Nosalsky Reply

    Joel, this is exactly what you can outsource and at very very low costs. I would start with some test projects you’ll know which providers you’ll want to work with on a long term basis.

    Rik, infosys is more for big corporations, it’s not very useful for small projects.

  5. Jason H. Reply

    Andre, thanks a whole lot for this very useful post 🙂

    Do u have preference with Indian or Russian programmers?

    And, any advice on how to protect ourselves in terms of Intellectual Property and proprietary info?

    And, any advice on how to deal/communicate with the freelancer when the final project did not turn out to be quite as good as originally expected?

    Thanks!

  6. Andre Nosalsky Reply

    Jason, I don’t have a preference for the country of origin, I just want them to be qualified to do the job and have a track record. Generally, Indians are better in English so if you have any writing you might go with them. Russians are pretty good hackers and are not as conservative or rule bound, which is good sometimes. But there are always variations.

    Because I have no way of knowing or enforcing what happens once I do reveal certain information to the provider, the way I handle the problem of intellectual property and pirating is by splitting up a project into parts and giving it to several providers to do. So a provider might be working on one portion, but never know all of the details. Another way is to ask for references that are at least 6 month old and see if any of the old clients ended up with problems or not.

    As to expectations, I have found that I need to stick to the agreement, that’s why I emphasize it so much, get everything written down. So if the project is not going right, you can look at the agreement and see if it’s your fault because you didn’t explain or give proper expectations, or if the provider is at fault, which you can just point out and most of them will fix it. Ways to avoid this is to assume very little, follow up constantly and ask to see the work as it is being progressed.