Jira is one of the most common applications for handling software projects. It is an Agile project management tool and it supports Agile methodology, whether that is kanban, scrum, or any other view of Agile. In one single JIRA tool, you can manage, track, as well as plan all your agile software development projects. It is actually a software program that enables companies handle their projects, processes, tasks, and issues.
JIRA is regarded as a ‘smart software’ as it easily automates the tedious stuff related to processes, project management, tasks, and issues. This software enables teams to handle issues all through the problem’s life cycle. It is highly customisable and tailored to fit various organisational structures. An Australian company known as Atlassian has developed this product and it is written in Java.
Components of JIRA
JIRA is divided into 3 major components and the term JIRA refers to a common platform that these products are developed on. Now, let’s have a look into these 3 JIRA components.
JIRA Core - JIRA Core resembles classic JIRA with its workflow capabilities and field customizations. JIRA Core is ideal for general-purpose task management.
JIRA Service Desk - JIRA Service Desk is a JIRA Core with the capabilities of a Service Desk. JIRA Service Desk is designed for running JIRA as a support system for ticketing with a focus on customer satisfaction with Service Level Agreement (SLA) goals and with a simple user interface for the end users.
JIRA Software - Previously known as JIRA Agile, JIRA Software is JIRA Core with capabilities of Agile. This is highly suited for software development teams that want to utilize Agile methodologies like JIRA Kanban and Scrum.
The JIRA family of applications are developed to provide a tailored experience to their users. JIRA core is JIRA’s default application and is always present in a JIRA instance. You can also include other applications like JIRA Service Desk or JIRA Software. A user may need access to any combination of these applications, or one application, or even all the applications.
As the default application is JIRA Core, if you have a license for JIRA Service Desk or JIRA Software, your users can have access to JIRA Core without the need for an additional license.
Every JIRA application offers a tailored experience for its users and is associated with a specific type of project, which in turn, provides application-specific features. The project types are business projects for JIRA Core, software projects for JIRA Software, and Service Desk projects for JIRA Service Desk. The associated application-specific feature set of JIRA applications is as follows.
The users who can log in to a JIRA instance can view every project present in that instance, but they can only view the application-specific features if they have access to application. For instance, a software project will be able to show data from linked development applications like Fisheye and Bitbucket on a software project, and you can create Agile dashboards. But, only a JIRA software user can view this information.
A JIRA Core user will not be able to view the application-specific features such as JIRA dashboards or information related to development, but can see the Software project. In the same way, a JIRA Software user will be able to have only a basic view of the Service Desk project and the issues related to it, but will be able to view any JIRA Service Desk application-specific features on the project.
JIRA is written in Java and is deployed into a java Servlet Container like Tomcat as a standard Java WAR file. Users interact with JIRA with the help of a web browser since JIRA is a web application. JIRA utilizes WebWork 1 for processing web requests that the users submit. WebWork 1 is actually an MVC framework that is similar to Struts. JSP is used by JIRA for the View layer. When you visit a specific URL in a web application, the scenario that happens is defined by a web application framework. In JIRA, almost all authentication is performed via Seraph. Seraph is an open source web authentication framework.
JIRA can have new actions that are defined with the help of Webwork. The Webwork Sample plugin consists of example classes and actions that can be utilized to understand this topic in a comprehensive manner. The Single Sign-On (SSO) and Identity Management tool of Atlassian is known as Crowd. You can know more about the JIRA architecture here.
This section will provide you with information regarding the installation of JIRA applications in both Windows and Linux.
Now, let’s have a look at the installation of a JIRA application in a production environment using the Windows and Linux installers.
Set up your JIRA Application
You have to choose the setup method first and then connect to your database. In the next step, you should set application properties and enter your license. After that, you have to create your administrator account and set up email notifications. Then, you can start using JIRA.
The issues in a JIRA software help you to keep track of your team, estimate workload, and manage code. In this section, I will let you know what all you can do with an issue.
Various companies use JIRA Tool to track different types of issues, which can represent anything such as a leave request form, a project task, or a software bug. In any JIRA project, issues can be termed as its building blocks. A task, a bug, a story, or any other issue type can be represented as an issue. An issue can be stated as a packet of work in JIRA Core. It can be a large chunk of work or a small task depending on your project and how your team decides to divide work into issues. An example of a small issue can be “Remember to order a burger for charity night” and a large issue can be “Build a bridging wall between garage and house.”
Before you begin with issue creation, you require the Create Issue project permission for the relevant project of the issue. Now, let’s have a look at the steps involved in creating an issue.
JIRA software allows you to keep track of various things such as helpdesk tickets, tasks, bugs, etc with the help of different issue types. An issue type can also be configured to act differently. This section will let you know the specific issue types that exist within the 3 JIRA applications, for example, to track different pieces of information or to follow a different process flow.
Default Issue Types in JIRA Core
Task - A task that needs to be done.
Subtask - A small task existing with a large chunk of work.
Default Issue Types in JIRA Software
Story - A story is a functionality request expressed from the user perspective.
Bug - A bug is a problem that impairs service or product functionality.
Epic - An Epic is a large chunk of work that consists of many issues.
Default Issues Types in JIRA Service Desk
Incident - An incident or a System outage.
Service request - A service request is a general request from a user for a service or a product.
Change - A change is a rollout of new solutions or technologies.
Problem - A problem is tracking of underlying causes of incidents.
Let’s say you already have a JIRA Cloud site and you need to move to JIRA Server, you can actually create a backup of your JIRA Cloud data which you can import into server installation. It is to be noted that, for your instance, the Atlassian Cloud takes backups every 24 hours for application recovery purposes.
The following data can be backed up and exported from your JIRA Cloud site:
You can use the Share option to email the link to an issue, to other JIRA users. This option also enables you to add an optional note to the email.
For sharing the issue with other JIRA users, first, you have to view the issue that you want to share. Then, you should click the Share button present at the top-right. After this, you have to specify the JIRA users or type the individuals’ email ids that you wish to share the issue with. You can add an optional note. If you are done with all this, you can click the Share button which is present at the bottom of window that is displayed.
What is a Screen?
In JIRA, when an issue is viewed, edited, or created, the resulting collection of fields that appear is defined as a Screen. A screen provides you with control over the data you want to get included in your issue based on the type issue you are editing or creating.
To create a screen in JIRA Tool, you must navigate to the Issues Administration page and choose “Screens” from the left sidebar. Then click on “Add Screen” and then, name your screen and write a description for it. See that the name is descriptive and says exactly what the screen is intended for. Then, you have to Add fields to your screen. The required field is only the Summary field but that is not enough for an issue.
A JIRA Scheme maps a project to any type of concepts managed by JIRA. By defining schemes, JIRA enables you to display specific pieces of issue information at specific times. A screen can simply be stated as a collection of fields. When an issue is being edited, viewed, created, or transitioned via a specific step in a workflow, you can choose which screen to get displayed. The screen scheme of a project determines which screens have to be displayed for different issue operations such as create, edit, or view. The various types of Schemes are as follows.
In JIRA Tool, the collection of issues is known as a Project. A JIRA project could be used to manage a help desk, track a project, coordinate a product’s development, and more, based on your requirements. A JIRA project can also be customized as well as configured for suiting your needs.
Creating a Project in JIRA
Click on “Projects” in the header and then on “Create Project.”
Follow the wizard for project creation.
More than one project type is available to you based on which JIRA applications you have installed.
Every project type has a particular set of features.
All the users on JIRA instance can see all projects, but the actions they can take and the features they see are determined by their project specific permissions and application access.
A project is created with its own set of schemes when you create it from a template. The schemes are:
“Create with shared configuration” can be selected to select an existing project and to utilize the schemes of that project. It is to be noted that when you are sharing schemes, any change to the scheme will have an effect on every project utilizing that scheme.
A Sprint is defined as a fixed time period wherein teams finish work from their product backlog. The time period for sprints may be one, two, or four weeks. A team will usually have developed and implemented a working product increment at the end of the Sprint.
In order to create a sprint in JIRA, you must navigate to the “Backlog” of your Scrum project and click on the “Create Sprint” button which is present at the top of Backlog.
Every sprint begins with a planning meeting. While planning a sprint, your team would usually commit to provide a set of stories which are pulled from the top of a backlog. You see sprints on a board in JIRA software and assign issues to them. With the help of JQL (Sprint field), you can search for any issues in upcoming sprints. This involves starting the sprint, assigning stories to sprint, and creating a sprint.
In order to start a sprint, you must navigate to the “Backlog” of your scrum project. You should locate the sprint that you wish to begin and click on “Start sprint”. Then, you have to update the Sprint name and add a sprint goal if required. After that, choose the Start and End dates for the Sprint. You will be navigated to the Active sprints where you can view the issues in the newly started sprint.
To view planned sprints, you can utilize the backlog of a board. You can utilize the Active sprints of a board if you want to see a sprint in progress. JQL can also be used to search for a sprint’s issues.
JIRA Core offers a range of reports that display statistics for specific versions, people, information about issues.
In order to generate a report, you must navigate to the desired project, and click on “Reports”. Then, you have to select a report from the list of reports. The various types of reports are as follows.
Upon connecting JIRA to Confluence, the following reports can be created in Confluence.
Your JIRA issues can follow a process that mirrors the practices of your team. A workflow defines a sequence of steps or statuses that an issue will follow. Examples of the statuses or steps are “Resolved,” “In Progress,” and “Open.” How the issues will transition between steps can be configured by you. The workflow scheme of a project determines which workflows will apply to issue types in this project.
You can define field behavior in JIRA by using fields. Every field can be visible or hidden, plain text or rich text, and optional or required. A field configuration determines the requiredness, overall visibility, and help-text and formatting of each field. A field configuration scheme in a project determines which field configuration can be applied to issue types in this project.
In different projects, different roles can be played by different people. For example, the same person can be an observer in one project and the leader of another project. JIRA allows you to allocate specific people to particular roles in your project.
In JIRA, grouping of issues can be done by allocating them to versions. Take for example, if JIRA can be used to manage the build of a house or manage the development of a product, you must define different versions which can help you to track which issues relate to various phases of your build or product. JIRA can help you archive, release, and manage your versions.
You can define various components for categorizing and managing different issues. Take for example, for a software development project, you might define components such as “Documentation,” “Usability,” “Database”. For each component, you can choose a default assignee. This is useful if you have different people who lead different sub-teams in your project.
JIRA enables you to control who will be able to access your project and what exactly they can do, with the help of project permissions. With the help of security levels, the access to individual issues can be controlled by you. Also, you can choose to provide access to specific roles, or groups, or users.
When the occurrence of a specific event happens in your project, JIRA can notify the appropriate people. When different events occur, you can select specific roles, groups, or people for receiving email notifications.
The development tools section is available only on JIRA projects, and it can be viewed only by users of JIRA software. This section provides you with an overview of development tools that are connected and specifies about which users can utilize the integration features between them.
An Epic captures a large chunk of work and it is defined as a large user story which can be divided into a number of smaller user stories.
User story or Story
A user story is a software system requirement which is stated in few short sentences with usage of non-technical language. A story is expressed as an issue in JIRA Agile and, within the story, the individual tasks are represented as sub-tasks.
A unit of work present within a story is known as a task. The stories are expressed as parent issues in JIRA Agile while the sub-task issues is the name by which the individual tasks are represented.
For an issue, a sub-task can be created to allow different aspects of an issue to be assigned to different persons, or to split the issue into smaller chunks. To allow the sub-task to be worked on independently, you can convert it to an issue if you find it holding up the issue’s resolution.
JIRA integrates with source control programs like Team Foundation server, Concurrent Versions Systems, Perforce, Mercurial, Git, and ClearCase. Real-time reporting is another great feature of JIRA. The real-time data enables people to act quickly on improvements along the process of your project.
Though JIRA is mostly used by software developers, any department can effectively utilize its project management capabilities. For any team that needs to work through issues and collaborates in an orderly manner, JIRA can be its ideal tool. JIRA helps companies in their marketing and compliance domains and it also is quite helpful for remote companies employing freelancers.
Free Demo for Corporate & Online Trainings.
Savaram Ravindra is working as a Senior Content Contributor for Mindmajix. His passion lies in writing articles on different niches which include some of the most innovative and emerging software technologies, digital marketing, businesses, and so on. Follow him on LinkedIn and Twitter.