Book Reviews
Extreme Programming Explained
by Kent Beck
The original XP manifesto, and still one of the best XP books. It is concise and easy to read, and does a great job of describing XP at a high level, with the background philosophy. If you want theory, and not just practice, this is definitely the best XP book. It is showing its age in a few spots, but is still worth reading.
Planning Extreme Programming
by Kent Beck and Martin Fowler
Excellent practical description of how to actually run an XP project, start-to-finish, day-to-day. Coaches and leads must read this book.
Extreme Programming Installed
by Ron Jeffries, Ann Anderson, and Chet Hendrickson
Excellent practical advice for everyone involved with an XP project. The first 30 pages are the best introduction to XP I have found for potential XP Customers.
Extreme Programming Applied
by Ken Auer and Roy Miller
One of the best XP books, with excellent advice for XP teams. Also, this might be the best book for an open-minded XP skeptic to read. It has some pretty compelling arguments.
Extreme Programming in Practice
by James Newkirk and Robert C. Martin
Fascinating real-world case study of a small agile project attempted by a team that had never done XP before. It really shows some of the challenges and benefits of an agile approach. Great for anyone who wants to understand the "flavor" of an XP project.
Extreme Programming Explored
by William C. Wake
Disappointing. I am a huge fan of Wake's writings, but this book didn't come out as well as I had hoped. It's not a bad book, but it's not great, either.
The Practical Guide to Extreme Programming
by David Astels, Granville Miller, and Miroslav Novak
Not one of the best. This book has pretty good material, but if you've already read the great books in the XP series, you probably won't learn much. It lacks the concise style of most XP books, so I found it to be wordy and somewhat repetitive.
Extreme Programming Examined
by Giancarlo Succi and Michele Marchesi
A collection of early XP papers presented at a conference in 2000. There are a few gems in here, but most of the material is obsolete, academic, or esoteric. Not recommended, unless you have a specific need for one of the papers.
Refactoring: Improving the Design of Existing Code
by Martin Fowler, et al
The bible of refactoring. It has a section describing what refactoring is and how to use it, and another section listing a catalog of "refactorings". The material is excellent, but I had some trouble reading it straight through. Worth the effort, though.
Software Craftsmanship
by Pete McBreen
Excellent, thought-provoking essay. Describes why the "Software Engineering" model is inappropriate, and proposes an alternative. Philosophical in nature (as opposed to practical or theoretical). See my full review.
The Pragmatic Programmer
by Andrew Hunt and David Thomas
Excellent compilation of software development wisdom. Probably most valuable for mid-level developers, but worth reading for anyone who wants to improve their software development skills. The advice applies to virtually all languages, domains, and methodologies.