Software is inherently complicated. If you say to somebody I want an airline reservation system, to really say what you want in terms of overbooking and fares, and different airlines communicating with each or schedule changes, it's immensely complex. And so you can't write a program that's any simpler than that full specification.
Bill GatesAn important re-engineering principle is that companies should focus on their core competence and outsource everything else.
Bill Gates