Velocity difference between PERF and JIRA

Measurement of a Velocity might differ between PERF and JIRA. There are some reasons for it. One of root causes: the flexibility in tuning of a project configuration in PERF (which may directly influence how velocity is computed, as well as other metrics) is way higher than in JIRA. 

Examples of situations where a velocity of a team can be different between PERF and JIRA:



REASON

EXAMPLE

WHAT TO DO

1

Data in PERF is not up-to-date i.e. after last data load some changes were made in JIRA

JIRA: some stories were completed in a sprint during last day, but those updates are not yet propagated to PERF.

Run data load in PERF on appropriate data source.

2

Definition of Done in PERF (i.e. statuses for a "Done" bucket at the Workflows) is different from what JIRA uses by default i.e. a discrepancy in interpretation

JIRA: checks velocity by Resolved status

PERF: "Resolved" status on some projects can be a part of the "In Progress" bucket intentionally, only "Closed" status can be used for "Done" bucket - for a better accuracy of a velocity on a project (e.g. "Closed" means acceptance by a Product Owner while "Resolved" is only about development completion, but not yet tested/documented/demonstrated/etc.)

Review workflows configuration in PERF and either

a) accept it and use PERF interpretation of velocity going forward or

b) align workflows in PERF to JIRA

3

Effort estimations (e.g. in Story Points) are used at Sub-task level too, not only in master issues

JIRA: team puts story points into Stories, Tasks, Sub-tasks. But JIRA computes velocity only by master issues e.g. by Stories and Tasks in this example, i.e. excluding Sub-tasks.

PERF: velocity is calculated as cumulative value - across Stories, Tasks and Sub-tasks i.e. will be greater than velocity in JIRA

Consider one of the following:

a) stop using SP estimates for sub-tasks, use SP only on the level of master issues (as per best practices). If you need estimations for sub-tasks then use man hours.

b) create a new filter in JIRA which excludes sub-tasks to eliminate the source of discrepancy for PERF - and use that filter for a respective project (or node) in PERF

c) adjust a configuration of the project in PERF to "ignore" sub-task issue types so that their SPs to not impact an overall velocity

4

Reopened issues processing

An issue is completed in sprint A but reopened after sprint A end and then closed without an assignment to another sprint.

JIRA: issue is included into completed issues in sprint A.

PERF: issues won't appear in completed issues in sprint A.

a) assign the issue to another sprint;

b) for editing issues attributes (component, labels, etc.) do not re-open issues, it's better to contact Jira support.

5

Issues closed after a sprint end

 

 

An issue is completed in sprint A but closed after its end.

JIRA: issue is included into completed issues in sprint A.

PERF: issues won't appear in completed issues in sprint A.

a) move a sprint end date;

b) assign to the next sprint.



6

Different filter is used to query the data - in PERF jira data source vs. JIRA board 

Upon initial setup of JIRA data source in PERF, some specific JQL was put into "Advanced Filtering" section of a data source. 

Later, in JIRA, that filter for a team/board was modified (e.g. components got changed). But in PERF the old query remained. As a result, different filter queries bring different data for metrics, so metrics in Jira vs. Perf differ significantly. 

Keep a filter in PERF identical to one in JIRA. 

To reduce maintenance effort, it's recommended in PERF avoid using "by JQL" - and use "by Filter ID" instead. In this case (by Filter ID) the content of a filter remains in one place (in JIRA), so in case of any changes in it you don't need any additional actions in PERF.Â