Actually, as far as well-specced cookie-cutter stuff, I would say outsourcing/consultants tend to do a good job if they're managed properly.<p>Where they fail (overrun budget and time) is for more complex stuff. Software complexity requires exponentially better programmers to cope with it. Each time you're building a complex piece of software, it's like you're having to invent the burger again and explain it to a computer.<p>Couple that with the fact that each company will want their particular meal tailored very specifically to their tastes, so that there's little reuse of recipes possible, and it's obvious why a lot of projects fail when the burger flippers are asked to design a new burger.