This book is an overview of agile model-drive development, while uses a story about practice agile development for a university system. This application is so simple that it may take only one small incremental step to develop. The author does not care to complete this system at the end since he knows it is very simplistic. It is not necessary to carry out any refectory and iteration. On the journey, the author often stops to tell his experience and point out some treasures exposed along the path. However, at the end, you realize that you are still at Disney Land, although this time guided by a real pathfinder who repeatedly told us it is for real. The author provided several UML diagrams supposedly developed on a white board. But it makes no difference whatsoever if they are printed. They are just decorations to make it looks real. Actually, it is hard to read, as complained by other reviewers.
The main title of the third edition, The Object Primer, is misleading. This book is mainly about agile model-driven development, which is part of the subtitle. A better title of this book should be The Primer of Agile Model-Driven Development. This book does not teach you very much about object itself. Chapter 2 gives you a review of object-oriented concepts. If you are new to OO, such brief coverage will not help you very much. This is not a book that teaches you UML either. UML 2.0 is used throughout this book in straightforward cases. If you are new to UML, you have to read other books first.
This is a well-written book and you may learn a lot IF you are one of the targeted audiences. The author stated, this book is aimed at two primary audiences - existing developers and university/college students who want to gain the fundamental skills required to succeed on modern software development projects. The author give a quite "radical" (his own words) definition of developer as ANYONE involved in the development of a software applications, including programmers, analysts, designers, business stakeholders, database administrators, support engineers, and so on. I understand ANY author wants to sell his/her books as much as possible. But this author is established. He does not have to make us believe that the university registrar needs to read this book merely to be part of the team working on university system mentioned this book. My recommendation is that this book is really written for software developers and students who already have reasonable understanding and certain experience in terms of object-oriented approaches and UML, and they wish to have an overview on how to conduct agile development.
The author provided instructions on how to read this book. I somehow do not total agree with his recommendation. Below is my suggestion following his classification of different groups of readership.
For Programmers, Designers, and Project Managers, the author suggests them to read the entire book. I somehow feel different. If you are a project manager but not that technical, you will feel this book difficult if not impossible. If you are a project manager for a software development project merely since you are PMI certified, you have a lot to learn before you come to this book. If you are a VB programmer and you are not confident on what OO really means, you should read other books.
For Business Analysts and User Representatives, the author said Chapters 4 through 9 is written specifically for you. Well, this is 6 chapters with 144 pages out of a book of 12 chapters with 492 pages. Furthermore, I am not sure why the author believes you need to learn Singleton Design Pattern (12.2.1) and Façade Design Pattern (12.2.2).
For Students, the author asks you to read the book cover to cover. I agree with the author on this, as long as you are the right type of the students who have learned OO and UML and who needs to get the idea how agile approach works and how a project is developed conceptually. If you are still not sure about polymorphism, this book will not help you.
I am an experienced developer and I teach as well at university. I am within the targeted audiences of this book and I do buy many books. I completed this book within days after receiving it since it is quite readable. I am glad I added this book to my collection and I will certainly review it again and again, but perhaps mainly for my teaching duties.
I still give this book a 4-star rating since it gives us a good conceptual model kind of overview on agile model-driven development, with practical advices sometimes. However, he has yet had the time to implement his model (write more substance). He sees the needs of readers and he has made one more incremental deliverable, the 3rd edition. We hope he will get the feedback from us and make another try quickly, one with more implementations. For instance, since this book is an overview, the author should have provided references whenever necessary that lead us to further studies and discussions. The book contains a reference list with more than 100 entries at the end of the book. The problem is that the author expects a developer to figure out what references are relevant when he/she is reading a particular chapter or subject.
The list price of this book is $45; but it sells at $30 with Super Saver Shipping (free shipping) at Amazon.com. As a matter of fact, this book is free for me since I bought it by using the $30 discount I received when I signed up with Amazon Platinum Visa Card.
/* The statement and opinions expresses here are my own and do not necessarily represent those of my employer */