Based on the previous example, let’s summarize a set of features for an ideal tool that help the company as a whole make the most of its data:
- Easy to use: Not everyone in every department is a rocket scientist, so we need the tool to be as simple as possible.
- Easy to collaborate on: Since we have already defined the building blocks, it would be great if it can be used and, more importantly, re-used and extended.
It would be great if person A from marketing were to start to create a query and person B from sales were able to see it while it's being created, and then comment/modify and create a separate version of it.
The same goes for query visualizations and dashboards.
- Shareable: Preferably online, as there is no need to force anyone to install extra tools on their laptop. It must be flexible in terms of what to share, since we might want to expose it to someone outside the company (contractors/clients/partners).
- Should support a variety of Data Sources: Every department has its own Data Sources (the marketing department might have Oracle/MySQL/PostgreSQL, while the IT department might have InfluxDB/ElasticSearch, and so on), and it would be great to have a tool that connects to them all or, even better, a tool that can mix different Data Sources in the same dashboard.
- Query scheduling/auto-refresh: We want the dashboards to be up to date every time we look at them.
- Easily extendable: The data world changes rapidly; new Data Sources are being created, businesses demand new visualizations, new integrations pop up, and so on. We want to ensure that all of these factors are easily incorporated into our tool.
- Alerts: It would be very handy to be able to define critical thresholds for KPIs or metrics and receive an email/slack alert/custom notification if this occurs.
- API for external integrations: To fully unleash the power of company data, you can't skip the API part; every developer who has an idea of how to tailor the analytical tool to their own need must be provided with an easy way to do it. The same goes for integrations with external clients/partners who want to access the data programmatically—and what can be easier than the REST API?
- Fast: In a rapidly changing world and businesses that grow quickly, speed is king. When we say speed, we mean both tool response time and tool-get-the-task-done time. What is the tool worth if it takes half an hour just to create and visualize a single KPI?