Here are the books that form the heart of my software design library. Without these four books I could not function.
There are many other critical tomes which I will share in later posts, but if I could only stuff a few books in a backpack these would be the ones I would grab.
The first edition of this book is where I started my career designing software. While I have not yet read the new edition, the heart of information architecture can be found here for certain.
A practical guide to addressing complexity that is both simple in its approach and rich in the depth of thought that went into constructing the model it presents.
The Elements of User Experience (strategy, scope, structure, skeleton, and surface) remain the most coherent model of a software project I have ever found.
With the publication of Understanding Context, software design has hit an inflection point. For the first time we have a model and a language for the design of software within the context of use rather than being stuck thinking of the screen and the user in isolation from the rest of the world.