Sprints Overview

Sprint statuses, the sprint surfaces, and how committed scope is tracked against what was planned

A sprint is a dated batch of work with a goal, a capacity and a set of issues. In Elixion, the platform for Engineering Intelligence™, a sprint records what the team committed to at the moment it started, then tracks every change against that commitment, so a sprint that grew mid-flight never looks the same as one that missed its target.

Sprint statuses

A sprint is in exactly one of five states:

| Status | Meaning | |--------|---------| | Draft | Being put together. Planning fields are editable | | Planned | Ready to start. Planning fields are still editable | | Active | Running. The commitment is frozen and the planning fields lock | | Completed | Closed, with its unfinished work dispositioned | | Cancelled | Closed without completing. Its issues return to the backlog |

Only one sprint per project runs at a time. Starting a second is refused, and the message names the sprint already running.

Review and retrospective are meetings rather than states. A sprint carries a Retrospective notes field, editable while it is Active or Completed, saved as you leave the box and stamped with who last edited it and when.

Where sprints live

| Surface | Path | What it is for | |---------|------|----------------| | Sprints | /sprints | The index: the running sprint first, planning underneath, the archive below | | Planner | /sprints/planning | Filling the next sprint against capacity | | Sprint detail | /sprints/{id} | One sprint: Overview, Reporting and Report | | Board | /projects/{id}/board | The same issues as cards, filterable to one sprint | | Charts | /charts | Burndown, velocity and the rest, per project |

Press g then s to reach the sprints index. It is headed The cadence, with Open planner and New sprint in its header.

A sprint's fields

On the sprint's Overview tab, the planning panel holds:

  • Project, which never changes
  • Name
  • Goal, up to 200 characters, rendered as Markdown
  • Duration, a number plus Days or Weeks. The end date is derived and shown as Ends Jun 14
  • Capacity (hours)
  • Capacity (story points)

Each field saves as you leave it, or on Enter for the single-line ones. Escape reverts.

These fields are editable while the sprint is Draft or Planned. Once it is Active the panel is titled Sprint details and says the fields locked when the sprint started; a completed or cancelled sprint says so in the same place.

Starting a sprint

Starting the sprint does four things at once:

  1. Its status becomes Active.
  2. Every issue in it that sits in Backlog moves to To Do.
  3. The start is stamped to the moment you clicked, and the end date shifts to keep the duration you planned.
  4. The total story points of the issues in it are frozen as the commitment.

A sprint with no issues cannot be started, nor can one whose issues are all already Done or Deferred.

Committed against planned

Two numbers describe a running sprint's scope:

  • Committed is the frozen total from the moment the sprint started. It never moves again.
  • Planned is the current total of the issues in the sprint. It moves every time work joins or leaves.

While a sprint is Active, the Overview tab prints both under the metric strip: the planned total, the committed total, and the points added since the start. A second sentence follows with the counts of issues that joined and left, reading as 3 issues in, 1 out.

The points figure is the net difference between planned and committed. The two counts are gross counts of issues that joined and left during the sprint, so they deliberately do not add up to the points figure. That is why they are stated apart from the points, and why they name their own unit.

The line appears only on a running sprint: before it starts there is no commitment to have moved, and once it closes the Report tab tells the story. A sprint started before commitments were recorded has no frozen number, and the line is left out rather than showing a change of zero.

What happens when scope changes

An issue can join or leave a sprint from four places: the sprint's Add issue control, the remove control on a sprint issue row, the Sprint field on the issue page, and the bulk planner. All four report the same sentence, built from the sprint's own numbers:

  • PAY-42 added to Sprint 17. Planned now 94 points, up from 86 committed.
  • Planned still 86 points, as committed. when the net change is zero
  • Planned now 94 points. when the sprint has no frozen commitment
  • Just the sprint's name when the sprint is not running yet

Adding work to a running sprint that has a capacity set and now exceeds it raises a second, separate message: the sprint is now over capacity, with the planned total against the capacity. Nothing blocks the addition. Mid-sprint additions are treated as normal, and the message is the record of one.

Carry-over

Work that did not finish, and was moved on when the sprint completed, is marked wherever it turns up:

  • on a sprint issue row, a carried over from Sprint 16 pill, whose tooltip counts how many times that issue has been carried
  • on the issue page, a line reading Carried over from Sprint 15, Sprint 16, hidden entirely for issues that were never carried
  • in the issue's history, as a Carried over entry naming the sprint it left and the sprint it joined

Carry-over is recorded from the point it started being tracked, so an empty record means it is not known where a sprint's work went, not that nothing moved.

Tracking a running sprint

The Overview tab's metric strip reads Planned, Shipped, Capacity and Days left. A completed or cancelled sprint reports zero days left rather than counting down to a date in the future. While the sprint is in planning or running and Planned exceeds Capacity, a line beneath the strip says so and names both figures; once the sprint has closed the plan is history and the line goes quiet.

The Reporting tab draws this sprint's burndown: a dashed Ideal line, a stepped Remaining line, and a Scope line that steps on the day scope changed. Days where scope moved carry a dot labelled +8 pts added, and a caption under the chart lists the changes, for example: scope changed during this sprint, plus 8 on Sep 3, minus 2 on Sep 5.

The Report tab is the sprint's summary table:

| Row | Reads | |-----|-------| | Committed at start | Issues and points | | Added during sprint | Issues and points | | Removed during sprint | Issues and points | | Completed | Issues and points | | Unfinished | Issues and points | | Carried forward | Issues and points, on a completed sprint only |

Unfinished is everything the sprint has not finished, so the rows reconcile: committed plus added, less removed and completed, is the unfinished figure. Carried forward is a separate question, namely how much of that the completion actually moved to another sprint or the backlog, and it appears only once the sprint has closed. A running sprint has carried nothing anywhere, and a sprint that kept an unfinished issue in place at completion did not carry that one either, so the two rows are allowed to differ.

Under it, four groups: Completed, Unfinished (the same set as the summary row of that name, with where each issue went), Removed during the sprint, and Added during the sprint, where an issue that was not in the original commitment carries an unplanned pill and one that arrived from an earlier sprint carries a carried in from pill. A sprint with no frozen commitment says so: the commitment predates tracking and was computed from the issues instead.

Burndown on the Charts page

Charts > Burndown, with a project and a sprint selected, adds an on-track reading the sprint's own Reporting tab does not carry.

The chart is built from daily snapshots taken of running sprints, so:

  • a day with no snapshot stays a gap, never an interpolated value
  • the actual line stops at today, while the Ideal line runs on to the sprint's end, because the Ideal line is a plan rather than a reading
  • today's point is always read live from the current issues, so the last point and the numbers underneath cannot disagree
  • a completed sprint takes no readings after the day it closed, and the remaining days are drawn as unmeasured

The Ideal line is drawn from the frozen commitment, so adding work mid-sprint changes the Scope line and not the plan.

Under the chart sit Total Scope, Completed, Remaining, and an indicator reading On Track, At Risk or Not enough data, with a line under it saying what it read:

| Note | What it means | |------|---------------| | Not enough history yet | Fewer than two readings a day apart, so the indicator is unknown | | Nothing delivered since the start | Two readings and nothing finished, which reads as At Risk | | At the rate since the sprint started | A projection from the measured rate, either On Track or At Risk | | All scope delivered | Nothing remaining |

The rate is measured inside the sprint, by comparing the first reading to the latest, so work finished before the sprint began cancels out. It needs two readings at least a day apart, which is why a sprint's first day reads Not enough data rather than green.

Velocity

A sprint records a velocity when it completes, equal to the story points completed, and only when it planned more than zero points. The average covers the most recent completed sprints, up to twelve, and ignores a sprint that neither committed nor delivered anything.

Agents in a sprint

Agents are project members, so they are assignable on sprint issues, they appear alongside people in capacity, and their runs move cards on the board like anyone else's work. A sprint carrying more agent work than the concurrency allows starts what fits and queues the rest, and the sprint header says how many are queued.


Next: Sprint Planning, which covers creating, filling, starting and completing a sprint.