In Enterprise Architecture and Why Do Things Fail..., James McGovern ponders failures, methodologies, competencies, etc...
In the article he asks what would happen if engineers were asked to build buildings like we're asked to write software (or anything else in IT for that matter). He lists several factors that, if applied to bridge building, would cause the bridge builders to fail. I submit that many bridges have been built under the constraints listed.
- Limited budget - all budgets are limited
- Political restrictions on tools - try using non-union labor in certain states
- Short schedules - ask the Army Corp of Engineers about building bridges during wartime
- Things that have not really been done before - all bridges are different
- Requirements changing on the fly - all requirements are imperfect, therefore change
I don't think these constraints construct our failure. There seem to be sufficient examples of success under these conditions. We should probably look elsewhere for solutions to failure.