Dans deux articles précédents, nous nous sommes concentrés sur les considérations relatives à la conception axée sur les données ; et plus particulièrement sur la manière dont les données commerciales représentent une valeur commerciale latente. Le message clé est qu’une architecture de données structurée est la base technique qui permet d’extraire cette valeur inhérente. Cependant, ces articles se concentraient sur l’introduction des sujets pertinents au niveau conceptuel. Aujourd’hui, j’aimerais démontrer les concepts dans le contexte d’un exemple plus tangible et plus pertinent ; une histoire sur la façon dont on pourrait réfléchir à l’architecture d’une application cohérente avec un état d’esprit privilégiant les données.
Mais avant de passer directement au sujet principal, récapitulons pourquoi les données sont plus importantes aujourd’hui qu’elles ne l’ont été par le passé. La collecte et le stockage de données ont toujours été effectués par de nombreuses entreprises, principalement pour leur propre bénéfice, pour des raisons de gouvernance, telles que l'audit et la conformité. En tant que telle, la collecte et le stockage des données ont toujours été considérés comme une sorte de « taxe » sur les opérations commerciales, avec peu de valeur opérationnelle directe perçue.
Ce qui a changé aujourd’hui, c’est la prise de conscience accrue que les données collectées peuvent être exploitées pour optimiser les processus commerciaux et améliorer l’expérience client. Par exemple, selon une enquête récente menée auprès d’entreprises de vente au détail numériques, ces deux objectifs – la mise à niveau des processus commerciaux et l’expérience client – étaient les principaux moteurs de la transformation numérique pour 57 % des personnes interrogées. entreprises . L’observation critique, l’essence de « pourquoi c’est important », est que les flux de travail basés sur les données ont un impact sur l’entreprise à la fois dans les domaines externes (comme l’expérience client) et dans les domaines internes, pour les processus commerciaux de base. C’est pourquoi une stratégie de données réfléchie et délibérée est fondamentale pour permettre la qualité et la rentabilité des flux de travail les plus importants de l’entreprise. De plus, lorsque les flux de travail sont instrumentés pour transmettre leurs données observées à une infrastructure de collecte et d’analyse de données, les flux de travail eux-mêmes peuvent être continuellement analysés et améliorés, ce qui donne lieu à des flux de travail commerciaux constamment adaptatifs et optimisés.
En passant, la plus grande inquiétude de ces mêmes entreprises concernant la transformation numérique était d’assurer la cybersécurité de ces mêmes processus numériques – ce qui, en fin de compte, est un autre domaine dans lequel cette même approche de télémétrie et d’analyse des données a un rôle clé à jouer – même si je garderai cela pour un autre article.
Passant à notre expérience de pensée, j’ai choisi une histoire à laquelle beaucoup d’entre nous peuvent probablement s’identifier dans le mode de vie actuel adapté au coronavirus : une application qui fournit un service en ligne de commande et de livraison de nourriture au restaurant. Les repas sont commandés en ligne auprès d'un restaurant spécifié par le client, et l'utilisateur peut choisir que la commande soit récupérée directement par le client, ou que le service effectue également la livraison.
Dans cette histoire, nous jouerons le rôle du propriétaire de l’application. Dans ce rôle, nous devons répondre à de nombreuses préoccupations différentes, que nous diviserons en deux volets : premièrement, les activités opérationnelles requises et, deuxièmement, les préoccupations stratégiques tournées vers l’avenir.
Le premier ensemble — les activités opérationnelles requises — comprend des préoccupations telles que :
Le deuxième ensemble de préoccupations est moins opérationnel au quotidien, mais n’en est pas moins important. Ces problèmes, s’ils sont réfléchis en amont, permettront à l’entreprise d’être agile, adaptable et de s’améliorer en permanence. Voici des exemples de ce type de préoccupations :
Il s’agit bien sûr d’un sous-ensemble de la richesse complète des préoccupations que nous pourrions avoir, mais même cet ensemble plus restreint suffit à permettre une bonne discussion qui souligne l’importance de l’architecture de données structurée pour soutenir un pipeline de traitement de données extensible.
Dans notre rôle imaginé de propriétaire d’application, lorsque nous réfléchissons à notre stratégie globale en matière de données, nous pouvons commencer par énumérer nos flux de travail métier, en identifiant les besoins de traitement des données de chacun. Un exemple est le flux de travail qui localise les restaurants ouverts à proximité, puis présente les sélections de menu et les prix des articles pour chacun d'eux. Il faudrait filtrer les restaurants par emplacement et heures d'ouverture, puis rechercher les sélections de menu pour un restaurant spécifiquement sélectionné, peut-être également filtré par la disponibilité des livreurs. Et nous pourrions faire cela pour chaque flux de travail : traitement des paiements, mise en relation des chauffeurs avec les livraisons, etc.
Ou, tout aussi raisonnablement, nous pourrions plutôt commencer nos réflexions avec les « atomes » de données de base, c’est-à-dire les éléments de base des données qui sont nécessaires. Nous identifierons et énumérerons les atomes de données importants, en accordant une attention particulière à la représentation uniforme et à la sémantique cohérente de ces atomes de données ainsi qu'à tout vocabulaire de métadonnées nécessaire à la prise en charge de nos flux de travail commerciaux. Les exemples d'atomes de données dans notre exemple d'application incluraient : les données de localisation des restaurants, des clients et des chauffeurs ; les aliments nécessaires aux menus et aux factures ; le temps, utilisé pour filtrer et suivre la qualité de la livraison ; et les informations de paiement, associées aux flux de travail de paiement des clients et des chauffeurs.
Lequel de ces deux points de départ potentiels (le pipeline de traitement des données des workflows ou, alternativement, les « atomes » de données) utiliser pour notre stratégie de données est une question de type « poule ou œuf ». Les deux perspectives sont utiles et, plus important encore, sont interdépendantes. Nous ne pouvons pas raisonner sur le pipeline de traitement des données sans penser aux atomes de données sous-jacents, ni développer l’architecture des données sans prendre en compte les besoins du pipeline de traitement. Cela dit, en général, je recommanderais une approche dans laquelle on effectue un premier passage à travers les flux de travail pour énumérer les atomes de données, mais on aborde ensuite la conception structurée de l’architecture de données avant de procéder à la conception détaillée du pipeline de données. Cela est dû au fait que les flux de travail sont plus dynamiques ; ils sont ajoutés et modifiés à mesure que l’entreprise évolue, tandis que les données sous-jacentes ont plus d’historique et d’inertie. Par conséquent, l’architecture des données bénéficie davantage de la prévoyance.
Pour revenir à notre exemple, supposons qu’en tant que propriétaire d’application, nous ayons une vision assez développée des principaux flux de travail critiques pour l’entreprise et des atomes de données nécessaires pour les prendre en charge. Plus tôt dans cette discussion, nous avions identifié quelques-uns des éléments de données fondamentaux nécessaires à nos flux de travail : l’emplacement, l’heure, les aliments et les informations de paiement. Et, pour récapituler les articles précédents, l’architecture des données doit permettre trois objectifs clés : l’uniformité de la syntaxe, la cohérence de la sémantique et un vocabulaire de métadonnées pour raisonner et gouverner les données. Nous pouvons maintenant appliquer ces principes pour discuter des considérations relatives à l’architecture des données pour les atomes de données spécifiques énumérés dans l’exemple d’aujourd’hui.
En zoomant sur l’atome de données de localisation , considérez chacun des 3 objectifs clés de l’architecture des données.
Nous avons seulement parlé des exigences en matière de localisation et pouvons maintenant effectuer un exercice similaire pour chacun des autres champs de données. Cependant, plutôt que d’énumérer tous les domaines de préoccupation pour chacun des atomes de données, je soulignerai plutôt quelques observations notables :
Bien que cet exemple n’ait été qu’un aperçu superficiel, il a mis en lumière de nombreuses préoccupations associées à des scénarios réels. Dans le monde réel, cependant, le processus de réflexion sur la stratégie de données ne s’arrêterait pas là mais serait itératif et continu. À mesure que les éléments de données sont introduits dans les pipelines de traitement de données qui incarnent les flux de travail de l'entreprise, des ajustements et des améliorations itératifs seront apportés à l'architecture des données. À mesure que les flux de travail existants sont améliorés et que de nouveaux flux de travail sont ajoutés, nous découvrirons des exigences d’architecture de données supplémentaires pour les atomes de données existants ainsi que pour les nouveaux atomes de données.
Bien que cet exemple ait été simplifié pour plus de concision, il démontre néanmoins les principes clés autour du mappage des flux de travail à leurs implications en matière d'architecture de données. Le processus commence toujours par prendre en compte les besoins de l’entreprise : l’expérience client et les processus commerciaux requis pour répondre à ces besoins. Les processus métier définissent à leur tour les éléments d’un vocabulaire métier. Au niveau de spécificité suivant, les processus sont mappés sur un pipeline de données, qui exploite un vocabulaire de données.
Le principe clé est que l’architecture de données robuste, qui définit la syntaxe, la sémantique et les annotations, constitue une base qui permet d’améliorer efficacement le pipeline de données et d’ajouter facilement de nouveaux flux de travail. Au niveau de l'abstraction de la couche métier, cela signifie que les processus métier existants peuvent être facilement modifiés et que les processus métier nouveaux ou émergents peuvent être rapidement mis en ligne. À l’inverse, l’incapacité à prendre des décisions réfléchies dans l’un de ces domaines (vocabulaire des données, cadre d’architecture des données ou lien entre ces éléments et les besoins de l’entreprise) conduira à terme à un système fragile et cassant, qui ne sera pas agile face aux nouvelles exigences de l’entreprise.