Disclaimer: much of what is written below I have learned with one of my previous outsourcing jobs at Sioux Embedded Systems B.V., so much credit goes to them for creating environment where I could gain experience and build up necessary skills.
Whenever a company starts with outsourcing a proper (team) organization shall be put in place in order for outsourcing to work. Everybody seem to admit that ‘throwing spec over the wall’ does not work, but what is then necessary? In this post I will summarize my experience of what had worked on several projects. Note that this is not the only organizational aspect to be considered, there are also other aspects which are not covered in this post (meetings, reporting structure, etc).