The quiet cost of a broken pipeline
Bad data rarely announces itself. It shows up as a number nobody trusts and a decision quietly delayed. A field guide to fixing the plumbing.

Bad data rarely announces itself. There's no error page, no alarm, no dramatic outage. Instead there's a figure in a report that's slightly off, a meeting that ends with "let me double-check that," and a decision that slips a week while someone reconciles two spreadsheets that should agree and don't.
That silence is the expensive part. A pipeline that fails loudly gets fixed. A pipeline that fails quietly gets worked around — and the workarounds are where the real cost lives.
The symptoms you actually notice
You almost never see the broken pipeline. You see its shadow:
- A dashboard nobody quite believes, so every figure gets "verified" by hand.
- Shadow spreadsheets multiplying because the official numbers can't be trusted.
- Analysts spending more time reconciling data than analysing it.
- Decisions delayed with the phrase, "the data doesn't look right."
Each of these is a tax, paid in hours, in slower decisions, and — most corrosively — in eroded trust. Once people stop believing the numbers they stop using them, and the whole investment in analytics quietly depreciates.
You don't have a data problem until someone stops trusting a number. Then you have every problem.
Why pipelines break quietly
The failure modes are mundane, which is exactly why they go unnoticed:
- Schema drift. An upstream team renames a field or changes a unit, and your pipeline keeps running — with wrong numbers.
- Silent partial failures. A job "succeeds" but only loaded half the rows.
- No tests. Nobody checks that yesterday's totals still reconcile today.
- No ownership. The pipeline was built for a project that ended; now it's nobody's job.
Fixing the plumbing
Reliable data isn't a heroic effort. It's a set of habits borrowed from software engineering and pointed at data.
Data contracts
Agree explicitly with upstream teams on what a dataset contains and guarantees. A contract turns a silent breaking change into a caught error.
Tests and checks
Row counts, freshness, uniqueness and reconciliation checks that run automatically. If today's revenue doesn't roughly match yesterday's plus new sales, something should shout.
Observability
You should know a pipeline is broken before your CEO does. Freshness and volume monitoring turns "why is this number wrong?" into an alert you already acted on.
Idempotency and lineage
Pipelines you can safely re-run, and a clear map of where each number comes from. When something does go wrong, you fix it in minutes, not days.
Clear ownership
Every critical dataset has a name attached to it. Plumbing without an owner is plumbing that leaks.
The real deliverable is trust
The goal of data engineering isn't pipelines; it's a number people are willing to bet a decision on. Get the plumbing right and analytics stops being a debate about whether the data is correct and becomes a conversation about what to do next.
Tell us where your numbers stop being trusted — that's usually where the leak is.