---
title: "Velocity report"
canonical: "https://support.appfire.com/space/BPEdc/2534376235/Velocity%20report"
format: markdown
---
## About the Velocity report

![story-point-chart.png](media://3325c7db-cce7-425f-b6b6-ab16dc89e6a8)

## What does the report show?

Velocity value is presented on the Velocity chart in the form of a trend line.

The average value calculated for a selected sprint.

The velocity value calculated for the last sprint is additionally displayed at the end of the chart.

> ℹ️ **The report is based on story points**. 
> ℹ️ 
> ℹ️ - Grey column - team capacity in a given period
> ℹ️ - Green column - story points of done tasks
> ℹ️ 
> ℹ️ Data breakdown is based on program structure (Box structure). The velocity report shows two columns for each sub-Box (such as Iteration). 
> ℹ️ 
> ℹ️ **The report is generated per team. **

### Grey column - team capacity calculation

**"Planned" value (grey column) = capacity of a team per sub-Box time period**

Planned value is taken from the capacity planning tab in the Resources module. This value is always initially calculated based on the availability of team resources in a given period but can be manually overridden in the capacity planning tab of the Board module.

![safe-team-alfa-2.png](media://a1196b37-8df2-4844-9e73-184f7c06f779)

![safe-chart-compare.png](media://ae2e02bc-fd04-4fdc-929b-261be891a720)


<details>
<summary>How to check if the values were manually changed?</summary>

Go to the **Board module > capacity planning tab > Highlight changes.** Manually adjusted values will be indicated in orange.

![afe-highlight-changes.png](media://fc16f817-18d7-478c-995f-7cc2a6f71690)
</details>

If the value was not manually overridden → "**Planned" value (grey column) = ** **Team capacity per day (sum of individual capacities of team members per day) multiplied by the duration of a Box** (such as Iteration). 

For example, when:

- daily capacity of "Team Alfa" = three story points
- "Iteration 1.2” = 11 workdays
- Planned capacity for Iteration 1.2 = 11x3 = 33 story points

### Green column - done tasks sum

Only tasks in "Done" status are included in the calculation. 

**Example**:

![safe-art-compare-2.png](media://ec107376-501c-4f0a-9695-3610d9d52257)

Iteration 1.1 contains four done tasks assigned to "Team Alfa". 

Story point sum = 5 + 3 + 2 + 6 = 16

![storypoint-sum.png](media://933b5f59-dcfb-487b-8345-1c61c7edee31)

## Scope of the report

> ℹ️ When you create a Velocity report :
> ℹ️ 
> ℹ️ - **information is broken down to the lowest available Box level**
> ℹ️ - a report is created in a particular Box - **only sub-Boxes nested under that Box are included**
> ℹ️ - **all Boxes in the report are from the same level**
> ℹ️ 
> ℹ️ See examples below.

#### **Case 1 - report created in the main program Box**

| **Report created in "SAFe ART (Smart house)"** | **Result** |
| --- | --- |
| **lowest available level ** | **Iteration** (2nd level under the main program Box) |
| **Included Boxes** | **all Iterations** (all are nested under the main program Box) |
| **all on the same level** | All Iterations are on the same level in the Box hierarchy (2nd level under the main program Box) |

![case-2-report.png](media://66e2a591-071e-4310-9ca7-53632e47ce17)

Resulting report:

![case-2-resulting-report.png](media://3ed46239-b511-453f-8dc0-d2c76aac3bb5)

#### Case 2 - report created in a Program Increment

| **Report created in "Program Increment 1"** | **Result** |
| --- | --- |
| **lowest available level ** | **Iteration** (2nd level under the main program Box) |
| **Included Boxes** | **3 Iterations** (nested under the "Program Increment 1" - Iterations nested under other Program Increments are not included) |
| **all on the same level** | All Iterations are on the same level in the Box hierarchy (2nd level under the main program Box) |

![case-2-resulting-reports.png](media://aeace52e-cc46-476e-a0b9-0c34239907a8)

Resulting report:

![case-2-resulting-reports-2.png](media://aa095280-09fd-47ec-9a97-1ff3e7a5d3e5)

## Report configuration

Report configuration/ edit/ delete information can be found on [https://appfire.atlassian.net/wiki/spaces/BPEdc/pages/2533754160](https://appfire.atlassian.net/wiki/spaces/BPEdc/pages/2533754160). Report management works the same for all reports. 

### Available fields

![velocity-report-configuration-2.png](media://28baf10e-feb7-41c7-a252-ab326e1a4fbc)

| **Element** | **Description** |
| --- | --- |
| **Name** | The report name is displayed in the header of each report. |
| **Show iterations with empty capacity** | When selected, Boxes with team capacity = 0 are included in the report<br>![team-capacity.png](media://88997cf9-37d4-4c3c-bf39-269f2cf9b642)<br>When team capacity = 0?<br>- team memberships of all members have ended
- individuals in the team have no capacity (for example, if everyone has time-off, team capacity = 0) |
| **Show the velocity line on the chart** | checkbox, checked by default |
| **The number of iterations used to calculate velocity** | numeric field, integers only, from 1 to 9, default value = 3 |
| **Project **(conditional field) | This field is available in Portfolio Boxes (more information below). If a Velocity report is added to a Portfolio Box containing multiple projects, you will need to specify which project the report should be generated for.<br>![velocity-report-project-highlight.png](media://b96108a3-a8c0-4661-b29b-b1fb0476b725) |
| **Team** | The report is generated for the selected team. |

## Conditions 

- tasks must be assigned to teams
- tasks must have a "story points" value
- **lower-level sub-Boxes must exist** (otherwise, the report will be empty)
- lower-level sub-Boxes must have their scope type set to "sub-scope" (in most cases, those will be Program Increments and Iterations).

### Tasks without a team

Tasks that have not been assigned to a team are not accounted for in the calculation (are ignored).

### scope type = sub-scope

The report is based on lower-level Boxes. Their scope type must be set to "sub-scope".

- Own scope → tasks are added directly to the scope of the Box (such as a program Box)
- Sub-scope → Box doesn't have its own scope - it simply displays a section of the parent scope (for example. tasks are added to the main project Box and later divided into Program Increments and Iterations). If you add a task to such Box, it is automatically added to its parent.

In most cases, the scope type of Program Increments and Iterations is set to "sub-scope".

![safe-art-type-column.png](media://e1893143-b2e0-4b06-8063-15a17334d59d)

### Project in a portfolio Box

A Portfolio Box can contain multiple program Boxes, each with its scope.

Portfolio Box scope type must be set to "None".

![project-portfolio-hybr.png](media://ea31ddd2-9470-46b2-9289-add48ba70ef1)

A Velocity report cannot be generated for multiple separate program Boxes. 

You can create a Velocity report in a Portfolio Box, but you will need to limit the report to one project.

![velocity-project.png](media://6ecc90b4-b680-4339-b393-90adf7f48ec8)

## Story Point conversion set to "0"

When a team is still learning to estimate its velocity, the conversion ratio changes from sprint to sprint. You may prefer to show the velocity of future iterations as unknown (=0) and wait for the scrum master to later enter the correct value based on historic data (capacity planning tab of the Board module).

<u>Example</u>:

Story Point conversion = 0

![velocity-for-team-alfa.png](media://7a0eb3cf-b2b9-4e88-99cb-a03d43a39857)

The planned capacity of a team = 0 until manually changed 

![safe-art-team-alfa.png](media://339a2755-bf27-440d-8209-fc790003bfb5)

## Additional use cases - possible mistakes

### Case 3 - no lower-level Boxes

| **Report created in "Iteration 1.1"** | **Result** |
| --- | --- |
| **lowest available level ** | **none** |
| **Included Boxes** | **none** |
| **all on the same level** | **n/a** |

Iteration 1.1 has no child Boxes:

![image](media://9f9d8647-c161-4296-8c06-bce8e85bbd91)

The Velocity report created in Iteration 1.1 is empty.

![iteration-1-1.png](media://5b0e78f8-4c36-49e4-b9fa-10f7eec581a3)

### Case 4 - Iteration under Iteration

| **Report created in "SAFe ART (Smart house)"** | **Result** |
| --- | --- |
| **lowest available level ** | **Iteration** (3rd level under the main program Box) |
| **Included Boxes** | **Iteration 1.3.1** (the only 3rd level Box nested under the main program Box) |
| **all on the same level** | Other iterations are on the 2nd level - they won't be included |

Depending on the setup, you could create a structure like this:

![iteration-1-3-1.png](media://370f949f-2367-414d-af70-1f65c3205d74)

In this case, Iteration 1.3.1 is the lowest level under SAFe ART (Smart house). The report includes only Boxes on the same level, so all other Iterations are omitted:

![safe-smart-house.png](media://64089cba-e11e-4747-90c1-166bb800af58)