Whether you’re developing a utility for internal use or an enterprisewide infrastructure application, the goal of business software development is to further the interests of business. Tony Morgan’s Business Rules and Information Systems (Addison-Wesley) does a great job of fulfilling the promise of the book’s subtitle, Aligning IT with Business Goals.
Business rules define software development
Business rules are the building blocks of automation and, thus, of software. They describe a way to translate a company’s actions and decisions into quantifiable and meaningful rules of engagement.
Determining what makes a quality business rule requires a systematic inspection of the concepts that drive your enterprise. A quality rule lends itself to analysis and symbolic comparison. Such rules are then translated into the requirements that software is built upon.
Not for managers only
I’ve read similar books that were decidedly antideveloper; so I put my Kevlar on to prepare myself. I didn’t need it. I was under the assumption this book was for technical managers, but it’s for everyone in IT.
The book offers enough real-world case studies, illustrative diagrams, charts, and supporting information to hold the interest of anyone in software development. It even goes so far as to include code snippets that illustrate the finer points of business rule translation, selection, and implementation. The content is nowhere near as squishy or boring as the title makes it sound.
What can you learn from this book?
The author’s mingling of various development methodologies put me off a bit at first. Morgan is obviously a fan of the Zachman Framework, but he pulls from several other sources at the same time. Once I got past my initial resistance, I realized that Morgan’s intention was to facilitate his true subject—getting to the heart of your software’s purpose.
Morgan depends on widely used principles like UML to explain the function of business rules and how to identify, define, and implement them in technically relevant detail. A large portion of the book focuses on software architecture and how to ensure business rules are represented.
For architects and developers, the initial chapters cover the basics of business object abstraction and methodology definitions. For managers, the appendix includes a refresher on information logic.
The book claims to provide “a new approach to business systems,” but in my opinion, it’s closer to a new and clearer organization of conventional but proven processes, with a few enhancements thrown in. Despite the familiarity of the concepts, it’s a fresh perspective on some principles I thought were old hat.
Even if you’ve been designing software since the epoch, the clarity of explanation and constant focus on the subject guarantees you’ll learn something new. I can’t emphasize enough how well the author’s tone, experience, and innovation come together in this presentation.
A book your whole team can use
Maybe I’m more of a geek than I like to admit, but I sincerely enjoyed reading this book, and I learned a lot about principles I’ve worked with before. It’s one of those “everyone on your team should read it” works that turns arcane knowledge into a clear, direct, commonsense methodology. I’m always happy when I find a source that forces me to see the hidden nuances of any particular topic, and this book definitely does the trick.