Adam Petersen - Software Development Pages, Book Reviews Section
Start News Articles Book Reviews

Book Review

The Object Primer : Agile Model-Driven Development with UML 2.0
by Scott W. Ambler

ISBN: 0521540186
Publisher: Cambridge University Press
Pages: 572

This book covers the fundamentals of software development with a focus on modeling and spans the field from requirements engineering to coding examples in Java.

The keyword in the book is ‘agility’. Scott W. Ambler keeps reminding the reader that models only have to be barely good enough and ensuring that the focus isn’t lost from the primary goal of software development: producing high-quality software. Although I agree in general, I think he misses an important aspect of software development: maintenance. Making a recommendation to “erase 95-99 percent of all sketches” may ensure that a project travels light, but I certainly lack a discussion of how to ensure that the resulting product is maintainable. Sure, software quality is probably the most important aspect, but it is definitely not the only one.

A reader expecting a solid introduction to UML will probably be left rather disappointed. Despite its inclusion in the sub-title, Scott W. Ambler’s view on modeling is much broader than UML. The book includes several simple and useful modeling techniques. For example, his description of using a whiteboard and sticky notes for prototyping user-interfaces is a great technique when modeling in teams.

The chapter about usage modeling is the best summary I have read on the subject. In fact every chapter contains valuable information. The only problem is that it is not always easily accessible and many great insights are hidden deep down in the text. This gets apparent at the end in the chapter about database development. The database material is extracted from Ambler’s other book (“Agile Database Techniques”) and despite all small pearls of wisdom, the chapter is rather confusing and fragmented.

The book serves as a good overview of object oriented development of business systems. I believe that many developers would find a lot of valuable tips and techniques in this book. At least I did. However, I would not, despite the book being labeled as a ‘primer’, recommend it to a beginner.

Reviewed September 2005

©2005 Adam Petersen