I can find a lot of information in favor of using the Canonical Model, but I want to know about some of its disadvantages or weaknesses, and possibly gain some knowledge on the various approaches of creating such models.
Disadvantages
- May sometimes require more customization effort, than building a model from scratch
- May create difference of opinion arguments and potential road blocks from your own experienced data modelers
- May reduce competitive advantage of business intelligence and analytics (since competitors may be using the same model)
- Goes against “agile” BI principles that call for small, quick, tangible deliverables
- Goes against top down performance management design and modeling best practices, where one does not start with a logical data model but rather:
- Defines departmental, line of business strategies
- Links goals and objectives needed to fulfill these strategies
- Defines metrics needed to measure the progress against goals and objectives
- Defines strategic, tactical and operational decisions that need to be made based on metrics
- Then, and only then defines logical model needed to support the metrics and decisions
A practical approach for creating a model:
- Start with creating reference tables (standard domain definitions valuta, countries, marital status, cities etc.)
- If there are more that 2 consumers then standardize the common concepts (customer, address)
- If available use or refer to public standards (ISO, ontologies e.g. Dublin Core)
Explicitly assign ownership for the model.