My colleague and friend Todd Biske recently authored SOA Governance - The Key to Successful SOA Adoption in Your Organization, which was published earlier in October by Packt Publishing. I offer a review of this work with the disclaimer that not only is Todd a friend, I was given a review copy of his book gratis by his publisher. I also recommend Todd's blog highly for his views and tips on SOA, governance, and architecture in general.
While the book provides some technical details regarding SOA implementation, it focuses more on SOA adoption from a business and techno-functional perspective - that is, how enterprise architects, project managers, IT management, and business analysts would comprehend and address SOA as opposed to developers. In explaining SOA and governance concepts, Todd chose to use the "business fable," or "story" style where real-world scenarios and dialog are added within chapters to make his points. This style is similar to that used by Patrick Lencioni in his works ("The Five Dysfunctions of a Team: A Leadership Fable") and Timothy Johnson (" Race Through the Forest: A Project Management Fable "). This style of writing, while rarely seen discussing technical/tactical topics such as SOA, is highly effective if used properly, and Todd's stories superbly reinforces the material at numerous points.
The book is comprised of the following topics:
- The definition and concepts of governance (with extensions to IT governance), SOA, and linkage to project management and the business
- Avoiding "Just A Bunch of Services" (JBOS) - Enterprise SOA Governance
- Service Versioning
- Business Analysis Governance
- Design-time and Run-time SOA Governance
- Roadmap to establishing and running SOA governance in organizations
A key strength in this book are the many links of proper governance and SOA concepts to the everyday problems and issues faced by IT architects/managers, project managers, and business analysts. In particular, Todd deftly develops and explains the tensions that normally exist between architects (taking a holistic view of IT infrastructure and SOA) and project managers who are under time, cost, and risk constraints to get their projects in production as they were originally planned. Most SOA texts I read come from a purely technical and technology-based perspective, and don't discuss the impacts on the people using, building, or guiding SOA. Thus, Todd's take on these issues is a very welcome addition to the literature.
As with most books that I read, I do have a couple of quibbles. The main one is the book pays little to no attention to data architecture and governance, which are key components of most SOA implementations since its data that's getting moved around almost all services implementations. Some discussion about this linkage would have been beneficial. Another issue that is not addressed, but probably should be, is the role that vendors play in these processes, because in most large organizations, they are a significant factor in most phases of inception, development, and operations. Finally, while the figures and diagrams in the text are numerous and very helpful, it would help the text greatly if they were labeled/tagged as opposed to simply inserted into the text.
This book is a must-have for all IT managers, architects, PMs and business analysts dealing with SOA issues, be they implementation, governance, or both. I also highly recommend this book for those who are starting or facing IT governance issues in general, even if they aren't contemplating or building-out an SOA at present - the governance principles, techniques, and advice Todd gives apply to much more than SOA.