<p>Both engineering and human living take place in a messy world, one chock full of unknowns and contingencies. Design reasoning is the way engineers cope with real-world contingency. Because of the messiness, books about engineering design cannot have ideal solutions printed in the back in the same way that mathematics textbooks can. Design reasoning does not produce a single, ideally correct answer to a given problem but rather generates a wide...