How to use Jira (updated)

Since we are working with lots of different people it is important we record issues in a clear consistent and concrete way, therefore these guidelines should always be followed while working on MyAEGEE and associated systems.

If you have any suggestions to change this, please contact @Rik Smale.



Table of contents

Issues

Issue types

Jira is used as an issue tracker, here the term 'issue' is a very vague term, it does not necessarily mean that something is wrong with the software (a bug) but can also be a new feature.
An issue can be one of the following:

  • Bug

    • A problem which impairs or prevents the functions of the product.

  • Task

    • A (small) task that needs to be done.

  • New Feature

    • A suggested new feature of the product, which has yet to be accepted to be included in the final product.

    • An improvement or enhancement to an existing feature or task.

  • Epic

    • A major new feature which needs to be broken down.

    • New features which will take place in a new microservice.

  • Discussion

    • A subject related to the project that needs discussion or feedback.

If you are unsure what the issue type should be, please ask the MyAEGEE team on Slack.

Issue syntax

When creating a new issue please take the following conventions into account. These conventions are split between bugs and non-bugs:

  • Suggestions: 

    • Formulate the summary in a short, clear and imperative way

      • Add a couch surfing mechanism

      • Give newly registered users an O365 account

    • Formulate the description in an explaining, extensive, and natural way

      • As an AEGEE-member, I would like to use the OMS to easily find a place to couch surf.

      • As a newly registered user, I would like to receive an office-365 account for personal use.

    • If the feature is an improvement of a current feature:

      • Formulate the current behaviour

      • Formulate the intended behaviour

    • If the feature already exists in another part of the system:

      • Explain where the feature already exists and explain what the new feature should do.

    • Add examples and other information at the end of the description

    • Make it clear, avoid confusion

  • Bug reports: 

    • Formulate the summary in a short and clear way. Leave out the subject of the sentence.

      • Cannot save a news story

      • Error when loading a page while impersonating

    • Formulate the description in a detailed explanation of how to reproduce the bug.

      • Steps to reproduce:

        • Find a user to impersonate

        • Press impersonate

        • The page reloads and the following notification shows twice:
          Permission error!
          Not enough permissions!

    • Use screenshots or other attachments to make things more clear!

    • Add examples and other information at the end of the description

    • Make it clear, avoid confusion

  • Discussion: 

    • Formulate the summary in a clear and concrete question

    • Add extra information and context to the description

    • Keep the summary and description objective, voice your opinion in the comments.

Issue priorities

For the priorities we will use the standard definitions given by Jira:

  •  Highest

    • This problem will block progress.

  •  High

    • Serious problem that could block progress.

  •  Medium

    • Has the potential to affect progress.

  • Low (picture will be added later, but is a green arrow pointing downwards)

    • Minor problem or easily worked around.

  • Lowest (picture will be added later, but is a dark green arrow pointing downwards)

    • Trivial problem with little or no impact on progress.

When in doubt assign the 'Medium' priority.

Workflow

Jira has a build-in workflow system, where an issue can move to certain states using predefined transitions. This system helps us know/remember/communicate in what kind of a state a certain issue is. While working on an issue you should follow this workflow and update it appropriately. In the end, the states of the issues (especially to do states vs done states) help us determine the state of the overall project. You can view the workflow of the issue type by pressing 'View workflow' in Jira.

Planning

Jira has a pretty awesome planning tool called Portfolio. In here we define multiple cross-project releases and specify which issues should be in which release. Important for you to know is that you can see the issues that should be done first by having a look at the releases of the project you are working on. While @Rik Smale is mainly responsible for setting the releases, you can always approach him with feedback/suggestions on it!

Jira integrations

  • We integrated Jira with Slack in order to be able to keep track on changes in issues from the safety and comfort of Slack.

  • Jira is also integrated with GitHub, when you use a Jira issue code (ie. 'MYAEGEE-33') in your branch/commit/pull-request, it automatically links to it on the issue page!