In business, outsourcing involves the contracting out of a business process to another party (compare business process outsourcing). The term "outsourcing" dates back to at least 1981.[1][2] Outsourcing sometimes involves transferring employees and assets from one firm to another, but not always.[3] Outsourcing is also the practice of handing over control of public services to for-profit corporations.[4]
Insourcing[edit]
Outsourcing has gone through many iterations and reinventions. Some outsourcing contracts have been partially or fully reversed, citing an inability to execute strategy, lost transparency & control, onerous contractual models, a lack of competition, recurring costs, hidden costs, and so on. Many companies are now moving to more tailored models where along with outsource vendor diversification, key parts of what was previously outsourced has been insourced. Insourcing has been identified as a means to ensure control, compliance and to gain competitive differentiation through vertical integration or the development of shared services [commonly called a 'center of excellence']. Insourcing at some level also tends to be leveraged to enable organizations to undergo significant transformational change.[citation needed]
Further, the label outsourcing has been found to be used for too many different kinds of exchange in confusing ways. For example, global software development, which often involves people working in different countries, cannot simply be called outsourcing. The outsourcing-based market model fails to explain why these development projects are jointly developed, and not simply bought and sold in the marketplace. Recently, a study has identified an additional system of governance, termed algocracy, that appears to govern global software projects alongside bureaucratic and market-based mechanisms. The study[21] distinguishes code-based governance system from bureaucracy and the market, and underscores the prominent features of each organizational form in terms of its ruling mechanism: bureaucracy (legal-rational), the market (price), and algocracy (programming or algorithm). So, global software development projects, though not insourced, are not outsourced either. They are in-between, in a process that is sometimes termed Remote In-Sourcing. Projects are developed together where a common software platform allows different teams around the world to work on the same project together..