A couple favorites that haven't been mentioned: 'An Introduction to General Systems Thinking', Weinberg, and he's got a dozen more worthwhile books behind it. 'The Logic of Failure: Recognizing and Avoiding Error in Complex Situations', Dietrich Dorner
Also recommended in this reply