How to Jira

Contents

About

This document aims to help you understand how the TSI team uses Jira, and how you can achieve some basic tasks.

Jira Structure

Organisational Structure

Our Jira organisational structure mirrors our team structure and way of work. We have a Jira 'project' and 'board' for every project we. Projects are put into categories according to which team is running the project (AI, Insights etc) and how active it is (Archive). From the project view, you can filter projects according to their categories.

Filter by category

Projects can have multiple boards inside of them, and boards can also contain issues for multiple projects. This makes structuring our project a bit confusing, and this theme is continued throughout Jira. They have given the users maximum flexibility at the cost of clarity and simplicity. This makes it important for you to define the purpose of your project/board and then build a solution that fits the way you and your team want to work.

To help out, see Jira Project Standards for what we consider to be the 'standard' way of running projects in Jira. If you are instead looking for our general guide on usage, see Using Jira below.

Issue Structure

Issues, equivalent to tickets, come in different types to indicate which level they fall on. The types of issues are:

  • Epic → The highest-level issue, used to group Stories and Tasks together, can be used to create swimlanes on your board for a more organised view
    • Story → A user story that needs to be implemented, usually on a medium level and contains subtasks
      • Subtask → A single piece of work that is usually completed within a day
    • Task → A piece of work or functionality that needs to be implemented, might contain subtasks depending on complexity
      • Subtask → A single piece of work that is usually completed within a day
    • Bug → An issue submitted by an outside source, usually of higher priority, might contain subtasks depending on complexity
      • Subtask → A single piece of work that is usually completed within a day

Using Jira

At the end of the day, we aim to achieve two things by using Jira:

  1. Keep track of our projects and how work is progressing on them
  2. Streamline communication within teams, between teams, and with management

To enable this, we have developed a standardised way of working with Issues in Jira:

Projects follow a Kanban style of work where a backlog is built up of high-level issues created by the project lead. Team members pick the issue they want to work on and flesh them out as they work on it by creating subtasks for each smaller piece of work required to complete the issue.

Issues start out in the "To Do" or "Backlog" section and when work begins on them, they are moved to "Currently Working On". If the Issue is put on hold for some reason and you are not actively working on it, you should move it back to the "In Progress" section. Once work is completed on the issue, you can move it to the "Review" section where a team member will then test and review the work, at which point they either move it back to the "In Progress" section if more work is required, or to the "Done" Section if the issue is completed and the code has been merged to master.

Workflow Decision Tree

Jira Project Standards

Please keep in mind that this is only a guideline, feel free to try things you feel could work better for you. See more about Jira best practices here and their documentation for Jira Cloud here

Create a Project

From the project view:

  • Click the "Create project" button in the top right of the screen.
  • Select the project type, either Classic or next-gen.
    • Classic is the older version with more fine grained-control on how things work
    • Next-gen is the newer version that allows you to quickly get up and running with a more flexible board
  • Enter the project name and key. The name and key should match those in our Insights Project Governance table
  • Select the project template:
    • There are 3 types of templates available:
      • Kanban → Useful for a continuous flow of work without sprints
      • Scrum → useful for a team that works in sprints
      • Big tracking → Useful for tracking support requests and the like
    • If you select Classic:
      • You can choose from either of the 3 options and configure most aspects about them
      • Choose wisely as your selection cannot be changed down the line, you will need to create a new project and move all the stories over.
    • If you select Next-gen:
      • You can only pick from Kanban and Scrum templates, these come with predefined 'features' (Roadmap, Backlog, Sprints etc) that you can enable and disable to suite your projects needs

Setup your Workflow

Your workflow determines the lifecycle of an issue and the stages it will go though from creation to completion. The defaults here will vary depending on the project type and template you selected, but each stage in the workflow can be renamed to suite your needs. See Using Jira for examples on how each of our teams do it.

To change the columns for a classic project, in the board view, click "board settings" (three dots, top right) and then "columns" and you will be able to create additional columns. If you want issues to be tagged with the column name, modify the workflow under project settings.

You can also configure swimlanes that will allow issues to be separated vertically.

Create some Issues

Now that we have our project and workflow setup, we can create some issues for our team members to start working on:

  1. Pick the correct type depending on the type of work that needs to be done.
  2. A good name is also essential:
    • Good: 'build line graph showing total sales vs growth'
    • Bad: 'finalise the dashboard'
  3. The description should contain all info needed to complete the issue. It should also be updated as more info is added
  4. Optionally, you can configure linked issues and assign the issue to someone

Tailor your project to your team

Jira is highly configurale and as a project admin, you are free to make any chnages you feel may benefit your team or speed up your way of work. You can configure the issue types and how they work, even customise the fields in those issue types. This is where we are still able to extract more value from Jira as we warm up to it. See here for more info on configurong issues.

Jira Administration

Global Level

User Management

Find our user management portal here Jira docs for user management here

Add Users

Docs link here

  1. Click the "Invite Users" button
  2. Type in the user's email address
  3. Select the user's role:
    • Baisc is for normal users
    • Trusted is for senior level and up that need the abaility to add products
    • Site administrator is for Lead Engineer
  4. Make sure "Jira Software" is selected under "Product access"
  5. Select the user's group membership:
    • administratiors is for all admin access other than site admin
    • confluence-users is unused
    • jira-administartors is full admin access to Jira
    • jira-software-users is the default user group
    • site-admins is full admin
  6. Personalise the email if necessary
  7. Click the "Invite user" button
Removing Users
  1. Click the 3 dots on the right hand side next to the user you want to remove
  2. In the user details screen, click the 3 dots in the top right and select "Remove User"
  3. Confirm removal by clicking the button
  4. Refresh the page to make sure the user has been removed

Billing

Billing is done via credit card and is currently on trial with a new Credit Card. If something breaks, urgantly contact Tristan (31/01/2019) Billing Contacts:

Project Level

User Managment

Docs for Managing project permissions here When a new project is created, if the project creator was not the project lead, the lead must be added as an Administrator and the rest can be added as members as shown below:

Project User Admin

These steps describe the prcess for Next-gen projects, but its very similar for classic projects:

  1. Head to "Project Settings" and then to "Access"
  2. Click the "Add People" button
  3. Type in the name of the project lead and change their role to "Administrator"
  4. Click "Add"
  5. Repeat steps 2 to 4, keeping "Member" as the role for the rest of the team

Pain Points

General

Projects cannot be archived or properly hidden (Issue)

Project Limitations

  • Classic projects cannot change their template to add a backlog, stop sprints etc.
  • For Next-gen projects, the project creator is listed as the project lead and cannot be changed. (Issue)