We’ve come to understand the importance of models, whether these are data, process, business or capabilities models. One of the most important models is a data model. Dr. Robin Bloor, who resides here in Texas and is the chief analyst and founder of the Bloor Group, says “the more complex the data universe becomes, the more you need to model it.” If your organization has different departments working with differing aspects of the same set of data, for example when multiple organizations are using the same data from a CRM or ERP system, then a data model can be very valuable and ultimately improve decision making.
Data models provide and communicate the definition and format for your core data. They enable us to organize variables of information in a way that helps us relate the variables to each other and reflect occurrences or applications in the real world. They facilitate and support the idea of a single source of truth.
These models are composed of entities – something found in the real world, such as a purchase order or service agreement. The connections between entities in a data model are called relationships. These relationships reflect business rules, or the rules you use to operate your business, such as “a salesperson can have more than one strategic account.”
Data models should in some way describe your business. They help answer questions such as:
- What is the definition of a customer? Of a prospect? A deal? Something more mundane, such as address, etc.?
- Where is the data stored?
- How is the data structured?
- Who owns the data?
- Who uses the data?
What You Need to Create Your Data Model
Bill Kent in his book, Data and Reality: A Timeless Perspective on Perceiving and Managing Information in Our Imprecise World, compares data models to road maps. However, he emphasized the differences between the real world and the world of symbols when he wrote, “Highways are not painted red, rivers don’t have county lines running down the middle, and you can’t see contour lines on a mountain.” The use of data models is the process of understanding what the data means and how the data elements relate together.
With this information, you can begin to understand what creating a data model entails: acquire the business requirements and purpose of the model; identify/create the entities, their definitions, and attributes; determine the relationship between the entities; develop your naming conventions, normalize the data; and validate the model.
As you can imagine, updating data models can be difficult and time consuming. There is also an underlying assumption that the database schema will be defined early in the model development and then left alone. In a world where the concept of agile reigns supreme, that is being nimble enough to respond quickly to changes that may happen to your customers or in your market, having data models can appear to be incongruent. However, agile has important implications to data models.
How to Apply an Agile Approach
Rather than creating “perfect” models, applying an agile method to data models permits us to take an iterative approach, create models that are good enough, and focus on what’s most important to business success.
Adopting an agile approach to data modeling enables you to keep your models fresh, incorporate new information as it emerges, manage organizational changes that result from mergers and acquisitions and new technologies, and facilitate more collaboration between data scientists, analytics, and members within the various business functions.
Developing or maintaining a competitive advantage and making better decisions takes accurate data. Therefore, it’s an easy step to see that being able to model the data supports and improves decision-making. Michael Blaha and Bill Inmon in their 2007 article, “Data Modeling Made Simple,” Technics Publications, LLC, declared that the benefits of data models are to facilitate communication and precision. While these benefits remain consistent, Keith Muller reminds us that the goal of modeling always changes.
Models, all models, decay over time. Customer, market and business requirements change over time, and as a result your data sources and business priorities evolve. Therefore, develop a method to document where each model is in its life cycle, how old it is, who developed it, how it is used and who is using it, and what triggers when a model needs to be evaluated and retired or revised. This will help ensure that none of your models go stagnate. However, sometimes it takes someone outside of the organization to look at your data models with fresh eyes and determine which are out of date.