← Back to Insights

15 May 2026

Common Data Platform Mistakes (And How to Avoid Them)

Over the past decade we have worked with enterprises at every stage of data platform maturity — from organisations running everything on legacy on-premise warehouses to those deep into multi-cloud lakehouse architectures. Across all of them, we see the same patterns of failure repeated. These mistakes are not unique to any industry or team size. They are structural, and they are avoidable.

What follows are the eight most damaging data platform mistakes we encounter, along with practical guidance on how to avoid them. If you recognise your organisation in several of these, you are not alone — but you should act before technical debt compounds further.

1. Lift-and-shift migrations

This is the most expensive mistake on the list because it feels like progress while delivering very little value. The pattern: an organisation decides to move from an on-premise data warehouse (Teradata, Oracle, Netezza) to a cloud platform (Snowflake, Databricks, Redshift). Instead of rethinking their architecture for cloud-native patterns, they replicate the existing structure exactly — same schemas, same stored procedures, same ETL patterns.

The result is a cloud-hosted legacy system. You pay cloud pricing for workloads designed for fixed-capacity hardware. You inherit all the technical debt of the old system. You miss the opportunity to adopt modern patterns like ELT, event-driven processing, or data products.

How to avoid it: Treat migration as modernisation, not replication. For each workload being migrated, ask: what would we build if we were starting fresh today? Migrate data, not architecture. Accept that some legacy patterns (heavily procedural ETL, complex stored procedure chains) should be redesigned rather than ported. Budget time and effort for this — a successful migration takes longer upfront but delivers dramatically more value.

2. Over-engineering the architecture

The opposite extreme: building for complexity that does not exist yet. We see organisations implement full data mesh with domain teams, event-driven architectures with Kafka, real-time streaming layers, and polyglot persistence — when their actual requirement is to serve 50 dashboards from a relatively stable set of source systems.

Over-engineering creates maintenance burden, slows development, confuses teams, and increases costs. Every architectural component you add is a component you must operate, monitor, and staff.

How to avoid it: Design for your current scale plus 12 months of foreseeable growth. Not five years from now. Not the scale you hope to reach. Choose the simplest architecture that meets your current requirements and can evolve incrementally. A well-designed Snowflake environment with dbt is sufficient for the majority of enterprise analytics use cases. You can add complexity when you actually need it.

3. Ignoring data governance until it is too late

Governance is consistently deprioritised in favour of delivery speed. Teams build pipelines, ingest data, serve dashboards — and governance is planned for “phase two” which never arrives. Eighteen months later, nobody knows what data means, who owns it, whether it is correct, or who has access to sensitive fields.

The cost compounds over time. Without governance, every new pipeline creates more confusion. Teams build conflicting definitions of the same metric. Regulatory compliance becomes impossible to demonstrate. AI initiatives fail because models train on ungoverned, inconsistent data.

How to avoid it: Integrate governance from day one — not as a separate workstream, but as part of how you build. Every data product should have a defined owner, a quality SLA, documented semantics, and appropriate access controls. This does not require a massive governance programme. Start with critical data assets and expand. Our data governance for AI readiness article covers this in depth.

4. No cost controls or financial governance

Cloud data platforms have consumption-based pricing. Without controls, costs grow linearly (or worse) with usage. We have seen organisations go from £50k/month to £200k/month in a single quarter without anyone noticing until the invoice arrives.

Common symptoms: no resource monitors, no warehouse auto-suspend, no query cost alerting, no chargeback model, and no regular cost reviews. Teams run expensive queries because there is no feedback loop between consumption and cost.

How to avoid it: Implement cost governance from the start. Set resource monitors and alerts. Implement auto-suspend on all warehouses. Create a chargeback or showback model so teams understand their consumption. Review costs monthly. Set budgets per team or project. The cloud platforms provide the tools — most organisations simply do not use them. See our Snowflake cost optimisation strategies for specific techniques.

5. Building for scale you do not need

Related to over-engineering, but specifically about data volume assumptions. Teams choose architectures designed for petabyte-scale processing when their actual data volume is tens of gigabytes. They implement complex partitioning strategies, distributed processing frameworks, and multi-cluster configurations that add operational complexity without benefit.

A 50GB dataset does not need Spark. It does not need a multi-node cluster. It probably runs faster on a single well-configured Snowflake warehouse or even a PostgreSQL instance than on a distributed system with coordination overhead.

How to avoid it: Understand your actual data volumes and growth trajectory. Design for the 90th percentile of your realistic growth scenario, not the theoretical maximum. Start simple and scale when metrics demand it, not when it feels architecturally satisfying.

6. Choosing tools before understanding requirements

Technology-first decisions are pervasive: “We are going to use Kafka” (before understanding latency requirements). “We are implementing a data mesh” (before understanding organisational structure). “We are moving to Databricks” (before cataloguing workloads).

Tool selection should be the last step in platform design, not the first. When you choose tools first, you constrain your architecture to what the tool supports rather than what your business needs.

How to avoid it: Start with requirements. What workloads do you need to support? What are your latency, throughput, and concurrency requirements? What does your team know? What is your budget? Then evaluate tools against those requirements. If you find yourself bending requirements to fit a tool, you have chosen the wrong tool.

7. No observability or monitoring

Data pipelines without observability are pipelines you cannot trust. We see organisations with hundreds of pipelines running daily, but no mechanism to detect when a pipeline silently fails, produces incorrect results, or delivers data late. Stakeholders discover data issues when dashboards show wrong numbers — days or weeks after the problem began.

Observability means more than “did the job complete?” It means monitoring data freshness, volume anomalies, schema changes, quality metrics, and pipeline performance. Without this, you are flying blind.

How to avoid it: Implement observability as a first-class concern. At minimum, every pipeline should have: alerting on failure, data freshness monitoring, row count anomaly detection, and schema change detection. Tools like Monte Carlo, Elementary, or custom dbt tests can provide this. The investment is modest compared to the cost of undetected data quality issues reaching business decisions.

8. Treating data as a project, not a product

The final and perhaps most fundamental mistake: treating data engineering as a series of projects rather than an ongoing product discipline. Projects have end dates. Products have roadmaps, SLAs, and continuous improvement.

When data is treated as a project, you get: pipelines built and handed off with no ongoing ownership, no investment in quality after initial delivery, no evolution as requirements change, and gradual degradation as source systems evolve without corresponding pipeline updates.

How to avoid it: Adopt a data product mindset. Every significant dataset should have a product owner, defined consumers, quality SLAs, documentation, and a roadmap. Teams should be funded to operate and improve data products continuously, not just build them. This is the foundation of both data mesh and modern data platform thinking, and it works regardless of which specific architecture pattern you adopt.

Identifying your gaps

Most organisations we work with exhibit three to five of these anti-patterns simultaneously. The compounding effect is what makes data platforms feel fragile, expensive, and untrustworthy.

The good news: each of these is fixable without a full platform rebuild. Targeted interventions — governance frameworks, cost controls, observability layers, and architectural simplification — can deliver significant improvement within weeks. Our free data platform diagnostic can help you identify which issues are most urgent in your specific context.

If you are planning a new platform build or facing challenges with an existing one, we can help you navigate these decisions. We bring experience across AWS, Snowflake, and Databricks environments, with a focus on pragmatic solutions over theoretical purity.

Recognise your organisation in this list?

We can help you identify the highest-impact improvements and build a practical roadmap to fix them.

Book a Discovery Call

Ready to fix your data foundations?

No sales pitch. Just a technical conversation about your data systems.