Okay, this a controversial matter. But one thing is for sure if you have a team that communicates daily and can work in an agile way, this irons out potentials problems. Let’s say a business hires offshore developers and builds a large chunk of a new piece of software, however, their expectations fell short of what they want. This causes disruption and wastes a lot of time, rather than being able to quickly sending a slack message or being able to pick up the phone for quick validation. The same goes for quality. It’s harder to have control and make sure that quality is being maintained. As a general rule of thumb, the more complex a project is, the more desirable outsourcing onshore should be.