User-Centered Design by Travis Lowdermilk is a solid overview of the principles and practices of designing a software project with a focus on your users. The book does a good job of laying out the basic tools and processes of user-centered design, like usability studies, surveys, and project plans. It also argues convincingly for the power of its central points: user focus, preparation, and a structured process.
If you're looking for a deep dive into design theory, this is probably not a book you want. Rather than dig into abstract design issues, this book instead acts as a survey of the user-centered design landscape, and points you to resources to go deeper if a particular topic catches your interest. Lowdermilk also does a good job of pointing out examples of the different principles discussed, though for a stretch of the book he appears to be a bit fixated on a small selection of examples, particularly 53 Inc.'s popular iPad app Paper.
I'd recommend this book for developers who want to open their minds to design considerations and improve their ability to make usable products. It particularly seems suited for the engineer who knows technically how to implement features and write good code, but is still figuring out how to write applications that delight users. I'd especially recommend it for team leads or independent developers who are more likely to be able to meet users and be a part of managing requirements. I think all engineers could benefit from the books emphasis on the users point of view, but the real benefits will come to those who are able to make its suggestions part of the structure of their product workflows.
This review was part of the O'Reilly Blogger Program. I am not compensated for this review, but did receive a free review copy of the book. The opinions expressed here are my own.