Architecture Principles: The Cornerstones of Enterprise Architecture Book Review
|My first look at his book was in PDF format. My friend let me borrow his copy. I liked it so much I printed it and put it in a three ring binder. I liked that so much that I wanted something more permanent so I bought the book. The book is pretty pricy for it's size, so you are not paying for quantity, you are paying for quality and it is worth it!!!|
Anyone familiar with Software Architecture understands that quality attributes need to be identified, balanced against one another, and then met through tactics. Principles are a key to unlock the door that has quality attributes hidden away in some dark corner of your enterprise.
As an attribute of principles, your teams will have a better understand of the quality attribute they should be targeting when they are pursuing an architectural principle.
Architecture Principles are described in this book as the cornerstones in Enterprise Architecture and it definitely shows you why this is true.
The lack of Architecture Principles contribute to me hearing things like this-
-- We have an SDLC but we usually do not have time to follow it, so we are more agile. In other words, operating in chaos mode.
-- We have coding standards but they are out of date, so we usually just depend on our individual experience to guide us. In other words, we are still using the big ball of mud anti-pattern to design and code our applications.
-- We built the application now we need to figure out how to test it. In other words, we have no way of know if we met our capacity plan's performance requirements (usually this won't exist either), we can't regression test, and we are paying people to repeatedly do their best to bang away at the application and hope they find the bugs.
-- We have built logging in some places but now we have to figure out how to purge and archive the logs, and get logging into the rest of the application. In other words, we find architecture and design to be unnecessary overhead so we are used to missing things like this.
-- and so on and so on and so on…
This book starts out with a couple chapters that introduce and define enterprise architecture. It then continues with chapters that include A Conceptual Framework for Principles, Architecture Principle Specifications, A Practical Approach, Case Studies, Architecture Principles in Context, and Summary, Conclusions and Future Work.
The book ends with two appendices. One is a Principles Catalogue and the other is Architecture Principles in TOGAF. The Principles Catalogue is a really nice catalogue of 59 basic principles that can be used as a great starting point for getting started with defining your principles.
One of the things I like most about this book is that it defines the essential meaning of enterprise architecture as a normative restriction of design freedom towards projects and programs (or in a positive light- it reduces design stress). In 2005 I started using what I called Restrictive Development as a way to propagated my architectural constraints throughout the analysis, design, and the construction phases of my projects. It was nice to see I was not off base with my line of thought.
One of the things I didn't like about the book is that there is no index. There is a very small (1 page) Glossary and a thorough References section, but no index.
Although this book does not say it, I believe the most important thing this book does is to bring to light that architecture principles should be explicitly defined and implemented. Just like an architecture. It exists whether or not you execute a software architecture business cycle and define it or not. You just don't know what it is and have no way of controlling and improving it. Your enterprise has principles that are guiding your enterprise, but if you do not have them explicitly defined and enforced, you are just flying blind and those invisible principles are doing the driving.
This book is a must read for anyone involved with Enterprise Architecture in any way. Architecture Principles are a very very important topic and they deserve your attention
Architecture Principles: The Cornerstones of Enterprise Architecture (The Enterprise Engineering Series)