Software Engineers invest heavily in preventing incidents. Data teams should too
Software engineers invest significantly to prevent bugs being deployed to production environments using techniques and tools such as:
- Unit testing
- Code review
- Blue-green deployments
And many more.
There’s a cost to each of these, and it slows down the delivery of code to production, but the cost is accepted because the resulting quality is higher and the overall costs are lower.
Of course, bugs still get deployed to production, so they still invest in observability, out of hours support, and incident management, and so on.
But it’s known those remediation costs are significantly more than the investment in prevention, and so they continue to invest in prevention.
Data teams generally invest a lot in remediation (particularly observability), but few invest much in prevention.
That’s because many data issues can only be prevented at the source, and often we don’t control the source of data.
But we can prevent data issues from occurring, by changing our approach to data and providing the right tools to data producers so they can prevent data issues at various stages of the data lifecycle.
I’ve seen that done, with data contracts.