This book does what is says: it presents methods and case studies for evaluating software architectures. The authors state that they are writing the book for the evaluators, the person who either needs to evaluate the software architecture or who is leading that activity. To support that goal three methods, along with associated case studies are presented:
* Architecture Tradeoff Analysis Method (ATAM)
* Software Architecture Analysis Method (SAAM)
* Active Reviews for Intermediate Designs (ARID)
The ATAM is the principal tool that is described and this is to a level of detail where the reader can use entire sections of the text as a template approach for their project. The text is clear, readable, has good use of diagrams and explains clearly each of the methods employed. Interspersed within the text is additional anecdotal and relevant commentary regarding their experience in applying the method to their case study. I was particularly impressed with the ideas around a quality attribute utility tree. It takes a statement such as 'reliable, extensible, high performance architecture.' and provides a mechanism to make that tangible. If you want to know more then you will need to look at this book! Just a note to those who would look at this book expecting to see UML inside it - the book does not describe or demonstrate architecture description languages or enterprise architecture frameworks such as Zachman's framework.
The value of this book, apart from discussing the detail of each evaluation technique, is the chance to learn from other people's experience, to take advantage of their knowledge and experience and to avoid the usual pitfalls and traps. For those interested in evaluating software architecture this book will provide a wealth of interesting information and descriptions that will allow the potential evaluator to follow the process, in short recommended.