To BI or not to BI? Here are some questions to ask
Should I use a BI/reporting tool or build data visualizations myself? is an evergreen question, and the answer is always “it depends.”
Some questions I ask to help navigate the tradeoffs between using a reporting tool and building visualizations directly in an app:
Do end users need to create their own reports? Reporting tools are good for when users need to create their own reports, or explore data independently, without defining all the navigation paths in advance at build time.
How big is the proportion of reporting vs. total features? If reporting is one small part of an app, and reports are all statically defined at build time, you may be better off visualizing the data directly in your app rather than adding more moving parts. On the other hand, if reporting is a significant enough feature, it could take on a life of its own, and perhaps be split out as a separate application. At that point, it may be an easier call to use a BI tool instead of building an app, as opposed to using a BI tool as part of an app. (Conway’s law strikes again.)
How intertwined are my visualizations with other aspects of my workflow? Reporting tools have their own workflow for data visualization and exploration. Your app may have other workflow actions. BI tools usually have Javascript APIs that let you embed reports and listen for events to trigger actions in the enclosing app, but if you build the visualizations yourself get more flexibility to tailor the interactions and the connection points between your visualization and the rest of your app. There are plenty of open-source libraries like Chart.js out there, so you shouldn’t feel obligated to use a BI tool just because you need a graph on the screen.
How do I balance development velocity vs. flexibility to customize UX? Reporting tools will let you build out many reporting and data visualization use cases quickly. On the other hand, while you can customize the look-and-feel of reporting tools to some degree, there will be a limit to how much you can customize the UX in a reporting tool.
While there is no single right answer, it is important to weigh tradeoffs carefully when deciding whether to adopt a BI tool or to build reporting features directly in the app.
It’s also important to avoid a worst-of-both-worlds scenario, where you adopt a reporting tool but it ends up being harder to cram your customizations in than it would have been to build the visualizations yourself.