Agile Dashboards with Pentaho CTools
Dashboards are very powerful tools to implement tracking and accountability. They provide a quick and simple means to share data to assess performance objectively – identify strengths and weaknesses one of the key data points to help with accountability. Their use is easily justified in large organizations with important goals and often warrants extensive investments in time and money. With an Agile approach, time and money required can be greately reduced. And somewhat surprisingly, the faster build often yields more highly tailored solutions to meet even complex tracking and accountability rules.
We have found the following approach allows non-technical business managers to work with highly technical teams to achieve tracking and accountability in a straight-forward and cost-effective manner. These steps will work with any dashboard tool that allows changes to the layout, look and feel, data queries and data sources in a flexible environment. Our tool of choice is Pentaho CTools. Whenever possible we start with a template so that the team moves more quickly to touching and using ‘real’ data to explain their needs and confirm the desired user experience.
[callout size=’col-12′ last_column=’false’ title=’Phase I – Getting started – define the dashboard project’ description=”
- Determine the goal
- Establish a target date
- Determine the team
- Establish daily or frequent meeting times. Establish face to face or virtual meetings to enable the dashboards to be viewed and used.
- Establish possible sources of data
- Write a short summary, confirm with team and move into Dashboard Creation
Phase II – Start with a template
A working dashboard is an easy way to get user buy-in and saves time when trying to explain the options available to the users. Allowing a user to click and observe is quick and easy. Start with a template when possible. If you have a new team, get help. If you have a similar model, then use it. If do not have a base dashboard, consider the purchase a sample that is similar to what you need. Identify the changes that you need to be made and document them. Be clear – writing it down and getting confirmation saves time in the next phase.
Phase III – Get or create sample data
Whenever possible, build a sample data set to show in your template dashboard. In this way, the users can confirm you understand the dashboard logic and summary points or clarify their needs. It may be possible to create sample data in a spreadsheet so that you can easily create any needed data to test all the filtering, drilldown and summary items. If the template can attach to a spreadsheet, it is often possible to cycle through different data options quickly to keep the user engaged. Avoiding extra meetings or long responses can keep the business users motivated.
Phase IV – Identify all the data options that you need
- Captions for the filters and columns
- Summary rules (total, average, min, max, etc.)
- If possible, get your corporate branding so the dashboard looks as professional your team deserves. With Pentaho CTools the CSS utilization makes design a snap for most web-based developers.
- Filter options – get specific with your users. Ask them to define the filter options. Here are typical approaches:
- Dynamic selection based on the data available
- Pre-determined list – just in case you want to show that some options are not present, but the user knows the data is expected.
Free-form options to a quick drill down. So many times a manager needs to get data quickly to address a problem. Make it easy when you can!
Phase V – Rules for invalid data handling
One of the important items that can easily be neglected is ‘bad data’ handling. In the rush to build the dashboard to meet requirements, make sure there is a step of validation. Users can be very helpful to define how to deal with exceptions as well as what defines the exception. An experienced data developer should also apply a process to ensure all data has been presented and fully included.
Phase VI – Iterate to final
Here lies the fun and the challenge. There is a fine balance between making it great and making it perfect. One must make sure it serves the purpose, but also not get carried away with the power of cyclical development. Review your goals and see if you have them achieved. If so, it may be wise to declare success and start a new project with a new goal. Celebrating a real victory is always helpful.
Use a template approach and start with a subset of data that is easily manipulated, is representative of the real data to be presented and has enough categorical diversity to demonstrate the desired filters and sorting. Additionally, there needs to be enough detail to enable a reasonable test bed for drill down demonstrations.
Warning: While AGILE approaches can greatly enhance both the time to solution, the innovation and the customer satisfaction, there are times when the agile approach may not best fit your needs. If developers are unfamiliar with the tools, the fast turn-around beneficial to understanding may lead to excessive stress for developers and frustration for non-technical users that must interrupt their daily schedule. New and untested staff may not respond well to the time pressure. Also, an untested development environment and/or use of production systems my lead to wasted time for the agile team or the production users.