Where we are
Session 2 gave Tideline a named decision and a GQM tree behind it. That fixes D18 and helps D9, but it says nothing about whether the numbers feeding the decision can be trusted. Tonight takes three more of the six defects no interface principle can see: D3, measures with no unit or currency; D15, no owner named for the screen or its data; D16, no lineage for any measure - plus one that is not really about measurement at all, D17, customer email addresses shown in the clear. All four are contract failures, not chart failures.
★ What you walk out with tonight. The difference between Data Mesh's four architectural principles and Dehghani's eight product characteristics - they are not the same list. FAIR's fifteen sub-points, which is where the actual working detail lives. And a live score for Tideline's real contract, measured by a validator that parses what you type: 7 of 22 checks met as shipped, 14 of 22 after five specific lines.
LiveA dashboard can be honest and still be untrustworthy3 min▶
Nothing on Tideline's screen is lying, in the sense session 1's Tufte lens checks. The number is computed correctly. What is missing is everything that would let a stranger decide whether to trust it: what unit is 48231 in, who is accountable when it is wrong, where did it come from, and is it safe to look at with someone else in the room. A chart can be perfectly drawn and still fail every one of those.
Data Mesh names the underlying shift directly: treat data as a product, not as a by-product of some other system. A product has a spec. A by-product has whatever fell out of the pipeline that day.
Tideline's retention numbers are pulled from three different tables depending on which analyst wrote the query last. Nobody can say which one is correct, because nobody wrote down where any of them come from. The disagreement between the three has been open for four months.
Self-studyThe vocabulary for today4 min▶
- Data contract - a written promise about a dataset: its owner, its schema, its licence, its freshness, and how it can be reached. What this session's validator scores.
- Data product - Data Mesh's term for a dataset treated as something with a consumer, not just an artifact of a pipeline.
- Provenance / lineage - a traceable record of where a piece of data came from and what transformed it along the way.
- Data-quality dimension - one axis a dataset can be measured against, such as timeliness or completeness. DAMA UK names six.
- Modelling fork - two architectures that solve the same problem from opposite ends, neither one strictly correct. Kimball and Inmon is the classic example.
Data as a product is principle two of four, not the whole idea
5 min liveZhamak Dehghani published Data Mesh's four principles at Thoughtworks in 2020: domain-oriented decentralized data ownership and architecture, data as a product, self-serve data infrastructure as a platform, and federated computational governance. "Data as a product" is the one everyone quotes on its own, but it only works alongside the other three - a product with no platform to serve it from and no governance to keep it consistent is just a well-labelled mess.
LiveThe four, and where Tideline sits against each4 min▶
| Principle | What it asks | Tideline today |
|---|---|---|
| Domain-oriented decentralized ownership | Does the team closest to the data own it? | No owner named anywhere - D15 |
| Data as a product | Does the dataset have a spec a consumer can read? | No unit, no currency on any measure - D3 |
| Self-serve infrastructure as a platform | Can a consumer reach it without a ticket? | Out of scope tonight - session 4 |
| Federated computational governance | Are the rules for access and classification enforced consistently? | Emails shown in the clear - D17 |
A data contract is the artifact that makes the second principle concrete. It is the spec a consumer reads before trusting a number, and it is exactly what the validator later in this session scores.
Self-studyGovernance as code, not as a meeting3 min▶
"Federated computational governance" is the principle most often skipped, because it sounds like a committee. Dehghani's point is closer to the opposite: rules like classification and access policy should be enforced by the platform automatically, the same way a schema is enforced automatically, rather than relying on every team remembering a wiki page. D17 is exactly what happens when governance is a wiki page - a rule that exists, unread, while the emails sit in the clear regardless.
FAIR is four letters and fifteen sub-points, and the sub-points do the work
6 min liveWilkinson and more than fifty co-authors published the FAIR principles in Scientific Data in 2016, aimed originally at scientific data but adopted well beyond it. Findable, Accessible, Interoperable, Reusable is the part everyone can recite. What actually gets checked, by this session's validator and by any serious audit, is the fifteen sub-points underneath the four letters.
LiveThe sub-points that Tideline's contract fails first4 min▶
R1.2, detailed provenance, is D16 by another name: no lineage means the Reusable principle fails before anyone even gets to licensing. F4, indexed in a searchable resource, is why nobody outside the team who built Tideline's contract knows it exists at all - there is no catalog entry, so the dataset cannot be found by anyone who did not already know to look. A1.2, authentication where needed, is the FAIR sub-point that D17 violates in spirit even though D17 is not primarily a FAIR failure: access exists, but nothing about it distinguishes who should and should not see a customer's email address.
Self-studyWhy FAIR travels well outside science3 min▶
FAIR was written for scientific data repositories, where the cost of an unfindable or unreusable dataset is a paper nobody can reproduce. The same fifteen sub-points map cleanly onto enterprise analytics because the underlying failure mode is identical: a number exists, but nobody besides its creator can locate it, trust its origin, or reuse it without re-deriving it from scratch. The vocabulary changes - "repository" becomes "catalog", "researcher" becomes "analyst" - the checks do not.
Eight characteristics, six dimensions, and a fork with no numbered tenets
8 min liveThree more pieces complete tonight's canon. Dehghani's book names eight characteristics a data product should have. DAMA UK names six dimensions a dataset's quality can be measured against. And Kimball versus Inmon is the oldest fork in the field, genuinely foundational, and genuinely never reduced to a numbered list by either author.
LiveTwo lists that travel through a paywall or a members-only PDF4 min▶
Dehghani's eight characteristics - Discoverable, Addressable, Understandable, Trustworthy and truthful, Natively accessible, Interoperable and composable, Valuable on its own, Secure - come from the 2022 book, Data Mesh: Delivering Data-Driven Value at Scale, which is paywalled. Her original 2020 martinfowler.com article, which is freely readable, uses looser and explicitly non-exhaustive phrasing: "discoverability, security, explorability, understandability, trustworthiness, etc." Cite the book for the count of eight, and the article for where the idea originated.
DAMA UK's six data-quality dimensions - accuracy, completeness, consistency, timeliness, validity, uniqueness - come from an October 2013 whitepaper behind a members-only wall. The six names are stable across every secondary source that quotes them, which is why this session teaches them with confidence, but the exact wording of each definition should be treated as travelling through a paraphrase rather than a direct quote.
Cite Dehghani's characteristics as "Data Mesh, O'Reilly 2022" for the eight, alongside the 2020 article for its looser origin phrasing. Cite DAMA UK's dimensions as "DAMA UK, 2013" and say plainly that the source PDF is access-gated. Neither caveat is a reason to drop either list - it is a reason to say where it came from.
Self-studyWhy Kimball and Inmon never became a numbered list4 min▶
Ralph Kimball's bus architecture and Bill Inmon's Corporate Information Factory are both full books' worth of design guidance, not manifestos, and neither author ever compressed his approach into a numbered set of tenets the way Nielsen or Wilkinson's teams did. What survives in practice is the fork itself: build fast, process-oriented marts first and unify them later with conformed dimensions, or build one normalized source of truth first and let marts derive from it. Most real warehouses today are some negotiated mixture of both, which is itself evidence that neither side ever needed a numbered list to be useful.
The honest framing matters here for the same reason it mattered for Norman and Tufte in session 1: presenting either architect's ideas as "the seven principles of Kimball" invents a citation that does not exist.
Validate Tideline's contract
★ 18 min · everyone buildsThe box below is a real validator. It parses whatever you type against 22 checks drawn from FAIR, DAMA UK and Dehghani's data-product characteristics, and repaints the tally as you type. Nothing here is scripted or pre-computed - type a line, watch the row it satisfies flip.
Read Tideline's contract exactly as shipped in the box above: name, description, owner, url, schema, license, refresh. Seven fields, and it feels reasonably complete.
Read the tally under it: 7 of 22 checks met. Fifteen checks fail on a contract that most teams would have signed off without a second look.
Add a new line, lineage:, naming where the retention number actually comes from. Watch the tally move, and notice which row in the Data product group flips with it.
Add slo:, classification:, catalog: and uniqueness:, one at a time or all together. The tally lands at 14 of 22 - exactly double where it started, from five lines.
Scroll the Data product group in the output. Six of its seven tracked rows now pass. Only Valuable on its own still shows a cross. Ask why a schema field cannot fix that one: the check needs proof of a real consumer or decision, and nothing you have added so far names either.
Add a decision: line, and put session 2's decision statement in it - which at-risk enterprise accounts get a human intervention this week, and who decides. Watch that row, and the tally, move again.
The two numbers worth remembering are 7 and 14 - measured, not estimated, from this exact contract. What five lines do not fix is instructive too: a contract can prove it is well-described without ever proving it is used, which is exactly what "Valuable on its own" is built to catch.
Before session 4
20 min- Write a data contract for the dataset behind your own team's most-used dashboard, using the same field names as Tideline's: name, description, owner, url, schema, license, refresh. Then add lineage, slo, classification, catalog and uniqueness, and be honest about which ones you can actually fill in.
- Pick two of FAIR's fifteen sub-points and check them against that same dataset. R1.2, detailed provenance, is the one most datasets fail first.
- Walk Dehghani's eight characteristics against the same dataset and mark which ones fail. Do not mark "valuable on its own" as passing unless you can name the actual consumer and decision it serves.
- Bring the contract to session 4. It becomes the artifact the platform has to actually be able to serve.
Three questions
Tideline's sample contract, exactly as shipped, scores how many of the validator's 22 checks?
The shipped contract has seven reasonable-looking fields and still fails fifteen of twenty-two checks. Adding exactly those five lines, measured live in the widget, doubles the score to 14 of 22.
What does FAIR's sub-point A1.2 actually require?
A1.2 sits under Accessible: the access protocol should allow for authorisation where it is needed, without making access unnecessarily closed by default. F1 is the persistent identifier and I3 is the qualified reference - different letters, different jobs.
What is the honest way to describe Kimball versus Inmon?
Both approaches are real, foundational and genuinely different in direction. Presenting either as "the N principles of Kimball" or "of Inmon" invents a citation that was never published.
What this session teaches, and where it came from
Every fact on this page, and its verification tier, is recorded in the course's source map.
Session 3 cheat sheet · pin this
A contract with an owner and a lineage line is still only a promise on paper until something actually runs it: a platform that can serve the query, hold the state, and survive a node dying at 2am. Session 4 goes underneath the contract to the layer that makes it real.