tadata
← Retour à l'accueil

Data Product Thinking : Traiter les Données comme un Produit

#data-strategy#product-management#data-mesh#analytics

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

  1. Découvrir — identifier les consommateurs, définir la valeur
  2. Construire — schéma, contrats, pipeline, tests
  3. Opérer — suivi des SLAs, qualité, support
  4. Faire é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 failloudly values maytruncate orfail silent: sameschema, wrongnumbers safe forreaders 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 failloudly values maytruncate orfail silent: sameschema, wrongnumbers safe forreaders no data impact
Ce changement est-il cassant ? Que faire

Extrait de la fiche « Data Contracts » · Demander la fiche complète

Canvas Data Product

DimensionQuestions à Répondre
Nom & DomaineComment s'appelle ce produit ? Quel domaine le possède ?
ConsommateursQui utilise ces données ? Quelles décisions supporte-t-il ?
Proposition de ValeurÀ quelle question répond-il ? Que casserait son absence ?
Données SourceDe quelles données en amont dépend-il ?
Schéma & ContratQuels sont les champs, types et garanties ?
SLAs QualitéObjectifs de fraîcheur, complétude, précision ?
Patterns d'AccèsRequê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 dowith 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 dowith 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 SLAObjectif ExempleMesure
Fraîcheur<2h opérationnel, <24h analytiqueVérification timestamp metadata
Complétude>99.5% des enregistrements attendusComparaison nombre de lignes
Précision>99.9% des valeurs conformes à la sourceRequêtes de réconciliation
Stabilité du Schéma0 changement cassant non annoncéMonitoring du registre de schémas
Disponibilité>99.5% uptimeHealth checks des endpoints
tadata
QuantityFormulaMeaning
SLISLI = (good)/(valid)share of good events, minutes or rows
Error budgetB = (1 - SLO) × Tfailure allowed in the window
Burn rater = (e)/(1 - SLO)1 = budget spent exactly at window end
Budget spent by an alert windows = (r × w)/(T)share of the budget consumed
Data downtimeDD = 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ÉtapeComment les Données Sont Trouvées
0Connaissance tribaleDemander à quelqu'un qui sait
1DocumentationGuides écrits dans des wikis
2CatalogueCatalogue de métadonnées avec recherche
3MarketplaceData products avec notes, stats d'usage, SLAs
4Assisté par IARecherche en langage naturel, recommandations auto

Implications Organisationnelles

Le data product thinking exige trois changements :

  1. Du projet au produit : Les initiatives data ont une propriété continue, pas de date de fin de projet.
  2. 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.
  3. 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

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.