There are quite a few executives and business leaders who favour the outsourcing or offshoring of software development work, however there are others who have had bad experiences and want to stay away from it. Let us look at pros and cons of outsourcing a project offshore vs hiring in-house developers.
The Pros of outsourcing Offshore
This is the biggest advantage of outsourcing. The local developer costs $100 to $150 where as the developer in another country perhaps costs 1/3rd or 1/4th the cost of the local developer. With smart planning you may be able to get the same work done in significantly lower budget. Use your savings towards building better, feature rich software.
Whilst cost of developer time in another part of the world is an advantage, you must consider the extra time that you spend in preparing and managing an offshore project. Typically 2/3rd of the project cost more than original budget. There are ways to mitigate this risk, will discuss about this in our upcoming blogs.
Ramp up and down as project demands
This is second biggest advantage of the outsourced project, your project may have different skillset requirements at the different time. Experienced leaders know how difficult to bring somebody on short term contract into the project. You don’t need to worry about hiring resources for a short period of time, your partner can get you better resources. Since your partner shares these resources across multiple projects, it will work well for the resource as well as for you.
If you are in a city where not many companies work in the similar technology area as that of your company, then you have added hassle of hiring folks from other part of the country. Which generally is another difficult task to tackle. The resources that you desperately need may not be available when you need them. The offshoring destination like Bangalore has over 700,000 developers in one city. Pretty much all skills are easily available here. This will work in your advantage.
Pros of In-house developer
Having In-house developer has great benefit, you can retain knowledge acquired during the development in-house. Developers who work full time on your projects will invest time and energy into the project in anticipation of long term association with the company as well as career advancements. These developers are less likely to move to another opportunity soon may turn into long term players for you.
Due to the proximity to the business leaders, the in-house developers will become well aware of the direction in which the business is headed. They understand the priorities better and can change the course of the development work much more swiftly compared to their outsourced counterparts. They can sometime offer great suggestions to the other business functions such as sales and marketing.
In-house developers tend to stay longer in the company they work for, they acquire good know how about your business and the domain. The longer they spend time in your organization, faster they will be in implementing feature or fixing issues in your software. There is minimal learning curve involved.
Cons of Outsourcing Overseas
There will be quite a few challenges when a project is outsourced to offshore. The access to your source code control systems, access to the bug tracking system and access to project portals. All need to be opened up securely to make the offshore team effective. The time difference makes it hard find common time for the meetings, members on one side of the team end up working odd hours (usually the offshore team).
This is especially hard if the requirements are not well documented. The offshore developers tend to work on the scope as identified in their statement of work. There is a need establish seamless communication between customer team and the offshore development team. There is a need for the extended sessions to understand each others better and understand the cultural differences.
How do you ensure the quality of the delivery coming your way from offshore? If there are deficiencies in the work product that you have received, it may take while to get those fixed. If the developers are in-house then it is easy to explain issue to them and monitor the progress of fixes in realtime. Getting the quality checked and bugs fixed becomes difficult if you don’t set well defined process ahead of time.
Cons of hiring In-House Developers
Hourly rates to hire in-house developers is ridiculously expensive so is the health insurance and other benefits offered to the employees. There may be days where the there is not enough work for all developers. The idle time adds to the cost further.
You have to invest your time in finding the right resource, interviewing them and convincing them to join. The process is hard and time consuming. Demand for skilled workers is high, this may add to the demand on your personal time.
There is no definitive answer which route works best for you. However being on both sides of the aisle for over 20years, it is my recommendation that you choose a hybrid model where 20% of the team is In-House and 80% of the team works from offshore location. Bulk of the work can be done using inexpensive resources offshore where as 20% of the team made up of key guys can take care of the logistics, collaboration and quality issues as and when they arise.