프로젝트 단위 아웃소싱
오래전 부터 건설업에서는 하청이라는 영역이 있어 왔다. 거대한 건물을 만드는데 있어서 여러가지 부분적인 기술이나 용역을 외부 업체로 부터 조달하는 행위를 말한다. 소프트웨어 아웃소싱도 이러한 개념에서 출발했다. 즉 개발해야 하는 소프트웨어가 있고 사양이 정해지면 업체를 선정하고 프로그램을 개발하는 것이다. 이것을 프로젝트 단위 아웃소싱이라고 한다.
개발팀 아웃소싱
소프트웨어가 사업의 중요한 부분이 되면서 사업의 변화에 빠르게 대응할 수 있는 소프트웨어 개발이 요구 되기 시작했다. 즉 한번 만들어 두고 마는 것이 아니라 매일매일의 사업적 요구에 따라 변화하는 소프트웨어가 필요해 진 것이다. 이렇게 요구사항을 받아 들여서 스스로 변화하는 소프트웨어를 개발하는 것은 현재로서는 불가능한 기술이므로 상시적으로 개발자가 개입될 수 밖에 없다. 이러한 상시적으로 개발자가 필요한 경우에 사용하는 것이 개발팀 아웃소싱이다. 즉 외부 소프트웨어 전문 개발사에 정해진 인력을 두고 회사에 필요한 업무를 상시적으로 개발, 유지, 보수 하는 것이다.
오프쇼어(Offshore) 개발팀 아웃소싱
소프트웨어 개발은 이에 적합한 인력만 있으면 아무곳에서나 할 수 있다. 그러므로 전 세계적으로 봤을 때 동일한 능력을 가진 개발자를 고용하는 데 있어 비용은 천차 만별이다. 당연히 후진국일 수록 그 비용은 싸게 된다. 소프트웨어 개발은 인터넷의 발달로 시간과 공간을 초월하여 팀을 구축하는 것이 가능하며 이러한 특성을 이용하여 개발팀을 국내에 두지 않고 외국에서 조달하는 경우를 오프쇼어 개발팀 아웃소싱이라고 한다. 개발자를 고용하는 비용은 줄지만 지역차이, 문화차이, 언어차이로 인한 추가적인 비용이 발생하므로 고도의 관리 기법이 필요하다.