Selecting Software

Subtitle: 5 Hours

This week I decided that I was going to select the dashboard software that I will use to monitor some important systems that I am responsible for. To make the right selection, I decided to use the following process: 

  1. Define the requirements that I have for the dashboard software
  2. Find different options for the software that might fit the requirements
  3. Make a selection based on the best software. 

I have made a selection. Even though I’m not going to go into the deepest details of the decision making (this post is too short for that), I will tell you about the high-level steps. 

Lastly, the constraint that I put on myself is that I had to decide on the software with only 5 hours of research. Any more would be more work than the project is worth. 

Define The Requirements

First, I wrote down everything that must be present in a dashboard for it to be useful. Even though some of the requirements seem basic, writing them down helped me to realize that I didn’t need the most complex system in the world. I simply need a system that can give me basic reports that are updated regularly.

  1. Must be able to do line graphs
  2. Must be able to do bar graphs
  3. Must be able to do pie charts
  4.  Must be able to report data tables
  5. Must be in active development. So that future features and bug fixes are expected.
  6. It must be easy to implement a desktop.
  7. It must be possible to serve across the internet.
  8. Must be able to consume data from different data sources easily.
  9. Creating or updating a dashboard must be more like a configuration task than a programming task.
  10. Must be open source.

Nice to have, but not necessary

  1. More complex reporting graphics
  2. Username and password login restrictions
  3. Permission levels for specific types of data

Find Possible Options

Next, I went out and looked for possible options that fit my requirements. Having the specifications made it easy to decide whether to add the option to the list. If it didn’t fit one of the requirements, it didn’t make it on the list. (Except one, and we’ll talk about that in a moment.)

Here are several possible options I found. 

Make A Selection

Once I had the possible options, I started to try them out to see if they genuinely fit the requirements. I found myself using Dash a lot, and tried to make it do everything I needed it to. After about 2 hours, recognizing that I was using up most of my 5-hour budget, I had to admit that Dash did not fit the “Creating or updating a dashboard must be more like a configuration task than a programming task” requirement. Dash was programming. 

I also used many other analysis questions, like:

  • Is this software currently under development?
  • Can I install this on a server I currently have? 
  • Are there other hidden costs? 

Once all of the questions were answered, I settled on Metabase as the top choice. And since I spent less than 5 hours on the selection project, I have plenty of time for implementation. 

Selecting software doesn’t need to be difficult. It simply needs to do the work that you need to do right now.