Jira Software Essentials - Second Edition

By Patrick Li
  • Instant online access to over 7,500+ books and videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies

About this book

Jira Software is an agile project management tool that supports any agile methodology, be it scrum, Kanban, or your own unique flavour. From agile boards to reports, you can plan, track, and manage all your agile software development projects from a single tool. Jira Software brings the power of agile methodology to Atlassian Jira.

This second edition of JIRA Agile Essentials, will help you dive straight into the action, exploring critical agile terminologies and concepts in the context of Jira Software. You will learn how to plan, track, and release great software. This book will teach you how to install and run Jira Software and set it up to run with Scrum and Kanban. It will also teach you to use Jira Software your way and run projects beyond the out-of-box Scrum and Kanban way, including a hybrid approach of both the methodologies and other options that come with Jira Software. Later, you will learn how to integrate it with the tools you are already using and enhance Jira with add-ons such as Confluence. You will learn to stay connected with your team from anywhere to ensure great development. Jira Software has numerous deployment options in the cloud, on your own infrastructure, or at a massive scale. You will be introduced to Bitbucket, Atlassian’s distributed version control system, which integrates seamlessly with Jira, allowing your team to work within the two applications as one harmonious environment.

With this practical guide, you will develop a great working knowledge of Jira Software and your project management will become much more efficient.

Publication date:
January 2018
Publisher
Packt
Pages
192
ISBN
9781788833516

 

Chapter 1. Jira Software Basics

Agile software development has been gaining momentum over the years as more and more people start to see problems with the traditional model, and the benefits that agile methodologies bring. In agile methods, development happens in iterative cycles and improvements are made with each iteration. Feedback is gathered as early as possible, improving customer engagement and team collaboration. All these actions make development teams better at anticipating and managing changes.

Atlassian, the maker of the popular issue-tracking software Jira, recognizes the values that agile methods can bring, and has come out with a solution that is specially designed for managing projects using agile with Jira, called Jira Software. In this chapter, we will introduce the basics of Jira Software.

By the end of the chapter, you will have learned about:

  • Jira Software and what it offers
  • How to install and configure a new instance of Jira Software
  • The key concepts and terminologies of Jira Software
  • How to create new agile projects with project templates
 

Introducing Jira Software


Jira Software, one of the three products in the Jira product family, along with Jira Core and Jira Service Desk, is a solution that is primarily focused on managing software development projects using agile methodologies, hence the name Jira Software. It takes some of the features of classic Jira (Jira Core), such as customizable fields and flexible workflows, and combines them with support for agile methods, giving you the complete experience of running a project the agile way.

Out of the box, Jira Software supports the following agile methodologies:

  • Scrum: This is an agile methodology where the development team works iteratively to complete the project. Each iteration or sprint has a defined timeframe and scope. Scrum is most suitable for software development projects. You can find out more about Scrum at http://en.wikipedia.org/wiki/Scrum_(software_development).
  • Kanban: This is an agile methodology that focuses on just-in-time delivery by visualizing the workflow and tasks in progress. Kanban is most suitable for operation teams. You can find out more about Kanban at http://en.wikipedia.org/wiki/Kanban.

Of course, since Jira Software is bundled with Jira Core, you also have the option to use Jira without agile methods, such as using it as a simple task tracker, and manage non-software-development-related projects. While we will be focusing mostly on using Jira Software for agile purposes, many of the concepts and topics, especially from Chapter 5, Customizing Jira Software, onwards, are also applicable to non-agile-based projects. Given that we are specifically covering Jira Software in this book, we will be using the terms Jira and Jira Software interchangeably, unless explicitly stated otherwise.

 

Installing Jira Software


Often, the best way to get familiar with something is to be hands-on, so we will be installing an instance of Jira Software and using that as the basis for all our subsequent chapters and exercises.

Installing Jira Software is a straightforward process. All you need are:

  • A server or virtual machine running either Windows or Linux
  • A database: Oracle, MySQL, Microsoft SQL Server, or PostgreSQL
  • Oracle JDK 1.8 or newer
  • The Jira Software installation package

You can find the full list of supported platforms and systems at https://confluence.atlassian.com/adminjiraserver075/supported-platforms-935390828.html.

Obtaining and installing Jira Software

For this section, we will be using the TAR.GZ or ZIP Archive installation package, as it works with any operating system. You can download the latest Jira Software from https://www.atlassian.com/software/jira/download. By default, the download page will autoselect an installation package based on the operating system used by your computer. You can click on the All Server versions link to see all options.

Once you have downloaded the file, go through the following steps to install Jira Software:

  1. Unzip the installation package (for example, atlassian-jira-software-7.5.0.tar.gz) to the location in which you want to install Jira Software. For example, in Linux, you might want to install it under the /opt directory. We will be referring to this directory as JIRA_INSTALL for the remainder of the book.
  2. Make sure the startup script file in the bin directory is executable. For Linux, it will be start-jira.sh; for Windows, it will be start-jira.bat.

Note

Make sure you create a user to run Jira Software with. You should not run the application under default admin accounts, such as root.

  1. Create a separate directory for Jira to store its local files, such as configurations, and logs. Make sure you keep this directory separate and outside the JIRA_INSTALL directory. Jira refers to this directory as jira.home, so we will be referring to this directory as JIRA_HOME for the remainder of the book.
  2. Open the file jira-application.properties in a text editor. You can find the file under the JIRA_INSTALL/atlassian-jira/WEB-INF/classes directory.
  3. Enter the full path of the JIRA_HOME directory. So the content of the file will look something like:jira.home = /opt/jira_home

 

  1. Save the file and execute the appropriate startup script in the bin directory from a console. You should see an output in your console similar to the following screenshot:

Setting up Jira Software

Now that we have installed Jira, we need to set it up by configuring its locale, language, and other aspects of the system. Jira comes with a setup wizard that will help guide us through the process.

We can access the wizard by opening up a browser and going to http://localhost:8080. This is if you are accessing Jira from the same machine that it is installed on. If you are using a different computer, change localhost to the actual host name. If Jira started up successfully, you should see the first step of the Jira setup wizard, as shown in the following screenshot. The Set it up for me option is a quick way for Jira to configure itself automatically, and this is a great way to have a trial environment up and running quickly. We will be using the I'll set it up myself option in this exercise to explore all the options available:

The second step is where we tell Jira the type of database we will be using and how to connect to it. The Built In option will create an in-memory database, which is useful for quick trials, but if you want to use Jira in production, you need to select the My Own Database option.

Select the database type you want to use. Note that for some databases, such as MySQL, you will be required to download the driver and install the driver before you can proceed further. Jira will let you know if a driver is needed.

Once you have selected the database type, enter the connectivity details. Each database type is different, so you will need to consult with your DBA or database manual if you are unsure. Use the Test Connection button to check whether the settings are correct and Jira is able to connect to the database.

Sometimes network configurations or firewall rules may prevent Jira from connecting to the database:

The third step is for you to enter some basic information about your Jira installation. All these settings can be changed later, so do not worry if you are not sure. The one setting to take note of is Base URL. It needs to be the fully qualified URL to your Jira instance. If this is set incorrectly, it may lead to issues later, such as links in email notifications not working:

The fourth step is where you enter your license key for Jira Software. If you have a key, simply cut and paste it into the text box. If you do not have one, you can generate a 30-day trial license by clicking the generate a JIRA trial license link on the page.

This will require you to have an account with the My Atlassian portal. If you do not already have an account, you can register one for free and then generate a trial license:

For the fifth step, you will be asked to create the administrator account. This will be the super administrator account that you will need during emergencies, especially if you integrate Jira with an external user management system, such as LDAP, and there is a problem with the connectivity between you and your chosen management system.

Note

Store the credential of this account in a safe place and do not lose it.

For the sixth and last step, you have the opportunity to set up how Jira will be sending out emails for notifications. Unlike the previous steps, this is optional, so if you do not have a mail server ready, you can skip this step and set it up later:

And that is it! Congratulations, your Jira is installed, configured, and ready to be used. Click on the Take me to JIRA button at the bottom-right corner to exit the wizard:

After clicking on the Take me to JIRA button, you will be automatically logged in with the administrator account you created earlier. Since this is the first time this account is being used, you will be asked to set up some personalization options, such as the preferred language and avatar. Once you have personalized the account, you will see the welcome screen, similar to the following screenshot:

Creating a sample project

Since we have just installed a fresh instance of Jira, we will be asked to create a new project. You have the option to import issues from existing data, such as a CSV file, or another issue-tracking system, such as Bugzilla, with the Import issues option. Create a new empty project and start using it right away with the Create new project option, or create a sample project with Jira's built-in sample data to explore and experiment with using the Create sample project option, which is what we will be doing in the following steps:

  1. Click on the Create sample project button.
  2. Select the type of project from the project template menu. We will be using the Scrum software development template:
  1. Enter a Name and Key for the new project:
  1. Jira will create a new project and populate it with sample issues, and you will be taken to the new project and its agile board, which is a Scrum board in our case. We will talk about boards in the next section and the Scrum board in Chapter 2, Jira Software for Scrum.
 

Understanding Jira and its agile features


If you have used Jira before, especially prior to Jira 7, you would likely have used Jira for a variety of purposes, including—but not limited to—agile software development. In fact, before Jira 7, to have agile capabilities in Jira, you would have needed to install a separate add-on from Atlassian, called Jira Agile. Starting with Jira 7, agile features are bundled with the Jira Software product package, and you will not need any additional add-ons. There are, however, a number of useful third-party add-ons that can greatly enhance your experience, which we will cover in later chapters.

Since we will be focusing primarily on using Jira Software for agile software development purposes in this book, let's start with some agile concepts and look at how they are represented and used in Jira.

Agile board

The agile board, or simply board, is the main user interface that you, as the end user, will be using on a day-to-day basis for your projects. The agile board allows you to visualize tasks in a project and the available steps in the workflow, and gives you an interactive way to transition tasks through the workflow. Depending on the type of board you are using, there are also additional features that will provide a range of functionalities—for example, some may allow you to manage a backlog of features, provide visual cues to highlight potential bottlenecks, and more. Together with additional add-ons, you can even take snapshots of your agile board and place them onto a physical whiteboard, and vice versa. The following screenshot shows a sample Scrum board in work or sprint mode:

Card

A card is like a Post-it note that you might use on your whiteboard. It captures the user's story and represents the requirement or feature that is to be implemented. In Jira, each card represents a task or issue. The following screenshot shows what a card looks like on an agile board:

Issues and issue types

Every unit of work in Jira, such as a story or an epic, is uniformly referred to as an issue. Each issue has a field called issue type, which represents the type and purpose of the issue. For example, in a Scrum project, we would have the following issue types by default:

  • Epic: This represents a big user story that has not been broken down into finer-grained requirements. In Jira, epics are usually used to define the "theme" for several stories that will be part of it, as well as modules or major components in a big development project.
  • Story: This represents a single feature to be implemented. It is usually used to capture requirements from the end user's perspective. For this reason, stories are often written in nontechnical language and focusing on the desired results of the feature.
  • Bug: This represents a defect or problem that needs to be fixed in the product.
  • Task: This represents a generic task that is not a bug or a story, but which needs to be completed.

As we will see in later chapters, you can customize the list of issue types for your project to adapt to your project requirements better.

Fields

Each issue is made up of a number of fields, such as the issue type field mentioned earlier and other fields, such as summary, description, and assignee. Jira comes with a default set of fields to help you get started quickly, but as we will see in Chapter 5, Customizing Jira Software, it is very straightforward to add fields to your projects.

Workflows

Workflow is at the heart of Jira and is what powers Jira and its agile board in the background. As we will see in later chapters, Jira is able to integrate with your existing workflows, or adapt to and model after your development process. When you are just getting started, you do not have to know much about workflow as Jira will take care of it for you. We will cover workflows in more detail in Chapter 5, Customizing Jira Software.

Filters and JQL

The Jira agile board is able to work on either one specific project or multiple projects at once. When you want to have multiple projects, you will need to use filters to define what issues will be included. For this reason, understanding and being able to use Jira Query Language (JQL) effectively can be very handy. You can find more information on JQL at https://confluence.atlassian.com/jiracoreserver075/advanced-searching-935563511.html.

 

Using Jira agile project templates for agile


As we have already seen when creating our sample project, Jira comes with a number of project templates, such as Scrum and Kanban. Project templates let you create new projects based on predefined settings so that when the project is created, it will have all the necessary configurations set for you, including:

  • Issue type scheme: An issue type scheme that contains only the relevant issue types for the selected template, such as stories and epics for Scrum.
  • Workflow: A specially designed workflow, making it easier to work with yours issues on the agile board.
  • Screens: A set of screens that contain the necessary fields for working with agile, such as epic links to link stories to epics, and sprint for when tasks are added to Scrum sprints.
  • Agile board: An agile board that is dedicated to the new project, if the template is either Scrum or Kanban.

As we will see in later chapters, you can create agile boards for any existing projects, even if they are not created as Scrum or Kanban templates. These project templates are simply tools to help you get started quickly.

 

Summary


In this chapter, we looked at some of the basics of Jira Software and its support for agile methodologies. We installed an instance of Jira Software from scratch and created a project using the Scrum project template with sample data, which we will use in later chapters.

Now that we have laid out the basics of Jira Software, we will start to explore how we can use it to run agile projects, starting with the Scrum methodology in the next chapter.

 

About the Author

  • Patrick Li

    Patrick Li is the cofounder of AppFusions and works there as a senior engineer. AppFusions is one of the leading Atlassian experts, specializing in integration solutions with many enterprise applications and platforms, including IBM Connections, Jive, Google Apps, and more. He has worked in the Atlassian ecosystem for over 9 years, developing products and solutions for the Atlassian platform and providing expert consulting services. He has authored many books and video courses covering Jira 4 to 8. He has extensive experience in designing and deploying Atlassian solutions from the ground up, and customizing existing deployments for clients across verticals such as healthcare, software engineering, financial services, and government agencies.

    Browse publications by this author

Recommended For You

Jira 8 Essentials - Fifth Edition

Explore the new and improved Jira 8 features such as agile board and advanced search for efficient project management

By Patrick Li
Jira 8 Administration Cookbook - Third Edition

Build customized solutions that fulfil your business requirements using the latest features of Jira 8

By Patrick Li
Jira Quick Start Guide

Leverage Jira's powerful task management and workflow features to better manage your business processes

By Ravi Sagar
Python Machine Learning - Third Edition

Applied machine learning with a solid foundation in theory. Revised and expanded for TensorFlow 2, GANs, and reinforcement learning.

By Sebastian Raschka and 1 more