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.
This was first published in January 2010