Scrum Development With Jira — Agile Project Management (Part 3)

Fernando Putra
16 min readAug 10, 2021

--

Welcome to the third part of my Agile Project Management summary. In this reading, we’ll learn how to implement and facilitate Scrum using Atlassian Jira, agile teams' #1 software development tool. But If you haven’t read the second part yet, you can read it first😉

The references I used in making this summary are from Agile with Atlassian Jira by Atlassian, Scrum Development with Jira & JIRA Agile by Xavier Morera, and Atlassian Jira and Agile and Scrum Fundamentals for Beginners 2021 by Vlajko Knezic.

DISCLAIMER: I’m not an expert and have no prior experience in this subject. I simply want to summarize and share what I’ve learned from the references, in the hopes that it will be helpful to you.

“Trying to manage a project without project management is like trying to play a football game without a game plan.”

— Ken Schwaber

Introduction to Jira Software

As you may recall, one of Scrum’s pillars is transparency. So, a Scrum Team’s success depends on transparency within the team, and tools encourage everyone to be fully aware of progress and updates. The most critical tool you’ll need is to manage your Backlog, Sprints, and any other essential documentation.

Jira by Atlassian is a popular Agile team project management tool that supports all team and backlog management aspects. It can be customized for your team and will provide you with the central place to find everything related to your Scrum Team, Product Backlog, Sprint definitions, velocity, burndown charts, and more.

A Jira project has three main components: Issue, workflow, and people.

Issue

The issue is a generic name for a unit of work. It is anything that will eventually get someone’s attention required to achieve some completion. There are different issue types:

  • Bug: A flaw that needs to be fixed in the product.
  • Epic: A Collection of stories in the roadmap.
  • Story: A requirement from the user’s perspective. Usually, a user story or a short description of a functionality (I.N.V.E.S.T).
  • Subtask: A part of another issue that breaks an issue down into specific pieces of work.
  • Task: A work item that needs to be done by the team but is not directly tied to a user requirement.

These issue types are typically sufficient to use Scrum for your project. However, we can modify or add a different issue type as needed.

Workflow

The workflow is a set of predefined steps and statuses that tasks go through from creation to completion. It’s used to model the processes involved in the project. You can also modify this workflow or define the one you intend to use in your development process.

People

The people are the lists of users with access to your platform and their user profiles. It allows you to manage who has access to the project, their access level, which roles and groups they belong to, etc.

To add users to the project, navigate to Project Settings, select People, then add users. You can enter an email address to invite a user to your site. The invited user would then receive an email and be allowed to join your site. This ability to invite users right from Project settings is available if you are a site administrator or the site has been set up so that users can invite other users.

Without further do, let’s start developing our Scrum Project with Jira🏃‍♂️💨

Project Overview

Online store from wallsheaven

Let’s say we’ve got a new project to build a relatively standard online store website called Lily Store. This website will have the following features:

  • Allow users to browse products for sale as anonymous or logged-in users.
  • While browsing, users can add products to their personal wish list or shopping cart.
  • Users can purchase items and pay by credit card or PayPal.
  • Should the user decide to purchase items in the shopping cart, they must log in or create an account if they don’t have one already.
  • Users can set alerts of the price for items in their wish list and receive e-mail notifications when the price changes.

To help the team create a solution centered around the user and the user experience. We broke down the requirements and wrote them down as user stories. It’s important to note that the Development Team can also write user stories as long as the Product Owner remains accountable for the Product Backlog item.

Project user stories

After that, we’ve to group related user stories into a collection of user stories called epic. It helps us to keep track of the ideas and collect all your user stories in one place. It also makes it easier to manage our projects and ensures we don’t miss a key requirement.

Project epics

Create a Scrum Project

Step 1: Log in to Jira or create a new account
You can open your Atlassian Cloud site if you already have a Jira Software Cloud account. If you do not have a Jira Software Cloud account, you can create one for free here.

You will likely be prompted to select a second product, Confluence, and Jira Service Management. However, they aren’t covered in this part. So you can click next and install it at any time.

After that, you're asked to provide a site name that will be used to access your Jira account. You can enter any name you want with only one constraint: it can’t be used by someone else. Generally, your site name is something familiar or resembles your company name.

When done, click Continue and follow the steps until you reach the “Project templates” screen.

Step 2: Choose a project template

To create a project, click the Projects dropdown in the top navigation, then Create Project.

On the Project Templates screen, you’ll see many template segments, available templates, and brief descriptions. When you click on a specific one, you will get a detailed explanation of the features of that template, which is very useful.

We click the Software development segment on the left and select the Scrum template. Then click on the “Use Template” button to confirm the usage of this template.

On the next screen, you’ll be asked to choose a project type.

Step 3: Choose a project type

There are two project types: Team-managed and Company-managed.

  • Team-managed is a more straightforward project configuration and gives project admins more control. You may choose this type if you prefer ease and flexibility and want to control your working processes and practices in a self-contained space.
  • On the other hand, Company-managed is set up and maintained by Jira admins. It is the best choice if you want to keep better control over the project configuration and work with other teams across many projects in a standard way, such as sharing a workflow.

In this case, we’ll use a company-managed project because it currently has more capabilities than a team-managed project. Some of those features are custom workflows and custom quick filters, which are essential for the efficient usage of Jira.

Step 4: Provide the project name

You’ll need to provide the project name and project key. The project name should be reasonably short but descriptive enough. You can leave the Key value at its default value. It's a prefix to numbers assigned to user's stories in that project.

There is also an option to connect to work across your tools. If enabled, our project will be connected to other Atlassian tools, such as Confluence and Bitbucket, which are available under the same license. We can leave it unchecked for now.

Click on the “Create Project” button, and you are done. You’ve created a Jira Scrum Project 😎.

Create a Product Backlog

To create a backlog, you’ve to navigate to the backlog screen. On the project page, click the Backlog to view it. It should be empty. We’ll start by creating the epics first, then followed by other issues.

Step 1: Create epics
In the backlog screen, epics are contained in the epics panel. Click on Create Epic to bring up the pop-up.

Give the epic name according to what we’ve declared before. To simplify, fill in the summary field with the same as the epic name. Click on the Create button, and epic is created. Let’s repeat the same steps to make the remaining epics.

Once done, you can see that our four epics appear in the panel. Now, we can move on to creating issues.

Step 2: Create issues
There are several ways to make JIRA Issues. Here, we use the Create button in the top navigation. Click the Create button to bring up the pop-up.

  • The Issue type is the type of the issue, such as story, bug, and task.
  • The summary is likely the issue name.
  • In the description field, you would provide the full description and details about the story.
  • The reporter field captures the name of the user who created the issue.
  • Linked issues are a way to create dependencies between issues, such as one is blocked by another.
  • The assignee is used to assign an issue to a specific user.
  • The epic link is used to associate the issue with an epic.

Make sure that the story is the selected issue type. Fill the summary field with the user story, leave the description field empty for now, and select the epic associated with the user story.

Once done, click the Create button, and the story comes up in the Backlog. You can see that it includes the epic label showing to which epic the story belongs. Repeat the same steps to create the remaining issues.

Great👍, now we’ve all our issues sitting in the Backlog. However, we still haven’t prioritized the issues and estimated the effort to complete them. We’ll do that in Backlog Grooming.

Grooming The Backlog

In this step, we’ll perform the Backlog Refinement (formerly known as backlog grooming). Backlog Refinement refers to the act of keeping the Backlog described, estimated, and prioritized. It is when the Product Owner and some or all of the Scrum team review the Backlog to ensure:

  • It contains the appropriate items, and nothing new is needed, or nothing needs to be removed.
  • The Product Owner prioritizes the items.
  • The items include estimates or an informed assessment about how much work a particular Backlog item will be.

Knowing that, let’s establish the priorities of our issues.

Step 1: Prioritize the issues
As a product owner, I want to start with the account management epic. Then, there is purchase management, shopping cart management, and the last prioritized epic, wish list management.

One option to manage the backlog priority is to drag the story to the top. But there is a quicker way to move an issue to the top or the bottom of the Backlog.

Right-click on the issue, and a pop-up appears with options to send an issue to the top or bottom of the Backlog. Select what you need.

This is the result after we prioritize the issues:

Step 2: Estimate the issues
The last step before we can start planning our sprints is to estimate the issues. We must assign each issue a number representing the effort estimate to finish. We can find out how much work we have ahead of us through estimation.

Here, we’ll use a famous mathematical sequence of numbers called the Fibonacci sequence. But for story points' sake, we skip zero and the first 1. These numbers are special in that they start close to one another, but they spread farther and farther out as the numbers get higher. This is helpful because as the estimate increases, the uncertainty and risk also increase.

To add an estimate, select the story; it will open up on the right-hand side of the screen. Look for the story points field and enter the story point.

Assign the estimate for the remaining tasks.

This is the result after we have set an estimate for each issue:

Now, we have a Well-Groomed Backlog. All issues are sorted by priority, each with an estimated effort. We are ready to start planning our Sprint.

Planning She Sprint

Now it’s time to create a sprint, assign the Product Backlog Items (PBIs) to the Sprint, and define the subtask of each item, which becomes the Sprint Backlog. But before we start, we have to calculate our team capacity to maximize the value and velocity without going over the team’s points capacity.

Let’s say our team has three developers, and we’ll be running two weeks of sprints (ten working days) during our project. We cut 20 percent of team capacity for unexpected factors that can and will happen constantly. Thus, the total capacity of our team equals 24 days of work in a single 2-week sprint.

Step 1:⠀Create a sprint
To create a sprint, navigate to the backlog screen. At the top of the Backlog, click on the “Create Sprint” button, which will create the Sprint with a default name. We should avoid using numbers or any sequences in sprint names. It is common to use general knowledge items such as geographical terms.

To edit the Sprint, find the Sprint you want to edit and click on the “three dots” button next to it, then select the “Edit Sprint” option. You will be presented with a dialog where you can change the sprint name, duration, start-end date, and sprint goal.

In this case, I named the Sprint with Denver, set the Sprint duration for two weeks, and defined the sprint goal.

Step 2: Assign the issues to the Sprint
Assigning the issues isn’t as simple as sequentially moving them from the top of the Backlog into a Sprint. We must accommodate dependencies between issues and ensure that the sum of estimates for all issues in a single sprint is not more than 24. If an issue puts the team over 24 points, skip that one and add the next issue that fits within the remaining capacity. If the team has enough capacity left over, they can start work on the next prioritized epic.

To add an issue to a Sprint, right-click on the issue. From the pop-up, select the Sprint you want to send it to. In this case, the Sprint is called “Denver ”. Assign the next prioritized issues to that Sprint until the number of Story Points assigned fits the team’s capacity of 24.

Step 3:⠀Create the subtasks
As you may recall, the Sprint Backlog is a subset of items from the Product Backlog that are identified for completion during the upcoming Sprint.

To create a Sprint backlog, navigate to the backlog screen. Select the story; it will open up on the right-hand side of the screen. Click on a “square checklist icon” and create a subtask.

Step 4:⠀Assign subtasks to the team members

Select the subtask; it will open up the subtask section. Look for the “Assignee” field and assign one of your team members to work on it. Please note that you must first invite people to your project.

Also, you can set the priority of that subtask from the highest to the lowest.

When done, go back to the backlog screen to start the Sprint. To do that, click the Start Sprint button next to the sprint name. The popup shows where you can confirm and optionally change the sprint detail. I’ll leave the fields with the values I’ve set before. Then click on the “Start” button.

Congrats🎉, your first Sprint has successfully been started.

Daily Scrum

As you may recall, Daily Scrum may occur on each day of a Sprint to help the team synchronize and to get a plan out for the next 24 hours. Jira can help you to run your daily scrum more efficiently using the “Active Sprint” screen. This is the board that the scrum master should keep open during the daily stand-up to give a whole perspective of everything that’s taking place in that Sprint.

Here’s how Jira can help you take control and streamline your daily scrum:

  • It shows team members all the issues with its status, such as to do, in progress, and done. To modify the status of an issue, drag it into the status column you need.
  • If you open the issue, you’ll find detailed information about its issue. It informs all interested parties about any changes or activity in an issue, such as the comments, history, and the work log.
  • It provides information on how much time is left on the current Sprint. To do that, hover over the clock icon. This is a powerful reminder for everyone as they know what must be done.
  • It shows insights into your sprint progress. It is a good metric to help you adapt existing processes, drive better outcomes, and confidently plan.

We can also configure this board as required, such as creating a new board with different configurations, modifying how issues are grouped, and making quick filters that allow you to show a subset of issues. This is very useful as we can see the big picture for each one of the team members: what they have spent, what they are working on, and what they have completed.

When you've finished the Sprint, click the Complete Sprint button. Be careful, as you can undo this action.

Sprint Review

This is where our Scrum Team presents the results of what we've accomplished over the last two weeks to all interested parties, including stakeholders, customers, and management, to observe our results.

  • Typically, this meeting starts with a presentation explaining the Sprint Goal and a backlog summary.
  • Follow up with high-level release notes and provide an overview of what has been achieved. At this point, we are building an expectation and putting people into the context of what we have worked on.
  • Then, we ended up doing a demo or showcasing what we accomplished.

Sprint Retrospective

Jira comes with dozens of agile reports offering critical insights for scrum, kanban, and any agile methodology. We can improve our Sprint Retrospective using some of the best Scrum Reports, such as Sprint Report, Velocity Chart, and Burndown Chart. This is how Jira can help improve the sprint retrospective meeting:

Navigate to the reports screen to see reports such as the Burndown Chart, Burnup Chart, Control Chart, Sprint Report, Velocity Chart, Cumulative Flow Diagram, and more. Here, I’ll cover the Sprint Report and Velocity Chart.

Sprint Report

The Sprint report is the most helpful report available for the sprint retrospective. It gives you an instant view of how you’re doing in your Sprint in terms of progress and priorities.

Once you’ve clicked the Sprint Report, it will show the burndown of work: a red line for the completed issues, and a grey line is a guideline on how issues should have been resolved to stay on track.

For this sample Sprint, the rate at which the issues were completed looks similar to the guideline. This means that no significant blockers were found, and the team was working and solving issues at a constant rate. Also, if you scroll down, we can see a list of completed issues for the Sprint that still need to be completed. This report gives us a good perspective of the work during this Sprint.

Velocity Chart

Another helpful chart is the Velocity Chart. It provides the average work a scrum team completes during a sprint. The grey bar shows the planned Story Points in a sprint, and the green bar shows the Story Points you’ve finished. Ideally, they should be the same height.

Once multiple sprints are completed, you can use this report to predict how quickly the team can work through the Backlog because the report tracks the forecasted and completed work over several sprints. The more sprints, the more accurate the forecast.

The Velocity Chart lets us see whether process improvements could be made or requirements should be honed to increase reliability in your sprint planning and, consequently, deliver more consistently on your sprint goals.

Yay! You’ve finished the third part of the Agile Project Management summary. I hope this will be a helpful guide for you to develop a scrum project with Jira. If you have any questions, please feel free to leave a comment below😁

Thank you for reading! If you found this article helpful, kindly share it with your friends and follow my profile for future updates. Your support is much appreciated! PS: It would mean even more if you donate a pizza 🍕 here. ✌️

--

--