As the founder of Chartio I'm clearly quite biased in writing this article, but I'm also in a unique position where I meet hundreds of companies who have built or are building their own dashboarding system and run into all kinds of troubles. Building your own dashboards is a deceivingly simple task due to an enormous amount of hidden details, developer ego, and ever changing requirements.
I hope this post helps to shine a little more light on the potential pitfalls for those of you considering building something yourself.
1. It is not your core business
Engineers are hard to come by, and you're likely keeping them incredibly busy with your core product. The last thing you need is for them to branch out and start a second product, and that's exactly what a dashboard is. It is a separate code base that needs constant maintenance and attention. Make a list of the 5 most important things your engineers could be doing instead and decide if your reasons for building your own dashboard outweigh even one of those things.
2. It is not as simple as it seems
I often hear from people (mostly developers) that putting a dashboard together shouldn't take more than a couple of weeks. Those same people make the most enthusiastic customers three months later when they realize all of the tedious details.
3. It costs more
Again, good engineers are hard to come by which means they don't come cheap. Some of the dashboarding and business intelligence tools you're looking at may seem expensive, but compare it to an engineer's salary and the tools suddenly look like a steal.
4. Your data scientists should be doing other things
5. Your dashboards need to change frequently
Charts give you answers, and answers usually just make you want to ask more questions. You're never going to find anything close to the perfect dashboard that will forever, or even for a few months, describe your company. You're going to need to add and edit charts frequently, and if that takes digging into the code each time it is going to get messy fast.
6. Re-writes are common
Organizations that have a long history of building their own solution have a long history of re-writes. Writing your own dashboard system means one, or maybe two, people sat down and wrote a bunch of unique code that isn't maintained and organized as nicely as your main software. It will likely end up being a setup of scripts grouped together. When the project inevitably changes hands, it is typically easier for the new developer to just start from scratch rather than to use the existing mess. The same instincts that made you think that writing a dashboard would be easy in the first place are now motivating the re-write.
7. You'll never be happy
I'm not going to go too broad with this. You may, and hopefully do, find happiness in other places in your life, but I can almost guarantee that if you build it yourself, you will never be happy with your dashboard. You'll always have a few more graphs on your TODO, an ugly axis to fix, or yet another API to integrate. And don't kid yourself that it will ever look pretty. Without a designer's input, charts have a funny way of just not going well together.
8. There are too many sources of data
Your data is not in one place. It is in your database(s), in Google Analytics, Salesforce and other services with API's that each take more engineering time and frustration to learn. 3rd party dashboard services excel here because what one engineer masters, many can benefit from.
9. You need a low friction chart creator
When building your own charting library, it will never be worth it to substantially optimize the process of query creation and charting. And so you will always need an engineer to build the query, pipe it into a chart, and push the new code. It is a process that takes more than just a few minutes which is more than significant to ruin the discovery process. Choosing a 3rd party tool that includes a drag and drop chart creating interface enables a whole new level of data discovery, doesn't require as much engineering assistance, and will give you an order of magnitude increase in the charts created and insights discovered.
10. You could be using Chartio
A few years ago there weren't any decent alternatives to building it yourself. These troubles and that need are exactly what got us into building Chartio.
Chartio was built by people who've gone through these pains before so that no one should go through it again. We were those guys that got stuck trying to perfect their internal dashboards and decided to make a company out of it. Don't build your own mediocre dashboard from scratch. Build an amazing one with Chartio!