There are many challenges, often without real solutions, to the “offshore” model. Consider your business context: Can your offshore team understand and synthesize your business’ complex objectives and context? Will they be able to put themselves in the position of your customers to anticipate and infer requirements that are unclear or aren’t explicitly stated? Requirements will never be clear enough that a development team can work in isolation from your business.
Are you agile? Are your onshore teams practicing Scrum? What impact will separating developers from each other—or separating them from your business—by 7-14 time zones have on a software development process whose core tenant is close, constant and “osmotic” communication?
Consider your employees’ Work/Life Balance: The market for talented software engineers is exceedingly competitive—and it’s predicted to stay that way for the foreseeable future. Meetings that start at dawn and don’t end until late in the evening drive your best people to your strongest competitors.