Do you compare only out-of-pocket expenses while comparing offshore and onshore software development options? If so, read ahead...
This method seems flawed when you consider the whole equation i.e. FTE costs + intangible costs like collaboration and quality...
Let's assume a 3 month project (~ 500 hours); $100/hour FTE cost; $125/hour onshore engineer; $35/hour offshore engineer
- An offshore team might have the following configuration: 8 offshore engineers in development team + 2.5 FTEs (offshore teams need more onshore FTEs for coordination/ collaboration. Our experience shows ~ 2.5 FTEs for 6 - 8 person offshore team.)
So, the total cost for this option would be $265k
= (500 hours * 2.5 FTEs * $100/hour) + (500 hours * 8 offshore engineers * $35/hour)
- Now compare this with an onshore team. In this case, you have access to experienced engineers, so you need fewer (say 4) and they can also complete the project faster (say 400 hours). Since they're onshore you'll need fewer FTEs (say 1.5) considering increased quality and quantity of collaboration ...
This would cost $260k
= (400 hours * 1.5 FTEs * $100/hour) + (400 hours * 4 onshore engineers * $125/hour)
Caution: This also doesn't imply that you fire your offshore development partner.
- In fact, many offshore vendors have realized this from their experiences in last several years and are offering near-shore or onshore development options to their clients. E.g. Tata opened up a development center in Cincinnati in 2008)
- This does not apply to all software development. There are several factors to consider while making on/offshore decision. E.g. Technology matters! Team size matters! Project duration matters! Offshore development seems more cost effective for commoditized technologies; large teams and/or long project timelines.
May be we need a decision tree to decide where to execute a project?