Click to learn more about author Michael Blaha.
It’s important to have data models guide the development of individual applications and ensure that they meet business objectives. But it’s not sufficient. Other kinds of data models, such as enterprise data models, are also part of proper Data Governance.
What Is an Enterprise Data Model?
An Enterprise Data Model (EDM) describes the essence of an entire organization or some major aspect of an organization. An EDM abstracts multiple applications, combining and reconciling their content. An EDM expresses the commonality among applications.
An enterprise model should not include everything in application models, or it will become too large. Instead, it should include only concepts (entity types, relationship types, and attributes) that appear in multiple applications, plus possibly a few other key concepts. An EDM should avoid duplication and be sure to reconcile overlapping concepts. This reconciliation is often difficult, because applications can express concepts differently. An EDM can also consider data that may arise in the future but is not yet reflected in the existing systems.
By intent the EDM is incomplete. The focus is on high-level concepts that pervade applications throughout an organization. The EDM is definitional and is not intended for building a database or an application. Rather the EDM serves as a touch point for aligning applications.
Some aspects of the EDM are quite abstract as the goal is to rise above the details of individual applications and provide flexibility. New applications should incorporate ideas from the EDM but need not be as abstract.
Building an EDM
Many managers fear that Enterprise Data Modeling will get out of hand and become wasteful. This is a genuine concern but there are actions that can mitigate the risk. First, constrain resources for enterprise modeling —for a large organization, about one person-equivalent per year from three part-time modelers should suffice. Second, involve enterprise modelers with application projects to ground them with reality. Finally, periodically review the evolving enterprise model to ensure its usefulness.
Many organizations have trouble building enterprise models. I have seen enterprise models that lack abstraction and are ill conceived. Others are of high quality, but too large in scope. Enterprise modeling requires developers who are highly skilled in data modeling.
Enterprise Data Modeling is a Special Skill
I recently came across the following posting on LinkedIn that illustrates the misunderstanding that some organizations have with enterprise modeling.
“Looks like I will not become the new Chief Enterprise Architect of a growing public company in Silicon Valley. I passed all the hurdles but the CIO decided at the last minute to test my software development skills. I never hid the fact that I stopped writing code in 2005. But suddenly, an additional round of interviews appears at the end of the process to test me on C# and CSS.”
This commentary is sad. It’s difficult to find persons with the confidence to address the scale of an organization. In contrast, programmers are relatively easy to find. Thus, it’s ridiculous to conflate the two. It might be nice if a chief architect can program, but it should hardly be a requirement for the position. Enterprise Data Modeling is the kind of task suitable for a chief architect.
Benefits of an Enterprise Data Model
There are many benefits that an EDM can provide. An EDM can…
- Standardize concepts across applications.
- Standardize definitions across applications.
- Add to organizational memory.
- Drive applications towards greater uniformity.
- Seed data models for new applications.
- Reach beyond the current data to the anticipated future data.
- Provide a grand data model as a basis for application integration and data exchange.
- Support data warehouse efforts.
- Enable better IT purchase decisions and suggest how to interface vendor products more effectively.
Briefly stated, an EDM provides vision and guidance for fitting together individual application efforts.
Please do pay attention to application data models. But it is also important to consider other aspects of Data Modeling. An enterprise data model can help you coordinate individual applications and provides part of the strategy that a business needs to manage its application portfolio.