Live Chat

Outsourcing Software Development – Pitfalls You Should Avoid

In today’s global world many businesses find that it would be suitable to outsource their work. Some of the businesses may lack in-house expertise; some may be reluctant to invest in developing in-house capacity. In addition to the core underlying reasons, almost all of them find outsourcing to be cost-effective. But cost advantage is only one side of the coin. The flip side may be full of dangers if proper research and care is not given before finalizing outsourcing partner.

In this article I will discuss how to avoid pitfalls of outsourcing and ensure a smooth and successful project is delivered on time and on budget.

1.  Research before Tie-up: There are thousands of outsourcing companies around the world willing to do your job in low budget. It may sometimes become too difficult to choose one from the lot. So you need to be careful in selection. One of the first things you should do is ask for references and speak to the past customers. In this way you can have bit of an understanding of the company’s capabilities and services. If an outsourcing company tries to avoid such testimonials under the guise of privacy, look for others.

2.  Make Sure about Service Offering: Many Outsourcing service providers provide services as some packages. For example, in a website development outsourcing scenario a standard package may include the Internet connection, the hardware and software used for the website. There may be addition services of HTML markup, customized programming, checks for dead links or technical support to users and innumerable other kinds of services. You should be aware what services will be available and how the services will be charged. Unless and until it is very much clear about the exact components of the offering it is very difficult for you to make cost and profitability assumptions. It is true for other Outsourcing solution too.

So, be sure of what you will get from the beginning. Get the offering details with cost breakup from your Outsourcing partner in official mail or other similar kind of documents. Also, ask for any additional cost like taxes or duties applicable on the price at the beginning to avoid unnecessary cost rise.

3.  Guard Against Instructions Lost: One of the disadvantage in Outsourcing model is that there is very limited or no scope for face to face communication. So, all the communication is carried out through email, chat and other means of electronic communication system. Of them, email is mainly treated as primary official communication medium and all copies of emails are needed for any future reference. So, you have to ensure that confirmation emails at each stage of the consulting process are sent so you have a paper trail of past agreements.

4.  Be Clear About Minute Details At Agreement: One of the important aspects you should keep in mind is that exactly what you will get from the service provider during the contract. Do not leave anything ambiguous. Make sure you mention every minute detail for your requirements at the time of Service Level Agreement. Try to define mile stones for work with definitive time period. It is also advisable to pre define Key Performance Indicators by which you can measure the performance level of the solution provided by Outsourcing partner. If possible, agree payments in stages at each development cycle benchmark so you are paying the total agreed fee in installments.

5. Guard Against Service Interruption: One of the scary moments for any organization is when there is an interruption of service. Regardless of whose fault is there at service provider’s part, you have to suffer. It may happen to be worst if the service provider ceases its business during contract period.

There are some possible solutions that may guard you against such unfortunate situation. First, make sure your service provider has proven indemnity cover to protect you from this kind of loss. Secondly, make sure your service provider provides you source code and intermediate solution after completion of each module periodically.

6.  Get a Local Consultant: Outsourcing may reduce your burden for the work, but you cannot be overly assured that all work is going on as intended. Also, you may not have competent in-house resource who can judge the quality of solution given by outsourcing partner. So, it is highly recommended that you hire a competent local consultant throughout the process and inspect the final specs and solution before signing off on the project. It may sound for increasing your cost, but it will give you confidence that you get the right payback for you hard earned money spent on outsourcing along with peace of mind.

7.  Ask for Review Reports: During the project lifetime you should check what the progress of your project is. Please do not assume everything is going on as expected. Instead, agree on weekly or fortnightly reviews between the respective project managers and minute the discussions. By these reports you can check the project progress by comparing it with the agreed project blueprints at SLA and you can be ensured that the project is moving along as planned.

8. Prepare a Clear Sign Off Point: Software solution may require additional support or training to proper utilization of the solution. Additionally, any provider may also provide warranty period on software solution. But there is no standard for providing additional support or training from the service providers’ end. So, it is very important to know when the responsibility of the service provider terminates. If you require any support or training make it clear during agreement. Also include the time period into the agreement along with cost associated with it.

9.  Intellectual Property: You may want that the solution provided to you by your outsourcing partner in return of your hard earned money should remain exclusive to you. But the outsourcing service provider may resist providing you with this because many times the providers develop proprietary in-house tools which are recycled in many clients’ project. The rights to the developed work product may become critical when considering the situation of what rights you will need following termination when you and your provider will go separate ways. You should consider the fact that in future works you may appoint another solution provider or do it in-house. So you may need to have the ownership of the final work.

So, make sure you have an Intellectual Property clause signed by your solution provider which says the ownership of final work will remain to you.

The above points are basic guidelines which should help you avoiding pitfalls in outsourcing of software development. It will not be wise to predict anything beforehand regarding working practices, technical knowledge or grasp of language of your software partner. When you get things right you can save a great deal of money and it will provide you with a competitive advantage. If you do not get it right then it will not only prove to be costly, but also a tragic mistake for your business.

Enquire, test and be clear about what you want and what you should get to make most from your investment.

Leave a Reply