The velocity is computed as the sum of "initial effort" (as per semantic) of "Done" backlog elements of a milestone.
For instance, for a given Sprint "S1" with US1(initial_effort=5, status=Done), US2(initial_effort=3, status=Done and US3(initial_effort=5, status=On going), S1 velocity is 8.
velocity is not a new field, it's a standard integer or float field associated to a new semantic (velocity) provided by the agile dashboard.
This semantic comes with a new behaviour: when the artifact is closed, the velocity is automatically computed (with the rule given beforehand).
In Tuleap terms, it's the same thing than setting up a workflow post action (think of setting "close_date" when the artifact moves to "closed" state) but without having to manually configure the thing. It's automatically computed as soon as the velocity semantic is defined.
The computation of the value is done "inline". If it happens to take too long this might be delegated to a background event.
Scenario, edge case and permissions
- As velocity is stored with a regular field, someone with enough permissions can override the value manually afterward.
- The velocity is computed even if the one who close the artifact cannot see or update the velocity field
- The velocity always sums the initial_effort of all done artifacts, even if some of the artifacts might not be visible by the one who do the action of by the one who see the computed velocity.
- If one forgot to mark a story as Done before closing the milestone they can either update manually the velocity value or re-open and then re-close the milestone to force the re-computation.
- A tracker admin must add the new 'velocity' semantic to the relevant milestone trackers (that is to say sprints for instance)
- "Velocity" can only be added when "Done" semantic is already defined
- A warning is displayed when planning configuration is updated (is velocity accurate with planning?)
- A warning is displayed at Velocity configuration if at least one "backlog" tracker doesn't have "Done" or "initial effort" semantic
- The Tuleap Scrum template is updated to add velocity to sprints.