Data mesh is a socio-technical approach to analytical data. It moves ownership from a central data team to the business domains that know the data best, treats each shared data set as a product, provides a self-serve platform so that domains can build and run products without specialist infrastructure skills, and governs the whole through federated policies that the platform enforces automatically. Introduced by Zhamak Dehghani, it responds to a recurring failure pattern: central teams that become bottlenecks, lose domain context and leave quality unowned.
This paper explains the four principles and why they work only as a set, shows how to decompose an enterprise into domains and design data products, and describes the platform planes, team structures and federated computational governance that make domain ownership affordable and coherent. It closes with the organizational change involved, where mesh fits and where it does not, common failure modes, measures of success, a readiness checklist and the first steps toward a pilot.
Written for Chief data officers, enterprise and data architects, heads of data platforms and engineering, and business leaders deciding whether to federate ownership of analytical data.
Executive summary
Most large organizations have tried to solve the analytical data problem by centralizing it: first in an enterprise warehouse, then in a data lake, then in a cloud platform, each run by one specialist team. Each time the result is the same. The central team sits between the people who understand the data and the people who need it, its backlog grows faster than its headcount, and the quality of data that has left its source system becomes nobody's responsibility. Data mesh reverses the arrangement: the domains that create analytical data own it and serve it as products, a platform team makes that ownership affordable, and a federation of domain and platform representatives sets the few rules that every product must follow.
This paper argues that data mesh is an operating model first and an architecture second. Platforms that already work, such as warehouses and lakehouses, usually remain in place; what changes is who owns the data, how it is published and how it is governed.
- The four principles (domain ownership, data as a product, the self-serve data platform and federated computational governance) form a system, and partial adoption tends to reproduce the problems mesh was meant to solve.
- Domain boundaries follow business capabilities and bounded contexts, and three product archetypes (source-aligned, aggregate and consumer-aligned) make ownership explicit.
- A data product is a deployable unit of code, data and metadata, and infrastructure that carries obligations to its consumers, from discoverability to security.
- The platform is organized in three planes, and the division of labor among platform, domain and enabling teams maps onto the team types and interaction modes of Team Topologies.
- Federated governance keeps the global policy set small and turns it into policy as code that the platform checks continuously.
- Mesh fits organizations with many capable domains and a high rate of change; it fails when it is bought as a product, launched across too many domains at once or adopted only on paper.
The later sections set out the organizational change behind the architecture, a five-phase sequence from alignment to steady operation, a hierarchy of measures from time to data up to business value, a readiness checklist and four first steps.
The problem data mesh set out to solve
Zhamak Dehghani introduced data mesh as a response to a pattern she observed in large organizations: successive generations of centralized analytical platforms, from the enterprise data warehouse to the data lake and its cloud-based successors, each of which concentrated ownership of analytical data in one team. She elaborated the idea in a later article on its principles and logical architecture, and then in a book. Each generation improved the technology, but none changed the shape of the organization around it, and the same three symptoms kept returning.
A central data team sits between everyone who understands the data and everyone who needs it, and the queue grows faster than the team.
One backlog
Every new source, change and request passes through a single queue whose capacity scales with headcount, not with demand.
Lost meaning
Engineers far from the business translate domain concepts into pipelines and tables, and meaning erodes on the way.
Unowned quality
Once data leaves its source system, nobody is accountable for its quality, freshness or fitness for use.
Adding people to the central team relieves the queue for a while, but demand for analytical data grows with every new product, channel and model, and no central team can grow as fast. Meanwhile its engineers model data whose business meaning they do not hold, and quality problems surface downstream, in reports and models, far from anyone who could fix them at the source.
Mesh draws on ideas that had already reshaped software delivery: domain-driven design and its bounded contexts, product thinking, platform thinking and autonomous teams. Its scope is analytical data, the data used for reporting, analytics and machine learning. Operational data remains inside the applications and services that create it; mesh keeps the two concerns separate while placing both under the same domain ownership.
Four principles that work as a system
Data mesh rests on four principles. Dehghani's book names them domain ownership, data as a product, the self-serve data platform and federated computational governance; her earlier article used longer forms for two of them, "domain-oriented decentralized data ownership and architecture" and "self-serve data infrastructure as a platform". The names matter less than the relationship among them. The principles are usually listed separately, but they work as one operating model.
Four principles, one operating model
Domain ownership
Business domains own the analytical data they produce, end to end: modeling, quality, availability and change. Ownership follows the people who hold the business context, not the team that happens to run the platform.
Data as a product
Each shared data set is managed as a product with named consumers, a product owner, documentation, service-level objectives (SLOs) and a lifecycle. Success is measured by consumer adoption and satisfaction, not by pipelines delivered.
Self-serve data platform
A platform team provides the infrastructure, templates and tooling that let a domain team build, publish and operate a product without specialist infrastructure skills, so that autonomy does not multiply cost.
Federated computational governance
Domain and platform representatives agree a small set of global policies on interoperability, security, privacy and quality, and the platform enforces them automatically so that autonomous products still form a coherent whole.
Domain ownership mirrors the way domain-driven design assigns operational systems to bounded contexts, but on its own it would create silos. Data as a product counters that by obliging each domain to serve consumers, yet product ownership would be prohibitively expensive if every domain built its own infrastructure. The self-serve platform removes that cost by hiding storage, compute, pipelines, catalog registration and policy enforcement behind templates, but autonomy without shared rules produces products that cannot be joined, secured or trusted together. Federated computational governance closes the loop with a small number of global standards whose enforcement is automated.
Each principle therefore corrects a side effect of the one before it, which is why partial adoption tends to reproduce the problems it was meant to solve.
What breaks when one principle is missing
Reading the principles in the negative is often the quickest way to recognize a partial implementation. The table below shows what typically happens when one of the four is left out.
| Principle missing | What happens instead | How it shows up |
|---|---|---|
| Domain ownership | The central team still builds everything, now with new tools | The backlog persists; products are renamed pipelines |
| Data as a product | Domains publish raw extracts without consumers in mind | Undocumented data sets, duplicated across domains |
| Self-serve platform | Every domain rebuilds infrastructure and controls | Rising cost, inconsistent security, slow delivery |
| Federated governance | Products use local identifiers, formats and policies | Data cannot be joined, trusted or audited together |
The first row is the most common in practice: organizations adopt product vocabulary and new tooling but keep the central team, so requests still queue and the people building pipelines still lack the business context. The other rows surface later. Without a product standard, the same customer data appears in several incompatible forms; without a platform, each domain hires infrastructure engineers and solves the same security problems with different gaps; without federated governance, classifications diverge and an auditor cannot trace a figure across domains. The lesson is to plan all four from the start, even if each begins small.
Domains and data products
Domains and data products are the units in which a mesh is built and owned. The domain boundaries determine who is accountable for what; the product design determines whether consumers can find, trust and use what the domains publish.
Finding domain boundaries
Domain boundaries are the most consequential design decision in a mesh and the hardest to reverse. A five-step method keeps them anchored to the business rather than to the organization chart or the system inventory.
Map capabilities
Start from the capability map; capabilities outlast teams and systems.
Find bounded contexts
Where a core term changes meaning, a boundary exists.
Trace data origin
Assign each data set to the context that creates it.
Name the owner
A domain leader agrees to fund and staff product ownership.
Validate with consumers
Walk key use cases; many hand-offs signal a wrong boundary.
The reliable starting point is the business capability map, because capabilities such as pricing, claims handling or order fulfillment are more stable than organizational units or applications. Within a capability, the bounded context from domain-driven design helps locate the seam: where the meaning of a core term changes, for example where sales and finance mean different things by a customer, two contexts exist and each should own its own representation. Data is then assigned to the context that creates it in the ordinary course of business, which is usually, but not always, the system of record.
Two checks complete the work. A named domain leader must be willing to fund product ownership, because a boundary without an accountable owner is only a diagram. And the main analytical journeys should cross as few boundaries as possible: many hand-offs or ambiguous ownership signal that a boundary is wrong. Boundaries that fail either check should be merged or redrawn before any product is built.
Three archetypes of data products
Most meshes contain three kinds of data product, following the categorization of domain data that Dehghani's book uses, and keeping them distinct clarifies ownership.
Source-aligned
Represents the facts of a domain as they are created, modeled for analytical use: immutable, time-variant and documented. Owned by the producing domain; examples include orders placed, policies issued and shipments dispatched.
Aggregate
Combines several source-aligned products into a shared view that many consumers need, such as a unified customer or a product hierarchy. Needs a clear owner, usually a domain that already carries that responsibility.
Consumer-aligned
Shaped for a specific use, such as a regulatory report, a machine learning feature set or a dashboard semantic model. Owned by the consuming domain, built on upstream products and retired when the use ends.
Source-aligned products are the foundation, retained over time and changed only when the business changes. Aggregates are the most frequently orphaned products, so one should be built only when a domain accepts ownership and funding for it; this is also where master data management practice connects to the mesh. Consumer-aligned products should draw on upstream products rather than raw sources, so that lineage and accountability remain intact.
Decomposition anti-patterns
Decomposition goes wrong in predictable ways, and each mistake is cheaper to avoid than to unwind.
- Domains copied from the organization chart. Boundaries move with every reorganization, and ownership follows reporting lines rather than knowledge.
- Domains copied from the application inventory. Each system becomes a domain, so the integration problem that mesh was meant to dissolve simply moves upstream, and shared concepts such as customer have no home.
- A single enterprise domain for shared concepts. Everything cross-cutting lands there, which quietly recreates the central team under a new name.
- Dozens of micro-domains in the first wave. Coordination cost overwhelms the platform and the federation before either has matured.
- Aggregate products with no owner. Valuable shared views decay, because maintaining them benefits other domains more than the one that built them.
What makes a data set a data product
A data product is distinguished from a data set by the obligations it carries toward its consumers. Dehghani's book describes eight baseline usability attributes. Her original article listed six, including self-describing semantics and syntax, which broadly corresponds to the book's understandable attribute. Each attribute implies concrete work.
Data product
What it owes its consumers
Discoverable
Registered in the catalog with a named owner
Addressable
A stable, unique address consumers can rely on
Understandable
Schema, semantics and lineage travel with the data
Trustworthy and truthful
Published service levels and actual results
Natively accessible
Served as tables, files, streams or APIs
Interoperable and composable
Global identifiers, formats and conventions
Valuable on its own
Useful without further assembly
Secure
Access policy enforced at the product
Most of these attributes become platform and catalog features. Discoverability and addressability depend on catalog registration with a stable address and a named owner, so that a consumer can find a product and refer to it unambiguously. Understandability depends on schema, semantics and lineage that travel with the data rather than living in a wiki, and trustworthiness on service-level objectives for freshness, completeness and availability published alongside actual results. Interoperability rests on the global identifiers and conventions the federation sets, and security on access policy enforced at the product, consistently for every consumer. Native accessibility and standalone value are product design choices: serve the forms consumers actually use, and make each product useful without further assembly.
Anatomy of a data product and who owns each part
Thinking of a data product as a deployable unit, rather than as a table, changes how it is built and owned. Dehghani's earlier article calls this unit an architectural quantum: the smallest part of the architecture that can be deployed independently and still has high functional cohesion. It bundles four layers.
Output ports
Interfaces consumers bind to, versioned and bound by a contract
- Tables
- Files
- Streams
- APIs
Data and metadata
The data plus everything needed to use it responsibly
- Schema
- Semantics
- Lineage
- Quality results
- SLOs
- Access policy
Code
Ingestion, transformation, quality checks and policy enforcement, versioned and tested
Infrastructure
Storage, compute, orchestration and identity, declared and provisioned from the platform
Two kinds of port frame the unit: output ports are the versioned, contract-bound interfaces consumers bind to, and input ports connect the product to upstream products or sources. Code is versioned and tested like any other software, and infrastructure is declared rather than built, so the whole unit can be deployed, changed and retired as one.
Ownership follows the same structure. The domain team owns everything above the infrastructure layer, the platform team owns the infrastructure and the shared tooling, and consumers are named, counted and consulted rather than assumed, because their adoption is the measure of whether the product succeeds.
| Role | Accountable for | Sits in |
|---|---|---|
| Data product owner | Value to consumers, service levels, roadmap and retirement | The owning domain |
| Data product developers | Building and operating the code, data and ports | The domain team |
| Platform product owner | The infrastructure layer and shared tooling | The platform team |
| Consumers | Stating needs and giving feedback; their adoption is the success measure | Any domain |
Platform and governance
Domain ownership is affordable only if domains do not each build their own infrastructure, and coherent only if their products follow shared rules. The self-serve platform provides the first condition and federated computational governance the second.
Three planes of the self-serve data platform
The self-serve platform is best described in three planes, following the logical architecture Dehghani proposed.
Mesh experience plane
Discovery, lineage, policy conformance and health across all products: the supervision view
Data product experience plane
Templates to declare, build, test, publish, version and retire a product, with policies built in
Data infrastructure utility plane
Storage, compute, pipelines, streaming, identity and networking as provisioned services
In most enterprises the data infrastructure utility plane is an existing lakehouse or cloud warehouse, extended with identity, encryption and networking services, rather than something new. The data product experience plane is where domain teams spend almost all their time, using declarative templates to create a product, define its ports and contracts, run quality checks, publish, version and eventually retire it, with global policies built in as defaults. The mesh experience plane serves consumers and the federation: discovery across all products, end-to-end lineage, conformance dashboards and health.
The design test for every plane is that a domain team can use it without raising a ticket. Where tickets remain, the platform has not yet reached self-service: each ticket to the platform team is a design failure to be removed, not a service to be staffed.
Who builds what: platform, domain and enabling teams
A mesh needs three kinds of team, each with a distinct job. The figure below summarizes what each one builds or provides.
Platform team builds
- Provisioning templates for storage, compute and pipelines
- Catalog registration, lineage capture and SLO monitoring
- Policy enforcement points for access, classification and retention
- Paved roads: tested patterns for common product types
- Its own roadmap, driven by domain developer feedback
Domain teams build
- Domain models, transformations and quality rules
- Output ports and contracts for their products
- Documentation and semantics in business language
- Operations: SLO ownership, incidents and change management
- Consumer relationships and the product roadmap
Enabling team provides
- Coaching for the first products in each domain
- Reference implementations and worked examples
- Skills transfer, then withdrawal: temporary by design
- Feedback to the platform team on friction
- A community of practice across domains
The division of labor maps cleanly onto the vocabulary of Team Topologies by Matthew Skelton and Manuel Pais, which describes four team types (stream-aligned, platform, enabling and complicated-subsystem) and three interaction modes (collaboration, X-as-a-Service and facilitating). Domain teams are stream-aligned teams: they own a flow of business value and now also the data products that flow produces. The data platform team is a platform team in the Team Topologies sense: it offers capabilities as a service, is measured by how little friction domain developers experience, and manages its own roadmap from their feedback.
The enabling team is deliberately temporary. It works alongside a domain on its first products in the facilitating mode, transfers skills and then moves on, feeding the friction it observed back to the platform team. Where a specialized capability is needed that no domain should rebuild, such as entity resolution or feature engineering infrastructure, a complicated-subsystem team may own it. The interaction modes matter as much as the team types: collaboration while a new capability and its interfaces are being worked out, then a clean X-as-a-Service relationship once they stabilize.
Coexistence with warehouse and lakehouse platforms
Mesh is frequently misread as a replacement for the warehouse or the lakehouse. It is better understood as a change in ownership and interfaces that runs on top of them.
| Existing platform | Role in a mesh | Watch out for |
|---|---|---|
| Enterprise warehouse | Hosts consumer-aligned products such as finance and business intelligence models | Reverting to one central modeling team for all domains |
| Lakehouse | Infrastructure plane: open table formats and shared compute | Treating a shared lake as the mesh; ownership still matters |
| Streaming platform | Output ports for event-based, near real-time products | Topics without contracts, schemas or named owners |
| Master data hub | Aggregate products for master entities such as customer | Owning the model centrally while nobody owns the facts |
| Virtualization layer | Unified access in the mesh experience plane | Heavy workloads pushed through federated queries |
The pattern across the table is that each platform keeps its technical role while ownership moves to the domains. A warehouse can remain the home of products for finance, regulatory reporting and business intelligence, provided each product's modeling is owned by its domain. A shared lake is not a mesh until ownership and product standards are applied, event topics need contracts, schema registration and owners like any other port, and a master data hub works as long as the facts remain owned by their source domains. Mesh changes ownership and interfaces; it does not require replacing platforms that already work.
Decided globally, decided locally
The art of federated governance is keeping the global set small. A decision belongs at the global level only when a local choice would damage other domains or expose the organization.
Global: agreed by the federation
- Interoperability: shared identifiers, time and currency conventions, schema evolution rules
- Security and privacy: classification scheme, access model, encryption and retention baselines
- Product standard: minimum metadata, SLO vocabulary, documentation and lifecycle states
- Legal and regulatory obligations that no single domain can waive
- The conformance machinery: how policies are checked and reported
Local: decided inside the domain
- Domain model, naming within the domain and transformation logic
- Which products to build, in what order, and when to retire them
- Quality thresholds above the global baseline, agreed with consumers
- Release cadence, versioning and incident handling within the SLO
- Technology choices among the options the platform supports
Every item on the global list protects other domains or the organization as a whole: it makes products joinable, keeps data safe, tells consumers what to expect or meets an obligation no domain can waive. Conformance checking is global too, because the platform enforces it for everyone. Everything else is local by default.
The default matters. When the federation starts approving local decisions, it becomes the committee that mesh was designed to avoid. A useful discipline is to require a written statement of the harm avoided before any new global policy is adopted.
Policy as code: from decision to automated conformance
Computational governance means that policies are enforced by code and checked continuously, rather than reviewed by people after the fact. Each policy follows the same lifecycle.
Decide
The federation states the policy, its rationale and its scope.
Encode
The platform team expresses it as code, versioned like software.
Embed
The rule runs in the paved road: at creation, in the build and at publication.
Verify
Conformance is measured continuously, per product and per domain.
Remediate
The product owner fixes non-conformance within an agreed time.
Consider a federation decision that every product must carry a classification label from the global scheme. The platform team encodes it as a schema check that rejects any product without a label; other policies become a template default that encrypts storage, an access rule evaluated by a policy engine or a lineage requirement checked at publication. Because the checks run inside the paved road, the compliant path is also the easiest one. Measuring conformance continuously, per product and per domain, turns governance from a periodic audit into an operational signal, and escalation to the federation is reserved for exceptions and policy changes.
Data contracts, the versioned agreements that fix a product's schema, semantics and guarantees at its boundary, are the natural carrier for many of these policies, because they can be checked automatically every time a product changes.
Who sits on the federated governance team
A federated governance team differs from a traditional data council in who sits on it and in what it decides. Four groups are needed.
Domain representatives
Data product owners or domain data leads with authority to commit their domain. They bring the consequences of each policy for real products and decide on the global set.
Platform representatives
The platform product owner and lead engineers. They translate policies into enforceable code and report what automation can and cannot check.
Subject matter experts
Security, privacy, legal and compliance, and enterprise architecture. They set the obligations the federation cannot vote away and advise on practical ways to meet them.
Facilitation and secretariat
A small central governance function that runs the cadence, maintains the policy register, tracks conformance and prepares decisions, without owning any data itself.
Membership is defined by authority rather than seniority: domain representatives must be able to commit their domain, because policies will cost them engineering effort. Decision rights should be explicit about which decisions require consensus, which are advisory and which the central function may make alone. A monthly cadence with a public register of policies and their automation status is a workable starting point.
Organizational change, fit and measurement
The architecture is the visible part of a mesh; the operating model is where transformations succeed or stall. This section covers the organizational change, how to sequence it, where mesh fits, how it fails and how to know whether it is working.
The organizational change behind the architecture
Funding
Fund the platform as a product with a stable budget and roadmap, and fund product teams inside domains. Project funding that ends at go-live leaves products with no operator.
Skills
Domains need data engineering, modeling and product management; the platform team needs platform engineering and developer experience skills. Plan hiring, rotation and coaching explicitly.
Incentives
Reward producers for consumer outcomes (adoption, SLO attainment and reuse), not pipelines shipped. Put product health in domain leaders' objectives, not only in the data office's.
Product management for data
Give each product a roadmap, consumer research, versioning and retirement decisions. The data product owner is a product manager, not a renamed steward.
Skills follow funding: engineers often move out of the central team into the domains, and the platform team needs developer experience skills that differ from pipeline building. Incentives decide behavior, because if domain leaders are measured on their own deliverables alone, products for other domains will always lose priority. And product management for data is a discipline, not a title: a renamed steward without time or authority cannot do the real work of roadmaps, consumer research, versioning and retirement.
Sequencing the transformation
Sequencing determines whether the mesh earns the right to expand. The figure below shows five phases. The periods are indicative: readiness, not the calendar, should trigger each step.
- Quarter 1
Align
Agree the pain to relieve, draft the domain map and product standard, secure sponsor and funding
- Quarters 2 to 3
Pilot
Two or three domains publish first products on a minimum platform; the federation meets on real decisions
- Quarters 3 to 4
Harden
Automate the first global policies, add SLO monitoring and incident handling, coach the next wave
- Year two
Expand
Onboard domains by readiness, name aggregate owners, retire duplicate central pipelines
- Year three onward
Sustain
Measure adoption, SLOs and time to data; rebalance funding; prune unused products
Each phase sets up the next. Alignment gives the pilot something to scale into. The pilot works best with domains that already feel the cost of the central queue, on a minimal platform of a product template, catalog registration and access control. Hardening automates the first global policies and adds service-level monitoring and an incident process, so that expansion can proceed domain by domain in order of readiness. From the third year the work is operational: measuring, rebalancing platform funding to demand and pruning products that have no consumers.
When data mesh fits and when it does not
Mesh is a response to scale and change, and it carries real overhead: a platform team, a federation and product ownership in every domain. Two questions decide whether that overhead pays back, and together they place an organization in one of four positions.
Scale and rate of change
Central team, build capability
Much change, but domains cannot yet own data: keep a central team, grow skills, pilot one product
Data mesh
Many autonomous domains, high change and scale: federation outperforms any queue
Governed warehouse
Small organization, stable data, few domains: a well-run central warehouse is simpler and cheaper
Domain ownership, light mesh
Capable domains but stable data: ownership and product standards on a shared platform
Domain capability: skills, ownership and funding
The vertical axis asks how much scale and change there is in the data landscape: how many domains, sources and consumers, and how often they change. The horizontal axis asks whether the domains have the engineers, budget and leaders willing to own data. Only the top-right position justifies the full machinery of platform team, federation and product ownership everywhere. In the other three, organizations should take what helps, such as an enabling team to build capability or ownership and product standards on a shared platform, and stop there. Honest placement avoids both over-engineering and a fashionable label.
Anti-patterns and failure modes
Failure modes are easier to prevent than to repair. Six recur often enough to plan against from the start.
Mesh as a purchase
A platform is bought and called a mesh. Ownership, funding and incentives are unchanged, so the central queue returns behind a new interface.
Too many domains
Dozens of domains launch before the platform or the federation can support them, and coordination cost overwhelms delivery.
Products nobody uses
Domains publish what they have rather than what anyone needs. Catalog counts rise while adoption stays flat and maintenance cost grows.
Governance by committee
The federation debates every local decision and approves each product. Decisions slow, and policies never reach the platform as code.
Platform as ticket queue
The platform team provisions by request instead of exposing self-serve templates, recreating the bottleneck one layer lower.
Ownership on paper
Domains are named owners without engineers, budget or a product owner. Accountability exists in a document and nowhere else.
Treating mesh as a purchase is the most common of these, and ownership on paper the quietest, because dashboards show progress while nothing is actually owned. Most share a root: the visible artifacts of a mesh (a platform, a catalog, a list of owners, a federation) are put in place without the change in ownership, funding and incentives behind them. Three preventive rules follow. Make the operating model changes a condition of the platform investment, not a later phase. Start the second wave only when the first products are in use. And require each new product to name its first consumers before it is built.
Measuring success: a hierarchy of measures
Measures should be chosen so that they cannot be satisfied by activity alone. They form a hierarchy, with flow at the base and business value at the top.
Business value
Decisions, reports and models each product serves
Adoption
Consumers per product and reuse across domains
Reliability
SLO compliance, incidents and time to resolve
Flow
Time to data, from request to the first governed query
At the base is flow: time to data, measured end to end from a consumer's request to the first governed query, including discovery, access approval and any build work. It is the measure that most directly shows whether the central queue has gone. Above it is reliability: the share of products meeting their published service-level objectives, incident counts and time to resolve, reported per product so that owners, rather than the data office, feel the result. Adoption is the layer that distinguishes a product from a pipeline: active consumers per product, reuse across domains and the ratio of consumed to published products. At the top is business value, which is rarely measurable directly but can be traced through the decisions, reports and models each product serves.
Two rules keep the measures honest. Count consumers and reuse, not pipelines built or data sets cataloged. And review the measures in the federation and tie them to funding for both the platform and the domains, so that the numbers have consequences.
Readiness checklist
The checklist below turns the preceding sections into conditions that can be verified before committing to a pilot. The first three items concern the organization, the next three the platform and standards, and the last two governance and measurement. Few organizations satisfy every item at the outset; the point is to know which gaps exist.
Where to start
The first steps are deliberately modest and sequential. Together they create a minimum viable mesh: real accountability in two domains, a standard to conform to, and just enough platform and governance to make conformance automatic.
- Assess fit and name the pain. Run the fit assessment with domain leaders, using the matrix above, to establish whether the organization needs a mesh or only parts of it, and name the specific pain that justifies the investment.
- Choose two pilot domains. Select two pilot domains and appoint their data product owners, which creates the first real accountability.
- Set the minimum standard. Define the minimum data product standard and the first three global policies, giving the pilot something concrete to conform to and the platform something concrete to automate.
- Stand up the essentials. Stand up the catalog, one product template and the federation cadence, which completes the minimum viable mesh, and baseline time to data before the first product is published.
Data mesh succeeds when it is treated as a change in who owns analytical data, supported by a platform and held together by a small set of automated rules, rather than as a technology to install. Organizations that start small, expand on evidence of adoption and keep the global rule set short gain the benefits of federation without its fragmentation. Ownership follows context; the platform makes ownership affordable.
Glossary
- Data mesh
- A socio-technical approach to analytical data based on four principles: domain ownership, data as a product, a self-serve data platform and federated computational governance.
- Domain
- A bounded area of the business, aligned with a business capability and a bounded context, that owns the analytical data it creates.
- Bounded context
- A concept from domain-driven design: the boundary within which a model and its terms have one consistent meaning.
- Data product
- A data set served to consumers with an owner, documentation, service levels and a lifecycle, and deployed as a unit of code, data and metadata, and infrastructure.
- Data product archetypes
- Source-aligned products represent a domain's facts as created; aggregate products combine upstream products into shared views; consumer-aligned products serve a specific use.
- Output port
- A versioned, contract-bound interface, such as a table, file, stream or API, through which consumers use a data product.
- Data contract
- A versioned agreement that fixes a data product's schema, semantics and guarantees at its boundary.
- Self-serve data platform
- The shared platform, organized in infrastructure, data product experience and mesh experience planes, that lets domain teams build and run products without specialist infrastructure skills.
- Federated computational governance
- A governance model in which domain and platform representatives agree a small set of global policies that the platform enforces automatically.
- Policy as code
- A policy expressed as executable, versioned rules that are checked automatically in templates, build pipelines and at publication.
- Paved road
- A tested, supported pattern offered by the platform that makes the compliant way of building a product the easiest one.
- Stream-aligned team
- In Team Topologies, a team aligned to a flow of business value; in a mesh, a domain team that also owns its data products.
- Enabling team
- In Team Topologies, a team that helps other teams acquire missing capabilities, working mainly in the facilitating mode and withdrawing once skills are transferred.
- Time to data
- The elapsed time from a consumer's request to the first governed query, including discovery, access approval and any build work.
References and further reading
- Zhamak Dehghani, Data Mesh: Delivering Data-Driven Value at Scale, O'Reilly Media.
- Zhamak Dehghani, "How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh", martinfowler.com.
- Zhamak Dehghani, "Data Mesh Principles and Logical Architecture", martinfowler.com.
- Matthew Skelton and Manuel Pais, Team Topologies: Organizing Business and Technology Teams for Fast Flow, IT Revolution.
- Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software, Addison-Wesley.
- Jean-Georges Perrin and Eric Broda, Implementing Data Mesh, O'Reilly Media.
This paper offers general guidance and is not legal, regulatory or professional advice. Summaries of laws, regulations and standards are for orientation only; confirm the obligations that apply to your organization with qualified advisors. Product and vendor names are used for illustration and imply no endorsement.
© ByteCI, LLC. All rights reserved.