Whether you are designing a product with lots of “smarts” (hence software) or a new service offering or an enhanced business process, you will likely face an important decision concerning your Information Architecture. I’ve framed this decision (in the product context) as: “What is the top-level information model for the product, including the classes of objects and their relationships?”
I’m certain that most software engineers and architects don’t immediately think of this as a well-framed decision with criteria and alternatives that can be scored/evaluated and hence optimized. It’s generally seen as a bottom-up modeling task in which they begin to identify classes of objects (families or types of data) as they analyze requirements and define flowcharts. Once they’ve done a first pass through the requirements and have a sense of what the product should do, they sketch up a drawing (e.g. a Class Hierarchy or Entity Relationship Diagram) that is the starting point for the information model. This gets fleshed out with new classes, attributes and relationships as the software design evolves.
However, not all models are created equal. Every model is really just a single alternative; you could structure your data many other ways. An information model can be complete, but not efficient, effective (from a business perspective), flexible/scalable or compatible with standards, existing products/systems or user preferences. Here’s a set of criteria that I’ve used to evaluate and optimize information architectures:
I recommend that you define at least 3 information architecture alternatives for any product. You may build the first one using the typical bottom-up requirements gathering process, but then think of 2 other significantly different ways to partition and structure the information elements. Then score all 3 models (alternatives) against these criteria. If that’s too big a leap to make from your current software development approach, at least run your information model once through the criteria and look for ways that you can tweak the model here and there to improve it.
Manage your top level information model for your product in the Decision Driven® Solutions Framework (DDSF). You can get started by contacting the Decision Driven® Solutions team at firstname.lastname@example.org or email@example.com to start your free trial of DDSF.