Columns

Book Review: A Practical Guide to Enterprise Architecture

Most enterprise-level project failures are not the result of choosing the wrong language, not having the right development tools or even having lousy programmers on the development team. The problem is that the architecture is not adequate to support the applications.

According to the authors of  A Practical Guide to Enterprise Architecture, architecture and design are two separate endeavors, and marrying them often leads to failure.

An enterprise architecture must not only take into account the hardware and software used to implement a computer system, but the enterprise's business goals and business processes. Designers will jump right in and begin working on a problem, be it an accounts payable system or a customer relationship management system. Architects, on the other hand, will take a step back and first ask questions such as, 'How do we build this system so that it helps us reach our business goals'?

With that in mind, the authors proceed to lay out their philosophy of enterprise architecture, which adopts many of the ideas put forth by the Agile Alliance in its now famous 'Manifesto for Agile Software Development.'

In fact, the authors call their approach to enterprise architecture Agile Architecture and list a set of principles for it. These include 'Working software is the primary measure of progress' and 'Businesspeople and developers must work together daily throughout the project.' The second principle, 'Welcome changing requirements ... Agile processes harness change for the customer's competitive advantage,' reflects the agile approach to ever-changing requirements.

One thing I like about this book is the way it talks about current topics in software development and how they relate to enterprise architecture. The chapter on software development methodologies, for example, examines five different methodologies: extreme programming, SEI/CMM, the Zachman framework, model-driven architecture and the Rational Unified Process (RUP). For each of the methodologies, the book not only describes the methodology, but also evaluates its pluses and minuses with respect to enterprise architecture.

If you're concerned at all with enterprise architecture, you should consider buying this book. Even if you aren't an enterprise-level architect, and don't aspire to be one, 'A Practical Guide to Enterprise Architecture' will help you to understand the issues involved. With luck, that will lead to better architectures and better software.

A Practical Guide to Enterprise Architecture by James McGovern, Scott W. Ambler, Michael E. Stevens, James Linn, Vikas Sharan and Elias K. Jo. Prentice Hall PTR, Indianapolis, Ind., 2004.

About the Author

Dan Romanchik is an engineering manager turned writer and Web developer. His current passion is amateur radio. You can read his amateur radio blog at www.blurty.com/~kb6nu.