Book Image

Jira Software Essentials - Second Edition

By : Patrick Li
Book Image

Jira Software Essentials - Second Edition

By: Patrick Li

Overview of 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.
Table of Contents (13 chapters)

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.