How to build a Power BI priority matrix for your JIRA boards
DO MORE THAN JUST ANALYTICS WITH MICROSOFT POWER BI AND ATLASSIAN JIRA
At IRONIC3D, my role is diverse, and every day I find myself switching screens constantly between a dozen so apps to get an answer to the simple question: Where are we at today? Once, I spend the rest of the week finding ways to stop me from switching screens! So I put my design skills to work and came up with a solution. I hope you’ll be able to use it too.
But first, let me run you through my software situation.
I’ve been using Microsoft Power BI business intelligence software for a while. now. What I like about Power BI more than other BI software such as Tableau, Qlikviews and BIRST, is the low barrier to entry – the Pro version costs only $10 a month and there is a free version too. That’s DIRT CHEAP. Did I say that out loud?
At the current price point, BI is highly accessible, and SMEs can finally join large businesses in driving their sales through data. Is it perfect? No. Is Tableau perfect? No. You always have to work within the limitations of any BI platform. The trick is to focus on the 80% that is good, and find solutions for the remaining 20%. I find that a good rule to follow as it beats all-or-nothing thinking. (Why I use Microsoft Power BI is a topic for another day – there’s more to it than just price.)
One reason to use Power BI is its ability to connect with third-party services. Power BI Cloud and Power BI Desktop come built in, with connections to many cloud-based tools, including accounting, CRMs, newsletters, marketing tools and even social media channels. For the other apps that are not there, there’s always the CSV or database connection route.
For us, JIRA from Atlassian is where we spend most of our time. As we are a software solutions business, JIRA is a great fit. (If you’re not familiar with JIRA, it’s a software development tool used by agile teams.) I like to use JIRA, and my team hates it, so we have agreed to use it for our development work only.
Now back to the screen-switching syndrome.
I do a lot more than just architecture solutions for apps and writing stories and features for development teams. I also manage the sales pipeline, marketing, recruitment and do those admin tasks that everyone loves so much. A long time ago, I decided to start using JIRA Core as a to-do list tool for each of those areas, since I spend most of my time in JIRA.
Why not use Trello or another tool, you ask? You weren’t paying attention to the screen-switching rant, were you? It turns out JIRA Core works surprisingly well for many areas in the business. If you love using a tool then your opinion is biased. It worked for a while, until I found myself switching between boards. Never fear though, JIRA allows for customized dashboards, so with my design skills I came up with this dashboard to see my all tasks at once.
This works – don’t get me wrong – but I wanted to do more. Power BI is the first dashboard I see every morning, as it makes sense to track the health of the business first thing each day. It already has a JIRA connection which I use as a dashboard to track the performance of the development team, so I wanted to bring those tasks into Power BI alongside the business metrics, providing a business-health-what-do-I-have-to-do-today kind of dashboard. But I didn’t want the default in face-to-face reports that are bundled with the connection. I wanted something more functional and that makes sense, like this:
Enter the priority matrix, or as some know it, the Eisenhower Box. It is a double axis chart that arranges tasks in four quadrants:
- Urgent and important
- Urgent and not important
- Not urgent and not important
- Not urgent and important
I like to work on a double axis chart. As Alan Weiss said in his book The Great Book of Process Visuals, “Give me a double axis chart and I can rule the world” – that’s its subtitle. The nature of the double axis chart in a priority matrix makes it easy for me focus on what is important and urgent and delegate the “time wasters”.
My version of the priority matrix is designed following option 2, as this seemed to match my workflow more closely. The challenge, however, is to bring five different Kanban boards, each with a different set of stages, into one double axis chart.
This is a step-by-step guide to how I do it.
1. Identify what type of issue is used for each board
JIRA Core has templates for creating business projects, each with its own type of “issue”. An issue in JIRA is an entity that can represent a task, a story, a bug, a chore or even an asset. Each core template is designed to handle a single type of issue. For example, the default content management template defaults all issues to Assets, while the task management template uses Task. Identifying those types allows us to filter for specific types once we are in Power BI, as a double measure of filtering.
2. Identify the ending stage name for each board type
In JIRA, most boards end with a ‘done’ stage. Some templates are different. In the content marketing template, for instance, the end stage is ‘published’. If you are like me and add your own stages to a default template, then make a note of those. Do this for every project you intend to include in the priority matrix.
3. Define a scale system
All issues default to medium priority when first created in JIRA, regardless of the issue type or project. From there you can choose high, highest, low and lowest. Our matrix has four quadrants, so we’ll have to pick four. I choose the top four as my priority filters to use and stick with (highest, high, medium and low). If lowest is important to your workflow, you can merge it with low in Power BI.
4. Time to design it in Power BI Pro Cloud
Connecting JIRA with Power BI requires the Pro Cloud version. Connect through the Get Data → Services page. Once connected, the JIRA connection comes pre-built with a dashboard and two drill-in report pages.
A dashboard in Power BI is a single page that displays tiles. Tiles are pinned to the dashboard from reports. A report is one or more pages of visualisations (line charts, pie charts, tree maps and the like). The default dashboard and reports from JIRA are a good starting point for getting a performance overview of a software development team. What we want is to create a custom visual from a JIRA dataset and display it on our own custom dashboard.
5. Pick Route A or B
To build the priority matrix we must create a report, and there are two ways to do this. They are identical, apart from where the report lives.
- Route A: You can build a new report and have it saved under the JIRA collection (i.e. Dashboard and reports).
- Route B: Build a standalone report.
I’ll go with Route A because I like an organised reports page.
Go to the reports page by navigating to My Workspaces → Reports. Click on the JIRA reports, then from the menu choose Edit report. Use the + button to create a new report.
6. Build the first quadrant
Start with a table visual, then either use the search button on the right or scroll the Get Issues dataset until you find Summary. Tick the box next to Summary and that should add a table to the canvas.
Believe it or not, we are almost there. All we have to do is apply a visual-specific filter and a global filter for the page.
A visual filter is specific to the visual that is selected. A page filter will filter all visuals present in the page.
For our visual filter, we want to add the Priority column to the Filters list. Drag and drop the priority over to the filter section and select Highest.
Now for the page filters. Add the following to the page filter section:
- 2x status.name
For assignee select your name, for duedate leave at default, for issuetype select the types from step 1, for project.name select only the projects to display, for the first status.name you want select advanced and have it display everything except the ending stage from step 2. My five projects had two types of ending, either ‘publish’ or ‘done’ – that’s why I’ve added two filters. For the first filter, I filtered out ‘published’. For the second filter I filtered out ‘done’.
7. Copy the remaining quadrants
Copy the table three times and place the copies as you want. You need only change the ‘priority’ filter for each table to filter for that specific priority. In my reports, I’ve added a card visual to display the name above each visual. This step is not essential, though, as once we pin the visual to the dashboard we can add a custom title and subtitle to each tile.
8. Pin the visuals
Select a visual and look for the pin icon on top of the visual. Once it is clicked, a dialogue box will ask you to pick an existing dashboard or to create a new one. Do that for all the visuals, except for the card visual if you have one.
9. Organise and display
Navigate to your dashboard and you should see your visuals stacked. You can move around in the space and scale them any way you like.
When the tiles are in the position and to the scale you want, click the settings for each tile and add a custom title and a subtitle for each tile.
And that’s it! Your own custom priority matrix from multiple JIRA boards.
Why did I add duedate to the page filters? Unfortunately, at the time of writing, the cloud version of Power BI doesn’t allow for custom time series. This means it is not possible to do things such as filter all issues that are due this week, or next, or this month. If a dataset doesn’t include a time series then those time manipulations are not possible. JIRA comes with a few time series that are specific dates. This means we must rely on duedate to filter by a specific date. It’s an extra step to filter out the date every morning, but that’s a 20% for you.
Microsoft Power BI is a powerful tool and capable of producing amazing reports and insights from a web interface. The Desktop version is far much more capable than the Web version, but being able to plug into any browser and start creating reports and doing data analytics is what's making Power BI popular. Give Power BI a try, you might surprise yourself and actually like it!