Using JIRA as a bug tracking tool

It’s been 4 months since we decided to start using JIRA to track bugs in the development of our software library. Here’s a quick rundown on how we use it, and what we think of it…

JIRA logo

Dashboards

These are a simple way to aggregate all the important information, and provide an overview of what’s been going on / what needs to be done. Upon logging into JIRA, I’m immediately greeted with everything I need to get right back to work.

My JIRA Dashboard

The dashboards are highly customisable – everything from aesthetic options such as colours, column layout / size to more functional things such as choosing what exactly each gadget (Atlassian’s fancy name for a widget) shows. For example, I have a gadget displaying all the cases from my custom filter “My Queue” which organises my current open cases by priority (I’ll talk more about filters later). I also have another one which shows the recent activity of all the other users on our JIRA. This is great because it means less time spent bugging people for updates on cases / where my coffee is, and more time spent working.

Another cool type of gadget is the million different types of graph you can use to visualise different things, such as progress so far this sprint, the number of solved cases vs. new cases, how many cases are assigned to each person, the list goes on.

graph of upcoming release changes

One of the graphs we use shows how many fixes / features have been completed so far and are going to be shipped in the next rollout

Graph of open cases

This pie chart shows how many open cases (new features / issues / improvements) some of our projects have

These provide a nice overview of how things are progressing for each project, and can also be used to keep an eye on your personal performance.

Filters

Filters are a powerful tool for organising cases. For example, I have one set up that shows me all unresolved cases assigned to me, and orders them by status (in progress / to do / in review / done) then by how old they are. As you can see below, I’m using JQL (JIRA Query Language) to write custom queries much like SQL that give me complete control over the filters. This means that as aforementioned, the most important cases are always at the top of my queue, on the front of my dashboard

filtered case list

Here’s part of my filter “My Queue”

Projects

These are a neat way of organising large amounts of cases into groups – for example, we sort by product, meaning we have a separate project for all JPedal cases, another for JPDF2HTML5, another for each customer with bespoke solutions, etc. Each project is given its own overview, much like a dashboard, that shows you all kinds of relevant information ranging from latest activity on all cases in the project, to statistics and reports.

This is really useful for us when it comes to rollouts for our products – JIRA has a feature for each project labelled “releases”. Each case we work on is assigned a release version attribute, so when it comes to the end of the month we can simply open up the “releases” tab under the relevant project, and we can see all cases assigned to it. This makes writing up the release notes really easy!

release notes

Here you can see some of the changes made in our June release of JPedal

Fitting in with other software

At the moment, we use ZenDesk for our support. We currently have plugins for both that let them communicate with each other – ZenDesk can create new cases from its Support tickets, and JIRA can update these tickets as progress is made.

The ZenDesk plugin sits on the side of all our cases, allowing developers to quickly and easily update support on progress made on issues

Final thoughts

So in summary, JIRA is incredibly customisable and can be a very powerful tool – it just takes a little setup / getting used to. We had a some friction during the transition to JIRA, but now we’ve worked out the kinks I think it’s safe to say now that our development process has benefited a lot from it.

What tool(s)/software do you use for bug tracking? Let us know in the comments below.

If you’re a first-time reader, or simply want to be notified when we post new articles and updates, you can keep up to date by social media (TwitterFacebook and Google+) or the  Blog RSS.

Related Posts:

The following two tabs change content below.

Rob

Software Engineer at IDRSolutions
Rob is a developer at IDRSolutions, currently working on JPedal. In his spare time he enjoys riding his motorcycle, playing guitar and studying languages that don't require a semicolon at the end of each line (including Japanese, Ruby and Chef).
Rob

About Rob

Rob is a developer at IDRSolutions, currently working on JPedal. In his spare time he enjoys riding his motorcycle, playing guitar and studying languages that don't require a semicolon at the end of each line (including Japanese, Ruby and Chef).

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>