Good Book
If you want to learn the agile methodology this book is a good beginning. Without a doubt you will learn the underpinnings and ready yourself and your organization for agile development.
Well written and clear
The Object Primer is aimed at software engineers and architects with a good bit of experience. For that audience it is a well-written, clearly illustrated introduction to object concepts, UML, and agile development.
A warning: even though the book says that everyone involved in analysis, design, and delivery should read this book, I think it would probably be over the heads of most non-technical business analysts.
Great book for analysts too!!!!
I am an experienced analyst looking for an antidote to the RUPies use-case-jaundiced view of requirements. This book provided the perfect foil to the sentiment that use cases are all that is in the requirements universe.
It is not meant to be an exhaustive treatise of UML models, rather, it offers a different and, to me, refreshing view of what requirements for system building are supposed to be: agile, responsive and as varied as the projects that they are used on.
Additionally, the writing is light enough to be enjoyed and (what a novel idea) actually read. I have read Mr. Jacobson's books as well as Mr. Rumbaugh's. Albeit their authority status, their writing styles leave you wondering who they were writing for. It certainly wasn't me.
If you are looking for an alternative to the use-cases-as-panacea view of the world, this book will present a good fundamental look at how to get requirements written in a different way. And along the way, you will have a good time reading the book.
If you understand the target audience this is the best book on the market
For those who want a quick, fun introduction and intermediate mastery of UML 2.0 without getting sidetracked in all the esoteric notation that is rarely used, this is your book. I have used it since its release (and the edition before that) for teaching UML and good Object Oriented Design concepts. Many will throw stones (UML Purists that are more interested in UML Metamodel Purity then getting systems built for example) but don't let that phase you. If you need to learn UML 2.0 and have fun doing it, this book will do an incredible job for you. Scott writes in a very accessible style, not trying to show off his deep technical knowledge of UML (which he has). I admire him for writing this book as it is a tremendous service to our community. He simply wants people to get working as fast as possible. I admire his ability to have such a deep grasp of UML yet not flaunt it and distill things down to the necessary 20% that is all you need 80% of the time. More accurately, perhaps it is more accurate to say he covers the necessary 35%-40% that covers 90% of what you need to be effective.
The negative reviews come from people who are likely purists or are taken aback by his somewhat fun and informal style. As we have seen with books such as `Head First Design Patterns' I have seen greater success with books that take this format for people who are starting out. The other books can come later if needed.
You can buy much more academic books that will go into great detail on the semantic meanings of UML 2.0 model elements such as stereotypes that are almost never used or understood, advanced concepts in categorizing classes in a class diagram that are rarely used, etc. but you will rarely see any of them in practice. Rather then waste your time learning these items why not learn what you need to learn so you and your team can start communicating in Visual Diagrams as quickly and efficiently as possibly?
Kind Regards,
Damon Carr
Read This Book!
This book should really be called "Agile Models Distilled" or perhaps "Agile Model Driven Development". It does for modeling what UML Distilled does for UML: it provides a concise overview of a wide range of modeling techniques. One thing that is a real eye opener in this book is how many simple techniques exist work involving your users in the modeling process, as well as developers who may not want to learn the complex UML tools which management foists on them.
A huge benefit of the book is that it actually covers the entire software development lifecycle. It describes testing techniques that you can use throughout your project and shows how TDD fits together with modeling. The simple and straightforward approach to modeling that's covered in this book fits incredibly well with the TDD approach favored by many agile developers; it's a great way to increase your productivity as a developer. The book works through a case study, showing how to model and then code portions of a business application, so you get a pretty good idea how to actually do this stuff in practice.
This book shows how to be effective at modeling on agile projects, something few other books show how to do. It shows that you need to go beyond the UML although makes it clear that the UML is still an important part of your modeling effort. The book shows how it all fits together, but doesn't go into the excruciating details of how to apply each modeling
technique: if it did that it would be several thousand pages long. If you want to gain an understanding of the types of modeling skills you need to learn to be effective, this book is it.