Offshoring is the relocation of a business process from one country to another. However, in software development outsourcing, it usually refers to outsourcing software development to some faraway country, often overseas. It is often cheaper, but risks running into various communication barriers.