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 agile methodologies bring. In agile, development happens in iterative cycles and improvements are made in each iteration. Feedback is gathered as early as possible, improving customer engagement and team collaboration. All of these actions help development teams to better anticipate and manage changes.
Atlassian, the maker of popular issue tracking software JIRA, recognizes the values agile can bring. It has become a leader in agile software development by coming out with JIRA Agile, a product that adds agile support to JIRA. In this chapter, we will introduce the basics of JIRA Agile.
By the end of the chapter, you will have learned:
What JIRA Agile is
The different options to install JIRA Agile
The key concepts and terminologies
Creating new agile projects with project templates
JIRA Agile, formerly known as GreenHopper, is a JIRA add-on that enables agile capabilities in JIRA. This does not mean you need to choose between JIRA and JIRA Agile. As we will see later in this chapter, JIRA Agile simply takes the data stored in JIRA, transforms and presents it in a way that makes it easier for you to visualize, plan, and manage your issues with agile methodologies such as Scrum. JIRA Agile supports two 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 emphasizes 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.
JIRA Agile is an add-on for JIRA
JIRA Agile is powered by new features and data stored in JIRA
JIRA Agile is not a separate, standalone application
JIRA Agile does not require you to be a seasoned JIRA user to use it
As an end user, you can use JIRA Agile, almost independently, from JIRA if you choose to
Before we can install JIRA Agile, we first need to make sure we have everything we need. Firstly, you will need to have an account on the my Atlassian website (http://my.atlassian.com). You should have an account when installing JIRA and the account should have your JIRA license. If you wish to try the product, you can sign up and create an account for an evaluation purpose.
The easiest way to get JIRA Agile is to install it directly from JIRA, via the Universal Plugin Manager (UPM). To do this, you will need to have an account with JIRA System Administrator global permission, and perform the following steps:
- Click on the cog icon from the top right-hand corner of the screen and select the Add-ons option.
JIRA Agilein the search box and hit the Enter key on your keyboard. This will search Atlassian Marketplace and automatically find the latest version of JIRA Agile that is compatible with your version of JIRA, this is shown in the following screenshot:
Click on the Free trial button for JIRA Agile in the search result list.
Enter your Atlassian ID (your Mac account) when prompted and click on the Log in button, as shown in the following screenshot. This will automatically generate for you a 30 day trial license for JIRA Agile:
Click on the Get started button to take you to the Getting Started with JIRA Agile page as shown in the following screenshot:
As you can see, installing JIRA Agile is simple and straightforward. However, there might be times when you cannot use the Universal Plugin Manager (UPM). In these cases, you will need to manually download JIRA Agile from https://marketplace.atlassian.com/plugins/com.pyxis.greenhopper.jira onto your local computer first, then upload and install it via the UPM.
You might want to do a manual installation if you need to install a specific version of JIRA Agile due to version compatibility issues or other bugs with the latest release. Another reason would be if your JIRA does not have access to Atlassian Marketplace due to network or firewall settings. To manually install JIRA Agile:
Go to the preceding link and click on the Download link to get the add-on file.
Select the Manage add-ons option from the left-hand panel.
Click on the Upload add-on link:
Select the downloaded add-on file, and click on the Upload button.
After you have uploaded the add-on, you will need to generate an evaluation license. You can do this by either going to https://my.atlassian.com or the Marketplace page and clicking on the Try it free button.
If you have used JIRA before, it is useful to understand how JIRA and JIRA Agile work together as a whole. Firstly, as we have mentioned earlier, JIRA Agile is an add-on for JIRA, so it leverages many of JIRA's features. It also introduces some new features and concepts
The agile board, or simply board, is a new user interface introduced in JIRA Agile. It is the main interface you, as the end user, will be using most of the time. If we use a real life comparison, the agile board will be your white board where you will place your user stories as post-it notes, which will be represented as cards. Essentially, you get the advantages of being able to visualize your backlog, as well as the added benefits of keeping track of changes and the progress of your tasks, along with reporting capabilities. For many teams, to keep using a white board is still very valuable, and we will look at ways we can combine both the white board and the JIRA Agile board in Chapter 5, JIRA Agile – Advanced.
In JIRA Agile, there are two different types of boards, one for Scrum and the other for Kanban, each with their own features. There is also a classic board, which is no longer under active development, so we will not be covering it. The following screenshot shows a sample Scrum board in the work mode:
A card is like a post-it note you would have on your white board. It captures the user story and represents the requirement or feature that is to be implemented. In JIRA Agile, each card is an issue in JIRA. The following screenshot shows what a card looks like in JIRA Agile:
Every unit of work in JIRA Agile, such as a story or an epic, is an issue in JIRA. They are simply new issue types created by JIRA Agile when it is installed. The following new issue types will be added:
Epic: This represents a big user story that has not been broken down into finer-grained requirements. In JIRA Agile, 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 non-technical language while focusing on the desired results of the feature.
JIRA Agile 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/display/JIRA/Advanced+Searching.
Workflow is the heart of JIRA and is what powers JIRA Agile in the background. As we will see in later chapters, JIRA Agile is able to integrate with your existing workflows, or adapt to and model after your development process. When you are just getting started, you don't have to know much about workflow as JIRA Agile will take care of it for you.
To help you get started quickly, JIRA Agile comes with two new project templates, one for Scrum and one for Kanban. If you are familiar with JIRA, project templates let you create new projects based on pre-defined templates. So, when the project is created, it will have all the necessary configurations set for you, including:
Select the Create Project option from the Projects drop-down menu.
From the Select Project Type dialog, select either the Agile Scrum or Agile Kanban template and click on the Next button:
Enter your project's name and description, and click on the Submit button to create the new project.
As we will see in later chapters, to use JIRA Agile, you do not have to use these templates. You can enable JIRA Agile and create agile boards for any existing projects. These templates are simply tools to help you get started quickly.
In this chapter, we looked at some of the basics of JIRA Agile, what it is, and what it is not. JIRA Agile is an add-on that lets you visualize your issues in a different way, and by leveraging many of the core features of JIRA, it keeps the learning curve low, especially for seasoned JIRA users.
Now that we have laid out the basics of JIRA Agile, we will start to explore how we can use it to run agile projects, starting with the Scrum methodology in the next chapter.