To Engineer Is Human: The Role of Failure in Successful Design by HenryPetroski?
The moral of this book is that whenever engineers do new things, they are at risk of failure. Most of the time they do not do new things, they are not really designing, they are just repeating old designs. Repeating old designs ensures success. But when they are creative, when they go beyond what they have done before, they are at risk of failure. Failure teaches them that their old ways of doing something will no longer work, and they are forced to learn how to do things in a new way.
See also WhyBuildingsFallDown