Today many large companies outsource jobs such as call center services, e-mail services, software development outsourcing and others. Outsourcing is the scheme where you order your task or part of the project to other company. The reasons here may be: lower cost, faster development or highly skilled professionals. Outsourced jobs are handled by separate companies that specialize in each service, and are often located overseas. Software outsourcing involves the transfer of the management and everyday execution of business functions by external service company. The client organization and the supplier enter into a contractual agreement that defines the transferred services. As a result you get smart and effective development process.