Outsourcing IT services - 14 important things to remember

Buffer

Over the past 6 months my partner and I have outsourced IT projects to companies and freelancers in the United States as well as in India. The projects ranged from a simple website design to complex stuff that required months of work. When we started we had no idea what to expect. We were kind of experimenting to find out as much information as possible about the outsourcing business as we are planning to do most of our future projects through this method of work. We were ready to lose money in exchange for practical knowledge of outsourcing. After half a year of dealing with outsourcing providers, here is a list of things that we believe are important to keep in mind to avoid disappointment and get projects complicated without as little loss of sleep, money, health, etc. 

Outsourcing IT reality check

image credit: The MonkMob of CandidAdvisors

 

Things to remember when outsourcing IT services

  1. Make sure all important stakeholders are involved in choosing the freelancer or outsourcing provider and the platform on which to work. That's unless you have a thick skin and you are ready to shoulder the problem for any future problems. There no doubt if something doesn't work out, you will hear someone saying that's because you chose the wrong platform or people to work with. They may not say it directly, but you will feel it.
  2. Think carefully about what you want your product to do. Write down all the features and functionalities you want to have and make sure they are all included in the contract document you will sign with the outsourcing provider.Specifications need to be as clear as possible. When the contract has been signed, prices and deadlines set, it might be too late to make changes. It may physically be possible to make changes, but you will get charged for any additions to the contract. Complete specificaitons will also mean you will get the product that you ordered. It makes sense to take your time planning before signing a contract. After all they say, "If you fail to plan, you are planning to fail". You have been warned.
  3. Check profiles of the freelancers or outsourcing providers online, have a look at other work they have done, but most importantly check their rating and see what other people are saying about their service. Checking ratings on a platform like Freelancer may not be enough. You should google them to find as much information as possible before you commence work. If they are not a solid outfit, you will probably find negative opinions online that may be warning before sign a contract.
  4. Sign a non-disclosure agreement (NDA) to protect your idea (intellectual property) or technology from being used by the outsourcing providers for their own purposes. Of course it would be even better to obtain copyrights, patents or trademarks were possible, before disclosing any important information.
  5. A lot of freelancers or outsourcing providers say that they will not take any money until you are satified with their work. I would encourage working with such companies, but as our experience shows things don't always go as planned. The company that said they would not take a cent before we were happy with their work is the one that delivered the least. We didn't even have an unfinished project to show for our work after 5 months of collaboration.
  6. Don't forget to set a test period for the project. You need a warranty period where you can check live if everything is working as planned and the outsourcing provider is obliged to solve problems, if any arise. After the warranty period any changes will require payments. So make sure you use the warranty period wisely, by carrying out as many tests as possible. You can even try to break the system, if necessary.
  7. Select the best possible means of collaboration. Collaborating through email is bound to end up with a lot of confused people, impossible stuff to monitor, projects not done according to plan, mountains of mails to sift through to find a small piece of information, etc. I recommend Wunderlist, Evernote, Dropbox and Dispatch.
  8. Make sure to monitor progress regularly. Don't wait for the Freelancer or service provider to contact you. If he sees that you are not showing much interest in the progress of your project, especially if you have already paid a fraction of the cost, he might take other projects from other people.
  9. Never pay the whole amount for the project before it's finished and tested. Besides the fact that when you have paid the whole amount, the freelancer or outsourcing provider has no motivation to work, there are other things that could happen. The freelancer may get sick or simply get a job and stop offering freelancing services. This happened to us with one of the projects we were working on. So be warned.
  10. Make sure you transfer the milestone payments regularly and on time.The kind of money that one pays may sometimes look like its nothing. That could be true from your point of view. If you look at the situation from the freelancer's point of view, it could be a lot of money. Just remember that the freelancer needs to put food on the table when he gets back home. If you don't pay him on time, he will have to provide for his family in any way possible. That might mean taking on other projects or simply ignoring your project for a while.That's understable since people can't stop eating until you pay them, right?  
  11. If possible, get the work done on your server. Most freelancers or outsourcing providers want to work locally, but there is the risk that if you lose contact with the freelancer you will have to start from the very beginning. If everything is on your server, you have the possibility to hire another person and continue from where the first person left off.
  12. If possible, hire developers recommended by people you know and trust. Put that network you have been building to some good use. Do not hesitate to contact us, if you would like to learn more from our experience before you wet your feet in outsourcing.
  13. Make sure the outsourcing provider is using opensource, non-proprietary technology and is following good programming standards (code structure,commenting, naming conventions, etc.). It will be easier to handover finished or unfinished work to another developer to continue working on your project if anything should happen to your current provider. This is also very important if you plan to have inhouse maintenance or administration of the finished product.
  14. Whether you are working with offshore or onshore service providers, communication problems are bound to happen due to a language barrier, differences in work culture, different levels of command of the English language, etc. Make sure you have proper means of communication set up and be sure your developer fully understands your requirements before they start working on your project. 
In the next post I will talk about how we chose the outsourcing providers we hired, the platforms we took into consideration when looking for outsourcing providers, the communication and collaboration tools we set up, etc. I can tell you right now that we did not communicate via e-mail, but that's all. So stay tuned.
 
Your turn. Have you ever outsourced any work? What advice would you give to those who are just starting? Leave a comment below. Do not hesitate to ask, if you need more information.  
 
Recommended reading:
  • Outsourcing problems are not limited to small companies. Even the big guys in the business have problems. Check out Boeing's problems with outsourcing here.

 

Author: Churchill Madyavanhu

Mon, 27 May 2013