Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview


JIRA is a web-based application used for bug tracking and implementing agile practices for projects. We are using JIRA for project management and assignment tracking. The main features include the ability to create issues for a project and assign them to users. The issue is created in the project for a specific version of the project. When a user works on the issue they can track their progress in JIRA and anyone who is watching that issue will be notified of its change. Issues can be broken into sub-tasks to make progress more visible. Collections of issues can be sorted into groups called Epics, allowing for the total project to be broken up into smaller sections.

This article will introduce the basics of JIRA on a general level before going into more detail on how we have implemented our customized solution at Solü.


Panel
borderStylesolid
titleTable of Contents

Table of Contents



Introduction to JIRA


Watch the training videos

The following training videos provide a high-level overview of JIRA's core features, using JIRA with Agile and integrating JIRA with Confluence. 

JIRA 

     ***https://www.youtube.com/playlist?list=PLaD4FvsFdarSWUyuv6cto4gunIvVzDTGD

JIRA Agile 

     ***https://www.youtube.com/watch?v=KdyV9okLRl

*** Temporary links until Atlassian University is updated. (see https://confluencedisplay/Training/University+Archive)

JIRA at Solü

Having a solid understanding for the basics of JIRA is essential to understanding how JIRA is implemented in practice at Solü to satisfy our specific requirements. JIRA is highly customizable; the remainder of this article details practices and processes unique to our own installation.

Issues


An issue is a unit of work that must to be completed for the project. Issues take the form of EpicsStoriesSpikesTasks and Bugs.

Issue Hierarchy

Issue types have a distinct hierarchy. An Epic can contain multiple Story (development work) or Spike (research work) items. Each Story or Spike can contain multiple Task (new features or work) or Bug (maintenance work) items.

 Epic

 Stories

 Tasks

 Bugs

 Spikes

 Tasks

Note

You cannot create Tasks or Bugs unless they originate from a Story or Spike parent item.

Issue Types


The following provides detail for each issue type used within the Solü JIRA workflow.

Epics 

Epics are an issue with a large scope. This is used to break up work on a project into smaller sections of issues. Epics can be used for sorting purposes, allowing you to sort issues into categories of work, or by a specific overall goal. You link other issues to the epic, thus organizing them under that epic. You should not use an epic to represent a single issue, but rather use epics for organization.  An Epic could represent a feature for a piece of software. 

Stories 

Stories are a type of issue that has an end result, such as code or a mock up. It is a representation of a user story. Stories are used to create something for the project, or allow the completion of an action. They are one of the more common issues. You would use a story to complete work towards the next version of the project. A story has an epic link and acceptance criteria in addition to the attributes issues have.

Spikes 

Spikes are an issue revolving around gathering requisite information for the project. Spikes can be used for training activities or to signify a need for new knowledge to move on or complete a section of work.  A Spike could be the research of a new tool needed for a project. Spikes have the same attributes as a story but also add a confluence page link.

Tasks 

A task is something that needs to be completed for the issue. It is a way to break down an issue into its core components and track progress on an issue as it is completed piece by piece. It should be used for an item that has a small scope, usually pertaining to one action. Anything more complex should be made into a spike or story instead. 

Bugs 

A bug is a problem with previous work that impairs progress on the project. A bug, like spikes and stories, has an epic link.  However, it does not have a priority and it requires a time estimate. You would use a bug when something is found about the project that impairs progress and needs to be fixed. These are not new features, but rather fixes of old things.

Workflows


workflow represents the set of steps necessary to transition a given JIRA item from the initial TODO state to the final DONE state.

Creating

To create any issue select the create button on the top bar. This opens a window which allows you to select the type of issue. If you want to create several issues at a time, check the "Create another" box on the issues menu that opens. This will keep the window open when you create an issue. The exception is a task which is created within an issue.

Epics 

To create an epic you select it from the issue type menu and it will update the attributes fields with the necessary fields for an epic. An epic needs a name as well as a summary of what the epic will entail. Like other issues it also needs to list the versions it affects and the versions it fixes as well as the story points it will be. It also lets you set the importance of the epic in this menu. 

Stories and Spikes

Stories and spikes are also on the list of types, and as with epics selecting them will change the attributes on the menu to fit the type. Spikes and stories share most attributes, however the major difference is that spikes require a confluence page to be linked to it. Both require acceptance criteria be entered to show the end result of the issue. The option for an epic link is also added, enabling the ability to sort the spikes and stories into epics, this is not required at the time of creating the spike or story. Another difference between the two is that the story issues need a short name to be entered where the spikes allow it but do not require it. Like with epics, story points, priority, fix and affect versions are required to create a spike or story. 

Tasks

When you select an issue and navigate to its page in JIRA you will have a few options across the top of the page below the title of the issue. There will be a drop down menu labeled more, when clicked will open the full menu and on it will be an option to create sub task. By selecting that option it opens a window similar to the issues menu. The major difference is the addition of a tab for task fields and inherited fields. A task has a summary field as well as a time estimate and remaining estimate field similar to a bug type issue. This along with the description, which is also required, and the label fields are what the task fields tab contains. The inherited fields has a short name, affect/fix versions, priority fields that are optional. The only required field in this tab is the acceptance criteria for the task. Just like issues you can check the create another box if you are making several tasks at once. 

Bugs

Bugs are another type of issue that can be selected when creating issues. This issue is a little different from the others in terms of required attributes. Summary, affects/fixes versions are still required for bugs, however bugs do not have a story point allocation. Instead of story points a bug has an estimated work and estimate remaining, used to track the total time it will take. You can still give a bug a short name or link it to an epic but neither are required fields.  

Updating

To update your issues you have a few options, most fields have the option to edit them from the issue page, as well as an edit button being on the bar below the title that reopens the menu from creating the issue. This allows you to update your issues if something changes or if incorrect information was put in by accident.

Note

Stories and Spikes transition automatically through the JIRA workflow based on the status of their sub-tasks. They cannot be manually transitioned.

Resolving

To resolve an issue you must first start working on the issue by selecting the start working button on the issues page in JIRA. When the issue is being worked on its label will change from to do, to in progress and it will add the options to log work or complete the issue. Logging work allows you to log the time you worked on the issue as well as document what was done in case other people look at the issue. Upon completing the issue the status changes to done. Any issue can be reopened by selecting re open from the issues page. 


JIRA Agile Tips


Review

Daily stand-ups are valuable in-person meetings to touch base with your current Scrum team. Be sure what is reviewed has been reflected in the Backlog.

Organization

Stories should be organized in a way such that the sprints are in order from *most* beneficial to client to least. Scrum team should reach an agreement on sprint time estimation before beginning work.

Integration

Stories should be tied to commits; Rolling back to a piece of functionality should be as easy as checking out the commit associated with that sprint.


Test Yourself

Now that you've completed the training videos and read the rest of this page, complete the Introduction to JIRA Quiz.