This is the foundation that guides our vision, roadmap, and product design. As you evaluate Holistics, it may be useful to understand the philosophy and principles we subscribe to.
Death to silos
Barriers between teams and tools are the culprit of many issues in modern data analytics processes. One of the key focuses of Holistics products and methodologies is to break down barriers between teams, data processing, and storage tools, facilitating seamless flow of data inside an organization. We believe this flow is essential for an effective data-driven organization.
By committing to a codification-focused and API-first approach to product design, we ensure that any part of Holistics tooling and process is not locked and can be easily integrated with a data team's existing processes and tools.
Declarative, not imperative
There are two schools of thought when it comes to data processing: declarative processing and imperative processing. The declarative approach emphasizes the end result and lets the tools handle the steps to get to that end result. On the other hand, the imperative approach lets end users specifying the specific steps to get to a certain end result.
We strongly prefer the former as we believe it allows users to only concern with what they want, instead of how they want. How data processing is done depends on the technology of the day. On the other hand, what the end result represents is timeless. Once abstracted away from technical specific detail, it will allow data processing to be more robust and durable.
Short feedback loop
Long feedback loops allow defects in data processing to propagate and cause untold damages in the end results, eroding the trust of data teams. At Holistics, we believe that all data processes should have short feedback loops, which allow for early detection of potential issues and preventing defects to propagate downstream. Consequently, it increases the robustness of the process, and ultimately the trust of the data team.
Reliability through codification
Tracking changes and dependencies for data processing is essential for ensuring the data process to be robust and reproducible. Encoding the whole process in a textual language allows changes and dependencies to be stored in a powerful version control system that tracks what changed and who changed.
As a result, data teams have the peace of mind that business-critical data processes are safe and reproducible. Any change that causes failure can be safely reverted to a previous, known good state easily. Explicit dependencies allow for easy debugging when failures occur.
The reliability of the whole process improves as a consequence.
Automation through codification
Encoding the whole process in a textual language also work as the building blocks for further automation to be built on top. Automation allows for more reliable, repeatable processes and saves manual effort involved in data processing.
Experimentation through codification
Experimentation is the key to allow an organization to get more out of data analytics. Encoding data processing in a textual language stored in a powerful version control system empowers data team members to create forks or branches of the data processing logic. This allows them to do their own experiments without affecting the rest of the team. Less friction to experiment means more experiments that generate values for the organization.
Centralized definition, decentralized access
There has always been a tension between ensuring data processes are robust and reliable, and empowering all members of an organization to have access to data. Centralizing definitions with codification and allowing all members to build data products on top of that base is a method that results in the best-of-both-world outcome for the organization. At Holistics, we strive to achieve this ideal in all of our products.
At Holistics, we believe tools should not only allow their users to achieve a certain outcome, but also should elevate their users' cognitive abilities, assisting them on the path to mastery of their own careers. We strive to do this by providing new perspectives and new powerful ways to approach existing workflows and processes.