Nearshore software projects development and software development outsourcing are global IT trends.
Outsourcing means resorting to external providers for executing specific processes, e.g. software development.
Nearshore / offshore refers to collaborating with providers outside your country, from a relatively close (nearshore, e.g. Romania related to EU) of more distant (offshore e.g. Romania related to US) location.
So what is the relation between outsourcing and nearshoring/offshoring? Outsourcing can be realized by collaborating with companies from the same country or by collaborating with companies from other countries (nearshore/offshore).
IT companies choose nearshore/offshore software development for developing custom applications or in the process of developing standard software, in order to reduce and control development costs and concentrate on marketing and commercial activities.