Should we build a custom data modeling application or buy commercial data modeling software? Are there any differences in both approaches? And, if not much, is there any specific care that needs to be taken in the case of buying data modeling products?
Data modeling will be significantly different for COTS (commercial off-the-shelf) applications vs. custom applications. There will be varying degrees of ability to change the data model for a COTS application, ranging from impossible (e.g., proprietary data storage and unpublished data models) to moderately difficult. Some COTS applications enable users to create and implement a logical data model (LDM) without allowing any direct control over the physical data model. Others (SAP, for example) may allow you to create additional tables and columns — but this is done through the application itself. Where it is technically possible to change a physical data model (if, say, the application uses a non-proprietary database for which you have DBA permissions and the data model is published), one should really think twice before attempting to change it due to the risk of invalidating support agreements.
One data modeling skill set that completely transcends COTS or custom applications is conceptual data modeling. A conceptual data model (CDM) is a business-centric model that should be independent of technology or applications. CDMs identify business objects (i.e., entities) and their relationships in order to understand the business from a data perspective and serve as a framework for information systems. One mistake frequently made is not developing a CDM before buying COTS applications, which leaves companies without an understanding of how the software will align with the business and where modifications may be required. When developing a CDM for this purpose, it is important to use names that resonate with business users, as you should have the business side review, understand and approve the model. You also will want to maintain a mapping between business terminology and COTS application terminology. That process, called data rationalization, applies even for custom applications, as the entity names in the CDM may not necessarily translate to an LDM due to abstraction and other reasons.
A common approach to the build vs. buy argument is to buy best-of-breed applications and then integrate on the back end, perhaps in a data warehouse. Besides using the CDM to identify differences between existing business data and COTS software, the data rationalization mappings will be invaluable for determining how to integrate data from the different applications you choose in a best-of-breed approach.
Dig Deeper on Data modeling tools and techniques
Related Q&A from Pete Stiglich
Learn about the roles of data architects when it comes to making data management project decisions. Continue Reading
Find out how semantic modeling is changing data modeling and what the future holds for the use of semantic technologies in data modeling. Continue Reading
Find out why it’s important and how to organize an enterprise conceptual data model development. Learn how a data governance organization can help ... Continue Reading