How to Create & Manage SCRUM Project in Atlassian Jira
Introduction
In this article, we are going to learn how to create and manage an agile scrum project using Atlassian Jira software. As we go through these processes we’ll learn the basics of agile methodology as well.
Jira is the most successful and famous agile project management software. Agile methodologies allow you to manage effectively software development as well as known technical projects that require high speed and flexibility. Agile methodologies were created as software development methodologies but over the past few years, they have been applied also to know the strictly technical context. So that might be a valid project management framework for you. Agile methodologies like scrum allow you and your team to move away from a waterfall or linear progression where one thing follows the other and rather quickly adapt and change your roadmap based on the outcome of each of your project activities. This article can be very useful for members of technical teams like software engineers, project managers, and program managers and you will learn both how to use the Jira software as well as some general theory behind agile project management specifically the scrum framework.
Create Jira Account
Let’s create a free Jira account first. As we create an account, we’ll be ready to channel into the process of creating a new project. In order to create a new Jira account go to the official Atlassian website.
If you already have an account select the login option, otherwise choose the sign up for an account option to create a new free Jira account. There you will see SSO options as well in addition to signup using an email address if you would prefer.
Verify your email address to confirm the account and then enter your name and create a password in order to complete the signup process.
So once you have completed the signup process you’ll redirect to the Atlassian Home page where you can try your Jira software. Once you select the Jira Software product to try it for the first time it’ll automatically channel you into the process of creating a new project.
If you need Confluence or Jira Service Management which are additional Jira products, select them as well. In this demonstration, we stay with only Jira software. On your free plan, you’ve 10 users and 2GB of storage included.
Next Jira will have you create a project website. As the project website name give it a project name including an identification number. So that you can have a unique name.
This will have you create a new site under which you can create one or more projects. This will have started in the process of creating your first project.
Create SCRUM Project
By creating our free Jira software account, we’ve initiated the process to create our first project. In this step, we’re going to create our first project as a SCRUM project using Jira.
Once you have created a project site it’ll redirect us to the process of creating a new project automatically when we set up a Jira account for the first time. Select you are new to Jira and we have a tight schedule to finish our work. This will guide you in creating the right project and the right framework for it.
This will have you as a recommendation. A SCRUM and Team-managed project as the project Template and Type. This is because the scrum of agile methodologies is particularly adapted to teamwork that has tight deadlines. So we’re not too flexible about our deliverables. We need to stay on track.
Give it a project name including an identification number to identify your project and this will give you a key which is a unique identifier for this project.
If you wish to change the project template or type you can change them as you wish in this step as well.
Then you’ll redirect to a page where you can connect different tools to your Jira software account. Such as Slack, MS Teams, etc to collaborate with your colleagues.
Then you’ll redirect to a section where you can invite the teammates. If you wish to add them later you can simply skip and invite them later as well.
The creation of your scrum project is completed now and you’ll redirect to the Jira dashboard where you can start using your new project.
Already a Jira user?
If you’re not creating a new Jira account but rather you are already a Jira user, you have already an active account. So you can create a new project by simply selecting the Projects option in the menu bar and selecting create project option.
This will run different processes but still, you can use different project templates. Software Development will have SCRUM as a template available. Select the SCRUM as the project template and it’ll give you a brief introduction to the scrum template. You can use the SCRUM template by selecting the use template option.
Under the SCRUM project template, you’ll redirect to choose the project type as Team-managed and Company-managed. We stay with Team-managed.
After confirming those options the end result will be the same as before when we create a new Jira account. Give a project name and create.
So if you’re a already Jira user you can follow these steps.
Create User Stories & Tasks
Let’s start using our scrum project by creating user stories and tasks. Once we open the project, on the left-hand side menu select the Backlog to move to the Backlog dashboard. In the SCRUM Backlog we put the list of work items identified by the team to be completed during the sprints. So that we can schedule the work in the scrum methodology. Work items could be user stories, bugs, tasks, design changes, technical debt, customer requests, action items from the retrospective, etc.
User story
Let’s create user stories in the backlog. In scrum methodologies user stories are the informal, natural language description of the product feature from an end-user perspective. Let’s imagine that we’re a software or web application development team. We need to create a website and app for an airline. In scrum methodology we think in terms of user stories. That means we think of the production tasks from the perspective of the user as we said. So we’re thinking for example “As a traveler, I want to create an account so I can see my upcoming flights and print boarding passes”. This is an example of a user story.
Let’s create our first user story by creating an issue in our Backlog. In the Backlog dashboard, there is Backlog drop-down section below the sprint drop-down section, to create and add issues to the backlog. Click the create issue in that section in order to create a user story.
Make sure that the story format is selected as the issue type. In the Jira Backlog, we can create issues such as Story, Task and Bug. An issue can be a Story, a task or a Bug.
When we write a user story,
- we think as a type of user: traveler
- I want to achieve a specific goal: being able to create an account
- To receive a certain benefit: I can see my upcoming flights and print boarding passes
You can approach this in different ways, but this is a perfect example of a scrum methodology application. Hit enter to save this user story so that we can create more issues.
Tasks
Once we’ve created the user story then we need to think as a software development team. What do we need to do to complete this user story? So to allow the users to perform these tasks and achieve their goals. Tasks represent what we need to do to complete a user story. Let’s create some tasks for our user story to better understand. Create a new issue and make sure to select the issue type as Task this time. Type what we can do to complete our user story. For example we may need to design the account creation interface and also we probably need to implement a single sign-on for user authentication etc.
Now we have a user story and a list of tasks that we need to complete the user story.
We can approach this in different ways. You can have the tasks from the user's perspective or the team's perspective. Here we’ve written the tasks from the development team’s perspective to see what we need to do to have our user stories completed. So we translate a user story into different tasks that we need to do to make that user story possible.
Great! We’ve started put in the backlog what we need to do. Let’s begin our teamwork using Backlog and Sprint which are parts of the scrum methodology.
Plan with Sprints & Backlog
So now we’re going to plan the work with sprints and backlog.
Backlog
We already know what is backlog. Backlog is a repository where we have all the issues (user stories, related tasks and bugs) stored. So that we have all the work that needs to be planned in one place and everything is marked as to do.
Sprint
A sprint in the scrum methodology is a specific effort, something that lasts for one week or two, maybe three or four weeks. It has a specific time and specific goals depending on the organization. So it’s a chunk of work that develops throughout a specific time with an objective to be completed. Usually, the team will have a sprint planning meeting or sprint kick-off meeting. This will be a meeting held at the beginning of a sprint. Normally you would take about two hours for every week that you intend to plan. For example you need a two weeks sprint then you will allocate a 4 hours sprint kick-off meeting or two meetings of two hours each so that you can work on planning the sprint. The team will get together, analyze the backlog and see what kind of things could and should be developing at a given time. You may have one or more user stories to be completed into one Sprint.
There is a default sprint already set up at the top, but you can always create more subsequent sprints by clicking create sprint option. So let’s place issues from backlog to sprint. Decide in two weeks of time frame what priority works need to be completed and move them from backlog to sprint by drag and drop.
We can have defined more than one subsequent sprint by creating new sprints for the remaining issues. But we can have only one started ongoing sprint. So create a new sprint and drag and drop the remaining task issues into the second sprint. When you create more sprints and add issues for them consider the priority.
Now we have defined 2 sprints with 3 issues for each and marked them as To-Do by default. After we planned our backlog we can see our backlog is now cleared. But it doesn’t necessarily mean that we’re done with everything. We may create more issues as more tasks need to be completed or more user stories will rise. We can then plan sprints later. So the backlog is containing all the remaining work as we start adding it and then we’ll plan it in specific time frames using the sprints.
Connect User stories with Tasks
Using Link Issue
In Jira, we can connect related issues together. We already know that our user story and its tasks are related to each other. So open any task you want to connect with the user story and use the link button in the right-hand side and choose the link issue option.
Then select the related to option in the dropdown and search for the user story you want to connect with. Although if you need you can connect one task with more than one user story.
After establishing relations, whenever we open a task or a user story we can see its relations.
Now we’ve established a connection between our tasks and the user story. In addition to the ‘relates to’ link option there are other link options as well for link issues.
Using Child Issue
Instead of creating tasks and linking them with user stories, we can create child issues within the user story. Click the add a child issue option inside an issue to add child issues to it. You can also add story points to these child issues, assign to a team member and change the status as things will get completed.
Once you add child issues it’ll display that they have child issues to be completed. Complete all the child issues to complete the parent issue.
This is a different way to connect the tasks. It’ll be up to you how you organize your work. Probably the best idea would be to have one user story for the sprint and then have all the work completed. So that you can have one functionality completed per sprint.
Add dates & goal
Before starting the sprint we might also want to add dates. In the add dates option set up the time duration(usually 2 weeks) and sprint goal for the sprint.
We can do the same for subsequent sprints also.
Now we’ve established a timeframe and a specific goal for each sprint.
Estimations
Estimations are some sort of identification of how complex user stories or tasks might be for the team. These estimations could be provided using,
- Time. eg: designing the account creation interface will take 4 days.
- Story Points. (Many teams prefer using story points)
So you can use either planning with time or using story points. Story points will be more effective in taking in consideration the overall complexity of a task.
To add an estimation for a task or user story using story points open the issue you want to add an estimation, scroll down to the details section in the right-hand side, and add a story point estimation.
Story point estimation is giving us an indication of what is the value of each of these tasks against user stories or against sprint for instance.
In the above example the design account creation interface task has given 2 story points and the implement SSO task has given 3 story points. That means the design account creation interface task has taken 60% of this sprint and the implement SSO task has taken 40% of this sprint. User stories may be made of a certain number of story points as well. For the same example 5 story points to have it all completed.
This will give you a sense as you score the different items of how complex it will be perhaps because of uncertainty or sources needed and time and efforts needed. So that you can see in a given time frame how many points the team can achieve. This will help you in planning, and escorting your different activities according to the rules that you will set within your team.
Start Sprint
Once you are ready, start the sprint! and the work will begin.
As soon as we start a sprint, we will redirect automatically to the Board where we can see the ongoing progression of our sprint.
Manage sprints with the Board
Essentially the Board is just a visualization of the progress of our ongoing sprint.
Progress
On the board, mainly we can see issues(Story, Task, Bug) with the relevant story points that we’ve created and the remaining days to complete the sprint. As the team continues working, we can move these issues from one stage to another. By default, Jira has provided us with 3 stages sequentially To Do, In Progress & Done. Whatever changes we made to the Board will reflect on the Backlog view as well.
Add additional stages
In addition to the provided 3 stages by default, we can customize and add stages as many as we need according to the requirement.
In this example, we’ve added an additional stage called In Review to review any task by professional reviewers, 3rd parties, or teammates before mark as Done, and have placed it between In Progress and Done stages.
Complete sprint
Once all our issues are in the Done stage, we can complete the sprint. Before completing the sprint check all the story points are also in the Done stage as well in the Backlog view.
Once we checked all that, we can proceed completion of our sprint.
The sprint will disappear from the Backlog and Board views and will be marked as done once we complete the sprint.
Create epics
An epic is a larger chunk of work, essentially an epic is a piece of work that is made by more than one user story. This is another way to break down your work and organizes it.
Create an epic
Let’s start working with epics. To display the epic panel, go to Backlog view and at the top, you’ll see the Epic drop-down. Choose the show epic panel option, then Epic Panel will be displayed as a new column in the Backlog dashboard.
So we’re still on our software development team as we work on a website and app for an airline. So let’s create a new epic called “Flight Booking”.
Under the epic, we can create more than one issues to fit into the Flight Booking epic. To add the issues to the epic select the View all details option in the epic, which will open the epic details. In the epic details select the child issues, then you will be able to add new or existing issues to this epic.
Now we’ve 2 issues(stories) within our epic. On the left-hand side our epic is no longer showing the no issues message, and on the right-hand side in the backlog instead, you will see 2 user stories we just created within our epic and they’re showing these stories are part of the Flight Booking epic.
We can now move user stories from the backlog into the sprints, start developing stories by starting sprints, add more issues, and create new tasks related to the stories like we did before. Once we are able to complete all the issues within the epic, the epic of Flight Booking will be completed.
Note: You can plan more than one sprint at the same time or leave the issues(stories) in the backlog to plan and begin a new sprint whenever you complete a sprint. You can schedule sprints throughout the year or quarter all at once or simply plan the next sprint after the previous one has been completed.
We can set a timeframe for an epic to complete a specific functionality by giving a start date & end date.
Add Dependencies
We’ve already seen that issues can be related to one another. Previously we learned how to connect issues(tasks and stories) marking them as related to one another or even creating child issues. So that you have other issues within another. In this topic, we’re going to explore instead how to add the dependencies.
For example, What if we have a progression? you can only develop the functionality after you have designed the visual interface. So you need to complete the design first before you can start coding the functionalities. So there’s a dependency. The issues are not simply related to one another, but they depend on one another.
So let's add a dependency using our project. Open the design task, and on the right-hand side choose the Link option to choose the Link Issues option.
Choose the link type as Blocks to add a dependent, and search for the issue(s) which are dependents of this issue.
Then simply Link.
Now we’ve established a correct dependency, between these 2 tasks. Design the calendar widget graphics task effectively blocks the code functionality: calendar. Once we established a dependency, if we look inside the dependent task, we’ll able to see that already a link has been established on that side also, but the relation is reversed.
Manage Dependencies by adding time frames
In addition to adding a timeframe for a sprint, we can add a timeframe for issues as well by opening one of the issues in which you want to add a time frame, and then adding a start and due date. But if you couldn’t find it right away in an issue by default, you need to select configure option to configure the fields of an issue. This will lead us to the project setting.
Then by simply dragging and dropping, we can add/configure extra fields that we want to have in the specific issue types(story/task/bug).
Now our Task issue type also can have a start and due date. So add time frames for tasks considering dependencies as well. Once you established time frames correctly go to the Roadmap view, and you’ll see epic and the sprint will appear on the Roadmap. In this Roadmap section, you can see dates have been reflected and also related tasks linked to one another. So that we can see our 2 tasks depending on one another.
Burndown Charts
In a scrum methodology, we will have kick-off meetings and then even daily quick stand-up meetings to give updates to one another, especially towards the end, but also throughout the progression of our sprint. A burn-down chart can be very helpful in our meetings to get an idea of the status of our work so far.
Create burndown chart
Let’s create a burndown chart. First, we need to create a new dashboard for the burndown chart.
Give new dashboard a name.
Search for the burndown gadget to add it to our new dashboard.
It will automatically be set to the next sprint due.
So once we start a new sprint, as the sprint becomes active we can go and check the new burndown dashboard we just created. You can see that the burndown chart is now present in our reporting. We can add more gadgets here to create our dashboard and reporting here. Our next active sprint is showing us the burndown chart which will have a guideline, remaining values, and Non-working days.
Analyse burndown chart
To understand these let’s take an example of a complete burndown chart as we need time to show the burndown chart, progressing in our dashboard.
- Throughout the days or the weeks, we’ll see the burndown chart change in this way. We set the number of story points estimated for our progression in our sprint. Then the software will give you a guideline, a gray line that is showing you assuming a linear progression where should you be in decreasing your story point at a given time. So let’s say for example that our tasks all together in the sprint make up for 50 points. As you continue working you are expected by 7th November in this graph to have hit 25 remaining story points. And then in the second half of the sprint, you will have the other 25 points, reaching the completion of the sprint by 14th November.
- In Gray, you see the non-working days.
- The red is instead the estimate compared to the actual work and progression of our team. So this is the work that our team is actually doing. You can see that it’s far from being linear and you can definitely see that by 14th November we’re only halfway through and we’re still missing 25 roughly as the story point estimate. We’ll be completing this instead by 16th November. So this is showing you your progression in red, compared to a leaner expectation in gray on how many story points you are consuming as you progress with your sprint. So how much work is left to do? A very good way to review periodically with our team in the sprint to analyze how the sprint is going.
Conclusion
You have learned how to apply scrum methodology, creating sprints using epics and user stories, creating connections and dependencies between the different issues, and planning your sprint with a kick-off meeting and continuous support meetings, and closure or sprint meeting where you can evaluate how your tasks are moving from todo to in progress to the done state. You’ve also learned how to add different states and use the road map as well as the backlog to plan your work.
Thank you for staying until the end of this article. If you enjoyed reading it, please press that clap👏 a few times, leave a comment and please share if you think this article will help someone else as well.
If you’re interested in more articles like this, Follow me on Medium!