Review of Agile Software Development: Principles, Patterns and Practices by Robert Martin

Agile Software Development received rave reviews, winning the Software Development Magazine’s Jolt Award.  So I looked forward to some expert instruction from an object-oriented and agile veteran.

The sections on agile design principles were excellent.  The chapters on the single-responsibility principle, the open-closed principle, the Liskov substitution principle, the dependency-inversion principle, and the interface-segregation principle clearly described the principles, showed the problems that they helped fix, and then showed how to solve the problem with the principle.

The packaging principles were explained almost as well.  The principles were also explained, the problems were illustrated, and the package designs that solved the problems were shown.  The missing link was how the package design affected the code.

The first two case studies, the Payroll and Weather Station examples, also did a very good job of showing common patterns in use on an actual project.  Martin also showed how to back into a pattern from a simple design (as per Test Driven Development), which I found very interesting.

The code examples, however, were not so good.  They switched from C++ to Java.  While I am familiar with both, the back-and-forth switching produced a jarring effect that inhibited understanding.  The second case study was mostly C++ code from the early 90’s.  The rest of the code was created from 1998 through 2002.  Some of it was written test-first, much was not.

Overall the book was very good, but I was a little disappointed.  In the Foreward the author explains that parts of the book came from another book project and the rest was written over a five-year span.  It shows.

Check out more book reviews at the WeProgram.NET Book Review page.

This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.

2 Responses to Review of Agile Software Development: Principles, Patterns and Practices by Robert Martin

  1. Darrell says:

    I think the packaging principles are solid, but I’m not exactly sure how to apply them. I asked here ( and got no response. :(

  2. Steve says:

    Absolutely agree. I loved the chapters on the agile design principles, thought the packaging principles was pretty solid, and the code samples somewhat lame.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>