There is a lot of talk on why outsourcing (and off-shoring) of software development jobs in a long run has an adverse effect for a business. However, most of these arguments are well understood only by folks who are heavily into software development themselves and there is an apparent difficulty in putting these arguments across to "policy makers" who actually make the decision to outsource, but have little or fundamentally flawed understanding of the software process.
What practical strategies would you suggest for a software development team to make sure that if outsourcing ever appears on the decision makers agenda it is strongly opposed by the board or, even better, it is never on the agenda in the first place?
The question is intentionally broad, however in a more narrow perspective what are the concrete competitive advantages of an inside development team and what the team could continuously do to make these advantages highly noticeable to and valued by decision makers?