I think the hottest book in the software development at the moment world may not have any source code in it all, Why Software Sucks… and what you can do about it by David S. Platt. I got this book in the beginning of February, at a Microsoft event and casually read it in March. Since I got it and started reading I have seen many favorable references to the title. I think this may be one of the best books I have read in the past few years. It is under 250 pages so you could tackle it in a day or even three and it is very easy to read.
The basic premise I took from the book is that we as software developers have gotten to the point that we know how to make some pretty awesome applications, it is just that the way the typical user will interact with our creations may not be right. In fact we do a pretty lousy job in many cases making our software intuitive to the actual user, who while they may know how to use a computer don’t think like us.
We tend to be very analytical and in control of the situation and have the natural ability to seek out how to manipulate a piece of code. He points out many classic problems with typical software, including the introduction of Clippy (I knew that was a bad idea the day I saw it). He then takes us through the typical process that Microsoft and many other shops take in the development process. Giving us an objective insider’s view, he changes the point of view to the eyes of a typical end user. He also takes some time to explore what it is like to be part of Tech Ed, speaking of which, this June.
I really enjoyed this book and I highly recommend it to any software developer to read, including everything from a DBA to the graphic artist (we should be seeing more of those guys now that WPF is out and about).