Jira has become the de facto standard for tools that development firms use in managing issues. Even though Azure DevOps is popular amongst software development organizations that use the Microsoft product development suite, many non-Microsoft shops choose to use Jira to manage and optimize their development process.
1. Introduction to Jira: What is Jira?
Jira is an issue and project management tool that many people in the software development industry use, especially those using the agile development method. Made by Atlassian, it integrates with many of their other software development and project management tools, such as Confluence and Trello.
2. What can Jira do?
Firstly, Jira was designed as an issue management and tracking tool. So, the first question is, what is an issue? An issue has an extensive definition and usage. An issue could be anything of any size and importance to an organization. For example, in the software development domain, an issue could be a defect or a work item that needs to get done by developers.
On the other hand, it can also be a general task that needs to get done by anyone in the company, i.e., a blog, marketing brochure, purchasing a piece of material, etc. Once you have determined what an ‘issue’ is for you and your organization, you can begin to track and manage it. Let’s look at a few of the ways you can.
Any issue can be assigned to one person. This ensures accountability for team members and allows them to get notifications on what tasks have been assigned to them. Of course, only with the proper permissions can you assign tasks.
Task prioritization is a key feature in Jira. You can go with the default priorities or add your own. It’s the ability to customize for your own needs that makes Jira so powerful. Prioritization and other filtering and sorting enable you and your team to see what needs to get done right away.
Categorization and characterization:
Issues can be categorized in numerous ways depending on how an issue is defined. For software testing, we like to use the “Components” categorization to understand what parts of the software are experiencing higher issues or defect density than other parts. You can also add labels to issues to filter based on certain labels. The problem is that your whole team needs to be consistent on label usage to make filtering effective.
Filtering and sorting:
With high categorizing levels, Jira also enables filtering and sorting. Not just for Components and priorities, as mentioned above, but for any of the fields, either native or customized.
For a workflow, this is very helpful. Indeed, you can see tasks specifically assigned to you, allowing more focus.
Issues, tasks, and work items can be set up in a hierarchical structure so that each sub-task builds up to the main task. This is especially helpful in Agile, where you want to break down work components into smaller assignable and definable pieces.
Reporting and visualization:
With the many customizations and fields for any given issue, you can slice and dice the data any way you want. This can be dangerous because too many slices can lead to data that is too granular and therefore meaningless. But for example, using the Components feature above, you can determine how many percent of your issues (work item, development defect, or customer service ticket) reside in a certain functional area or feature of your product.
2.1. Jira allows integration
Because Jira allows you to integrate with many third-party plugins, you can add many capabilities into Jira. For example, you might want to connect your defects with your test cases and your test cases with your user stories, which Jira does not natively do. However, there are many plugins with third-party developers that you can integrate into Jira. And that adds some excellent capabilities.
Of course, one of Jira’s most potent integrations is the built-in integration with Confluence, where you can document organizational policies and other information critical to your operations but not necessarily part of ‘issue tracking’ inside Jira.
One last integration feature of Jira is that it supports the REST API. Any of the tools you are using in your development process can pass data back and forth to Jira and update data fields for an issue. This is particularly useful when integrating test case management with test automation tools and using Jira to manage manual testing and test automation.
API testing forms an important part of testing a web application. This blog post defines API Testing, discusses the challenges…
By: Connie Kang
2.2. Time Tracking
Jira can do time tracking. But like all-time tracking apps, there is no magic bullet for tracking your time. It does take time to input your time, but if that is done accurately (which is a big ‘If” as with most time tracking tools), then you can do filtering, visualization, and trending over time which can be valuable when analyzing what tasks or types of tasks are consuming more time than they should. This can be particularly useful in tracking overtime or unplanned work when requirements change or sprint contents are added without subtracting corresponding amounts of work.
Jira does workflows very well. So if your company has workflows of people doing one thing to the next and are involved in different roles, and you want certain checkpoints, Jira is great for that. For example, in a software development organization, you may have a process where requirements are drafted, approved, reviewed for testability, divided into subtasks (see hierarchical definition above), and then assigned to developers. After developers are done with their subtasks, which roll up to a larger task or epic, then it can be reviewed by the product owner for compliance with the requirements and then tested. Each of these tasks can be done by different people with checkpoints and signoffs inherent within Jira.
2.4. Jira can be configured to do anything
Although this is very powerful, it’s also a problem because companies have this vast toolbox that they might not know how to use correctly. Indeed, many businesses get Jira and only use the out-of-the-box configuration. And when we analyze how our clients use Jira, we see that they either use the default configuration or they tend to realize they use it to do everything and in non-standard ways across the organization. Of course, using the defaults is not bad. Still, they could be improving their productivity and usage of the tool by employing some of the basic configuration options for custom fields and screen configurations to collect and analyze the data for improvement.
On the other hand, if they have investigated some of the powerful ways you can customize, they often utilize it in different ways. This can be great for a small workgroup, but the result is non-standard implementations of workflows (for example) and one department not taking full advantage of another’s customization work resulting in duplicative efforts. As such, we often find a lack of standardization across an organization. Therefore, it’s difficult to aggregate and analyze data if everyone uses their own workflow and customized fields.
We, therefore, recommend they use the KISS approach.
3. How to best use Jira for my company?
Find a couple of workflows, apply Jira and use it in an agile fashion. That implies using it for a while, examining the workflows you have configured, dissecting how you manage your issues, seeing how you can improve it, and then configuring another iteration. What additional data should be tracked? Should issues or work items be broken down into a different hierarchy? Who should be able to move a workflow forward to the next step?
3.2. We Use Jira Every Day
At XBOSoft, we use Jira every day, not only to manage our own internal information and workflows but for our clients as well. As such, we’ve become accustomed to working at all levels of complexity in workflows and customizations and many third-party plugins. We hope that this short introduction to Jira has helped you in figuring out how to maximize Jira’s potential in your organization. If you need help on how to fit testing into the Agile process and how Jira can support that, give us a call or email us @ firstname.lastname@example.org