An exchange of blog comments has found me and Bill in agreement yet again. Management’s sole reason for outsourcing is to save cost. Period. (Or may I say “full stop” depending on which side of the Atlantic you are?).
However, outsourcing does not necessarily prevent co-location (outsourced staff can remain on your site), so in theory at least, using agile software development is possible.
But what about corporate allegiances? Once they were part of your organisation. Now outsourced staff, at some point post-contract (and it can take a while) have to go native and support the outsourcers corporate objectives – which include making money out of the client. This doesn’t sound very compatible with creating mutual respect between business and IT and it especially doesn’t sound like an environment conducive to delivering a high quality solution that meets business needs.