What should I know before using an outsourcing service?
Outsourcing software development can be a little tricky, particularly when you are doing it for the first time. Here are a few things that you should keep in mind:
- Nature of work: Though it is very easy to find outsourcing companies that will take care of mundane aspects of software development - solving simple support tickets, functional testing, on going support, it is difficult to find an outsourcing partner that can take on complex, innovative work. The due diligence that you should do in picking a partner is proportional to the criticality and complexity of the work that you are looking to outsource.
- Productivity: No matter what any outsourcing company tells you, it is a fact that productivity of your outsourced team will not be an exact match of your local team, particularly if they need to work together. The communication and distance overhead offsets productivity by at least 15%. So, if you have a partner whose development team is 85% as productive as your local team, it is pretty good. However, if you are outsourcing complete development then the productivity should be much closer to 100%.
- Developer Rates: Don't use rates as the major evaluation criteria. A lot of low end outsourcing companies charge a pittance but you will never get anything out of them. A good company with a capability to solve complex problems is not likely to be the cheapest option.
- Accountability: Most of the outsourcing business is loosely structured around the body shopping principle where the bodies will work for you from a remote location but it will be your responsibility to get the work done. If there is a problem with a developer then the company will be happy to offer you a replacement. Very few companies get involved in completing the outsourced work. If your outsourcing prospect does not have any referable client where they have taken accountability of delivering a product at a fixed price within fixed time, then it is very unlikely that they have a strong development team.
- Size does not matter: when it comes to developing complex software, the size of the company really does not matter. In fact, most large companies either take too long to develop complex software or fail. If you are trying to bring an idea to life, you are better off working with a smaller company that has experience delivering similar work. You get much better attention and access to talent.
" Finding a reliable outsourcing partner can be a complex and time consuming activity. But if you crack the model with the right partner, it can be very rewarding! "