Wednesday, December 17, 2008

My Anti-Outsourcing Rant

I have outsourced before and let me tell you; it is not any cheaper in the long run. When an employee is within walking distance the message can be delivered quickly and succinctly, however, when you manage a group of remote engineers you must spend a significantly longer amount of time in the specification phase.

Most projects have a pre-ordained life-cyle. You can pull in any phase you want, but you will end up paying more elsewhere. For example say a class of project typically takes 12 months to complete (and we'll assume we have arrived at this number empirically). You might spend 3 months documenting requirements, 3 months designing the solution, 3 months implementing the solution and 3 months debugging the solution. If you want to pull in the implementation from say 3 months to 1 month, that's fine, but my experience shows you will just end up adding 2 months to the debug/QA cycle for a net delta of zero. The same goes for pulling in design (you'll pay more in implementation/debug, or if you want to pull in specification requirements you'll pay more downstream), etc. Most projects tend to fall into basic categories and various categories of product just seem to have a standard duration, like it or not, and so outsourcing just tends to require more time to be spent during the requirements specification and design phases.

There is an old saying (I think it comes from Brooks in the Mythical Man Month) that you can put 9 women in a room but you won't get a baby in a month. It will still take 9 months because that's typically what that project category requires. In the case of dumping more and more resource on a project there is resource communication and interface overhead which adversely affects productivity, otherwise any project could be done in one day (or more absurdly, one minute) given enough resource, but as we all know via common sense, it just doesn't work that way.

Anyway, I have attempted to manage remote engineering organizations unsuccessfully in the past so this is my little rant on outsourcing, from an attempted non-polemic perspective.

No comments: