Using the issue tracker

Quick Link to NORESM scrum

Why do we need an issue tracker

Oslo and Bergen can easily see what the others are working on

Better traceabilty of code changes (an issue can contain a reference to a code change)

Better work planning

Better communication between developers

Help us work as a team, not just a collection of individuals.

Log in and check what is there

Log in to JIRA (scrum.met.no) using the same user-name and password that you use for svn access (This is the LDAP password at met.no, external users have an external LDAP password).

Verify that you can go to “manage dashboards” and search for dashboards created by Alf Grini. You should find the NorESM default dashboard.

Add the NorESM default dashboard as a favourite.

The dashboards shows the epics (large tasks we are supposed to solve for the next version) together with some other information. It the NorESM “homepage” at JIRA.

Make sure you can go to agile ==> manage boards and find the NorESM scrum board. This board is shared between Oslo and Bergen, and it is our way of communicating what we are working with right now.

Note that the scrum board can be filtered by components, so it is easy to look at only MICOM issues or only cam-oslo issues.

Create issues

Go to “create issue”. Note that in NorESM, the issues are different components. Make sure you select the right component for your issue.

Also add other information to the issue as label (can be e.g. be a project-name). Adding Multiple labels is OK.

Issue type definition for NorESM

An issue can be created as one of several types. In NorESM we will use the following definitions:

EPIC: A task which demands some man-months. For example in the EVA-project, a task is an epic. An epic consists of several stories. See https://confluence.atlassian.com/display/AGILE/Adding+an+Issue+to+an+Epic

STORY: A task which demands a couple of man-weeks. Typically the sub-tasks in EVA are stories.

SUB-TASK: A story will have several sub-tasks. They are created inside the story (open the issue ==> more ==> create sub-task). The tasks will last some man-days and it is the tasks which will be added to the sprints.

TASK: A “task” should be created if it is just a stand-alone task which is not connected to any story. For example “follow up with met.no IT department on new svn-users”. A task can have sub-tasks, but if the collection of sub-tasks together for a larger piece of work, it is better to create a “STORY” and not use “TASK”.

Take the example of the EVA project proposal: “Task 2.1 Ocean dynamical core development” is an epic. It consists of several stories. One story is “2.1.2: Introduce a hybrid layered framework to facilitate higher vertical resolution in the surface boundary layer”. This story should be splitted into several work-tasks. Each of the tasks should be approx 1-2 man-days. Examples of tasks can be “make program compile with gfortran”, “create 1d test-program” etc. Those tasks should be added the the appropriate sprint.

Note that sub-taks of a story can not be added independently to a sprint. The whole story will have to be included. (Sub-tasks do not show in plan-mode). However, when the story has been added, the sub-tasks show up in work-mode: https://answers.atlassian.com/questions/85897/how-do-you-plan-subtasks-into-separate-sprints

Priority definition for NorESM

Blocker: We need to solve this immediately. Some project can not be delivered because of this problem. Problem blocks other people from working.

Critical: Should be solved as quickly as possible. Major problem with product functionality.

Major: This is the default priority

Minor: Nice to do this, but not really necessary

Trivial: Fix this when you have the time

Not prioritized: We don't need to do this

Planning a sprint

Go to “agile --> NorESM Board”

Choose “plan” at the upper right

The epics are displayed next to the list of issues

If you can not see the list of epics, choose tools (wheel in upper right corner and show/hide epics)

To display only stories which are members of an epic, click on an epic

To make a story a member of an epic, drag the story to the epic.

To make a story a member of a sprint, drag the story into the sprint.

Which issues should we add to the scrum board

Find out together with your team which issues are most important

Try to compose a sprint so that the product (NorESM) is more or less usable at the end of the sprint.

If a task requires more than 3 days of work, it should probably be splitted into sub-tasks. Create an story (or epic) and convert the issues into sub-tasks of the story. Go to issue, more actions and “convert to sub-task”.

Working

Every other week, we will create a new “sprint”. That means that the scrum board will be refreshed. (see below)

When you want to start working on something you should always do something which is in the sprint. Those are the tasks that the team has defined as most important.

Go to the task and choose “assign” and “assign to me”.

Also in the task go to “more actions” and “start progress”. You can also just drag the task over in the “in progress” column in the scrum board

Drag the issue to the “resolved” column when the problem is solved.

You the board to see what your collegues are working on. Comment on their issues!

Connection to version control system

When the task is finished, there should always be a comment saying which changeset in the version control system which solved the problem. For example if I solve task “NE-10”, I should comment in JIRA “this task was solved by svn changeset nn”.

In svn, I should commit with a comment mentioning the issue, something like “svn commit -m “solved issue NE-10 by removing possible divide-by-zero””

In theory, JIRA can, given that the commit message is mentioning the issue, show code differences. This has not been set up (yet).

Searching for issues

JIRA has a very powerful search-functionality. This is helpful to find the issues you want. For example, in the issues ==> search for issues menu, you can perform searches like “project=NorESM and type=epic and status=resolved” to find all the epics we have completed.

The list of keywords which can be used in a search can be found here: https://confluence.atlassian.com/display/JIRA/Advanced+Searching#AdvancedSearching-field

Using JIRA to monitor project progress

For each large task or project, we have created an epic. These are shown on the noresm dashboard (see above).

If you want to monitor the progress of an epic, you have to

Go to agile ==> noresmboard

select “report” (upper right corner)

select “epic report” (upper left corner)

select the epic you are interested in (upper left corner)