intermediate 2 min answer

A team's dataset is heavily used, so the platform group proposes promoting it to a data product with an owner, a published interface and an SLO. The team is willing. What have they actually taken on, and when does that bill arrive?

data-productsownershipslodeprecationversioning
Show the full answer Hide the answer

What is gained

Consumers get a stable contract: a documented schema, a freshness commitment, a named owner and a deprecation policy. The platform gets to stop mediating every question about the dataset. The producing team gets a legitimate basis to say no to a request that would break the contract, which is usually the benefit they notice first.

What is paid

  • Schema changes stop being free. Adding a column is fine; changing a meaning is now a versioned release with a migration window. Most of the cost is here, and it is a cost in speed, not in engineering hours.
  • An SLO implies an on-call. A freshness commitment of "by 07:00 on business days" means someone is woken when the 04:00 load fails, or the commitment is fiction.
  • Deprecation becomes a project. Retiring a field requires knowing who reads it, telling them, and waiting. Without usage telemetry the honest answer is that nothing can ever be removed.
  • Support load. Consumers ask questions, and the questions arrive during the producing team's sprint.

When the bill arrives

Not at launch. It arrives at the first breaking change, typically six to nine months in, when a source system changes and the team discovers it cannot pass that change through without a versioned migration for eleven consumers. That is the moment where either the contract holds and the team absorbs the work, or it quietly breaks and the product label loses its meaning.

How to keep the option to reverse

  • Publish usage telemetry from day one. Who read what, when. Without it every later decision is guesswork, and it costs almost nothing to collect at the start.
  • Version the interface, not the table. A view or a semantic-layer entity lets the physical model change underneath.
  • Write the deprecation policy before the first consumer, including a notice period. It is unarguable at that point and impossible to add later.
  • Start with two consumers, not twenty. Promotion to a product is reversible while the consumer list is short.

When not to do it

A dataset with one consumer sitting in the same team does not need any of this. The product framing pays for itself when consumers are people the producer does not sit with, because the contract replaces the conversation that would otherwise have to happen. Below that, it is paperwork around a conversation that is already happening.