Le passage de "données comme sous-produit" à "données comme produit" est l'un des changements organisationnels les plus impactants. Inspiré des principes du data mesh, le data product thinking applique la discipline du product management — recherche utilisateur, SLAs, gestion de cycle de vie — aux datasets, APIs et modèles analytiques.
Cycle de Vie du Data Product
tadata
Center: Boucle de feedback
Découvrir — identifier les consommateurs, définir la valeurConstruire — schéma, contrats, pipeline, testsOpérer — suivi des SLAs, qualité, supportFaire évoluer — versioning, dépréciation, migration, décommissionnement↻ then back to step 1
tadata
Conditions
Remove
Narrow
Semantics
Add
Docs
Column removed or renamed
Y
N
N
N
N
Type narrowed or nullability tightened
–
Y
N
N
N
Meaning, unit or grain changed
–
–
Y
N
N
Optional column added or type widened
–
–
–
Y
N
Docs or descriptions only
–
–
–
–
Y
Actions
MAJOR bump, new version side by side
X
X
X
Deprecation window, notify consumers
X
X
X
MINOR bump
X
PATCH bump
X
Notes
consumers fail loudly
values may truncate or fail
silent: same schema, wrong numbers
safe for readers
no data impact
Conditions
Remove
Narrow
Semantics
Add
Docs
Column removed or renamed
Y
N
N
N
N
Type narrowed or nullability tightened
–
Y
N
N
N
Meaning, unit or grain changed
–
–
Y
N
N
Optional column added or type widened
–
–
–
Y
N
Docs or descriptions only
–
–
–
–
Y
Actions
MAJOR bump, new version side by side
X
X
X
Deprecation window, notify consumers
X
X
X
MINOR bump
X
PATCH bump
X
Notes
consumers fail loudly
values may truncate or fail
silent: same schema, wrong numbers
safe for readers
no data impact
Ce changement est-il cassant ? Que faire Extrait de la fiche « Data Contracts » · Demander la fiche complète
Canvas Data Product
Dimension Questions à Répondre Nom & Domaine Comment s'appelle ce produit ? Quel domaine le possède ? Consommateurs Qui utilise ces données ? Quelles décisions supporte-t-il ? Proposition de Valeur À quelle question répond-il ? Que casserait son absence ? Données Source De quelles données en amont dépend-il ? Schéma & Contrat Quels sont les champs, types et garanties ? SLAs Qualité Objectifs de fraîcheur, complétude, précision ? Patterns d'Accès Requête SQL ? Appel API ? Dashboard ? Feature store ML ? Sécurité & Confidentialité Gestion PII ? Contrôles d'accès ? Politique de rétention ?
tadata
contracts/orders.odcs.yaml
1
apiVersion: v3.0.2
2
kind: DataContract
3
id: commerce-orders
4
name: orders
5
version: 2.1.0
6
status: active
7
domain: commerce
8
description:
9
purpose: Orders for churn and demand models
10
limitations: No card data. Amounts in EUR.
11
schema:
12
- name: orders
13
physicalName: silver.orders
14
properties:
15
- name: order_id
16
logicalType: string
17
primaryKey: true
18
required: true
19
- name: customer_id
20
logicalType: string
21
required: true
22
classification: restricted
23
- name: amount_eur
24
logicalType: number
25
quality:
26
- type: sql
27
query: SELECT COUNT(*) FROM orders
WHERE amount_eur < 0
28
mustBe: 0
29
quality:
30
- type: sql
31
query: SELECT COUNT(*) FROM orders
32
mustBeGreaterThan: 100000
33
slaProperties:
34
- property: latency
35
value: 4
36
unit: h
37
team:
38
- username: orders-team
39
role: owner
1
semantic version: major on breaking changes
2
purpose and limits: what ML may and may not do with it
3
grain and key: one row per order
4
classification drives PII handling (sheet 05)
5
column rule: no negative amounts
6
table rule: volume floor catches partial loads
7
SLA: data at most 4 h old
8
owner to page when a rule fails
contracts/orders.odcs.yaml
1
apiVersion: v3.0.2
2
kind: DataContract
3
id: commerce-orders
4
name: orders
5
version: 2.1.0
6
status: active
7
domain: commerce
8
description:
9
purpose: Orders for churn and demand models
10
limitations: No card data. Amounts in EUR.
11
schema:
12
- name: orders
13
physicalName: silver.orders
14
properties:
15
- name: order_id
16
logicalType: string
17
primaryKey: true
18
required: true
19
- name: customer_id
20
logicalType: string
21
required: true
22
classification: restricted
23
- name: amount_eur
24
logicalType: number
25
quality:
26
- type: sql
27
query: SELECT COUNT(*) FROM orders
WHERE amount_eur < 0
28
mustBe: 0
29
quality:
30
- type: sql
31
query: SELECT COUNT(*) FROM orders
32
mustBeGreaterThan: 100000
33
slaProperties:
34
- property: latency
35
value: 4
36
unit: h
37
team:
38
- username: orders-team
39
role: owner
1
semantic version: major on breaking changes
2
purpose and limits: what ML may and may not do with it
3
grain and key: one row per order
4
classification drives PII handling (sheet 05)
5
column rule: no negative amounts
6
table rule: volume floor catches partial loads
7
SLA: data at most 4 h old
8
owner to page when a rule fails
Contrat de style ODCS v3 pour une table de commandes (abrégé ; vérifiez les noms de champs avec la version de la spécification utilisée pour la validation) Extrait de la fiche « Data Contracts » · Demander la fiche complète
Template de SLA Qualité
Dimension SLA Objectif Exemple Mesure Fraîcheur <2h opérationnel, <24h analytique Vérification timestamp metadata Complétude >99.5% des enregistrements attendus Comparaison nombre de lignes Précision >99.9% des valeurs conformes à la source Requêtes de réconciliation Stabilité du Schéma 0 changement cassant non annoncé Monitoring du registre de schémas Disponibilité >99.5% uptime Health checks des endpoints
tadata
Quantity Formula Meaning SLI SLI = (good)/(valid)share of good events, minutes or rows Error budget B = (1 - SLO) × Tfailure allowed in the window Burn rate r = (e)/(1 - SLO)1 = budget spent exactly at window end Budget spent by an alert window s = (r × w)/(T)share of the budget consumed Data downtime DD = N × (TTD + TTR)incident time per period
Arithmétique des SLO Extrait de la fiche « Data Quality SLAs and Observability » · Demander la fiche complète
Modèle de Maturité de la Découvrabilité
Niveau Étape Comment les Données Sont Trouvées 0 Connaissance tribale Demander à quelqu'un qui sait 1 Documentation Guides écrits dans des wikis 2 Catalogue Catalogue de métadonnées avec recherche 3 Marketplace Data products avec notes, stats d'usage, SLAs 4 Assisté par IA Recherche en langage naturel, recommandations auto
Implications Organisationnelles
Le data product thinking exige trois changements :
Du projet au produit : Les initiatives data ont une propriété continue, pas de date de fin de projet.
Du central au fédéré : Les équipes domaine possèdent et publient leurs data products. L'équipe plateforme fournit l'outillage et les standards.
Du livrable au résultat : Le succès se mesure par l'adoption et l'impact sur les décisions, pas par le nombre de tables.
Ressources