A data product is the smallest unit of deployment within a data platform and consists of data and metadata, infrastructure components, and application code. Organizing data into products can be seen as the application of product thinking principles to data, with the aim of ensuring capabilities such as comprehensibility, reliability, accessibility, observability, interoperability, and security. Designing data products is done by applying the Domain Driven Design philosophy to the context of data, which corresponds to a clear division of ownership, organized by domain and distributed across multiple teams.
To ensure interoperability between various data products, the role of Data Governance is crucial, federated for effectiveness even with complex organizational models and automated through the consumption and production of shared metadata with other processes. To rationalize infrastructure costs, the platform should provide reusable services to support the development, operation, and governance of different data products, ideally in a self-service mode. Each data product is associated with an owner who is responsible for its success, which can be measured through data quality measures (such as reducing delivery times) and user satisfaction in general.
Key factors for the success of this solution include:
- Agility in meeting business needs
- Accountability in data production and consumption
- Distribution of skills through cross-functional teams
- Valuing and democratizing data