Software outsourcing models can be divided into two major categories on the basis of location and the relationship between the client and the company. Software outsourcing models based on location include: Onsite outsourcing Offshore outsourcing Onshore outsourcing Multi-shore outsourcing Nearshore outsourcing Software outsourcing models based on the relationship between clients and service providers include: Managed/Dedicated team Staff augmentation Project-based model