Skip to main content

Data contracts for change management

·2 mins

While a lot of people associate data contracts with data quality (and I did call my book Driving Data Quality with Data Contracts!), one of the problems data contracts is great at helping to solve for is change management.

Many of the problems downstream are caused by changes being made upstream, including:

  • Changing the data types
  • Removing/renaming a column
  • Moving datasets to new databases/locations

And so on.

Often these changes happen with no notice, causing issues and failures downstream.

Worse, they are typically difficult to revert, so the ‘fix’ is to quickly migrate to the new schema/dataset or work around the change by adding yet more logic to your data pipelines.

Data contracts can help enforce change management for your upstream data. For example, they can be used to prevent breaking changes on existing data, forcing a new version to be created.

That then sends a message to the data producer that a migration is needed for this change, encouraging them to reach out to those who will be affected.

Also, by adding this friction, you’re incentivising data producers to spend more time considering the development of their datasets, so they can avoid the migration work in the first place.

I usually recommended starting with change management when implementing data contracts. That immediately adds value and prevents a large number of issues.

Once you’ve solved for that you can easily extend your data contracts implementation to catch any other data quality issues you’re facing in your organisation.