Offshore and onshore development is rooted in the concept of offshore and onshore companies. The term offshore and onshore traditionally are used to refer to competing business models. Offshore software development follows a model where software is developed by companies that work offshore – in other regions. Onshore model works on software development that internal teams work on.

Here are some of the advantages and disadvantages of onshore and offshore software development :
Onshore Development
The GOOD: Clearer communication and face to face meetings
With onshore teams, the team is physical at one place and hence any communication between the members is easier and instant. There is no chance of misunderstanding. The meetings can be face to face and the message is clear.
The BAD: Higher costs and smaller talent pool
Building an onshore team requires you to hire individual resources and hence the cost of hiring is higher. When you hire locally, there’s only so much of talent to hire from. You may not get all the skills you wanted and at the cost you wish to spend.
The GOOD: Large pool of talent and lower costs
When you select Offshore development, you get a versatile pool of talent all at one place. Offshore teams usually have a consolidated set of employees and you can get all the resources you need for your project rather than hiring individual resources for your project.
The BAD: Language difference and time zone difference
However, be aware that while working with an offshore team, there is bound to be a time zone difference and that makes communication slightly delayed. With offshore development, there will also be a language difference to deal with.
Ultimately, the best approach depends upon the way your company is setup and what kind of budget you are working with. But, if you wish to build a great team with varied talent and at a budget friendly cost, offshore is your best bet!