Most warehouses do not fail at launch. They fail eighteen months later, when nobody remembers why a column exists. Here is how we design for that.
A data warehouse is rarely judged on launch day. It is judged in year two, when the original team has moved on, the source systems have changed twice, and someone asks why two dashboards disagree.
Model for the question, not the source
Source-shaped tables are fast to build and expensive to keep. Model your facts and dimensions around the business questions you actually answer, and let the staging layer absorb source churn.
Make lineage visible
Every table should be traceable to its source and its owner. When lineage is documented in code — not in a spreadsheet — it stays true.
Test like it is production software
Uniqueness, referential integrity and freshness tests catch the failures that silently poison reports. Run them on every build, and alert on the ones that matter.
Budget for the boring work
Deprecating unused tables, tightening warehouse sizing and cleaning up orphaned objects are the tasks that keep cost and confusion down. Schedule them.