David Heinemeier Hansson describes: Are Your Lights On?: How to Figure Out What the Problem Really Is by Donald C. Gause and Gerald M. Weinberg as:
This isn’t technically a programming book, but it deals with the biggest problem facing developers none the less: What is the problem we’re trying to solve? Is it the right problem? Could we solve a different problem instead and that would be just as good? Nothing has increased my programming productivity more than being able to restate hard problems as simple ones.
in his post: The five programming books that meant most to me.
The other four merit your attention but if you are solving the wrong problem, the results won’t be viewed as great programming.
At least not by your clients.