ISBN 0442011121 An insightful analysis of the problems of SoftwareDevelopment, using ChaosTheory and CatastropheTheory to explain why we so often get unexpected results from what seem like good approaches - and what we can do about it.
See also PerfectMess