Outsourcing IT-services

How do you carry out a successful outsourcing? What form of outsourcing should you choose and how should the agreements be designed to create a win-win situation?