DocsIssues and planning

Sprints, backlog and boards

Updated 9 min read
On this page

Plan work in sprints, order it in the backlog, and follow it on a board. Everything here is also available to an AI agent through the MCP tools.

Sprints

A sprint belongs to one project and has a name, a goal (markdown), and a start and end date. The dates are optional while you plan: a sprint without them reads Unscheduled.

A sprint is planned, then active, then completed. A project has at most one active sprint at a time.

  • Planning one. Give it a name, such as September 2026; its short name in links becomes september-2026. You can bring in every unresolved issue of another sprint at the same time - handy for picking up where the last one left off.
  • Starting it. A sprint starts on the day you start it, even if it was planned for later; you can pick another day. It keeps its planned end date, and needs one: it drives the N days left countdown.
  • Finishing it. You choose where the unfinished issues go - back to the backlog or into a planned sprint. Nothing is ever left behind by default. Resolved issues stay with the finished sprint, so it keeps an honest record of what it delivered. Each moved issue’s history shows Sprint: September 2026 → October 2026.
  • Deleting one. Only a sprint that has not started can be deleted; its issues go back to the backlog.

An issue is in one sprint at a time, or in none (the backlog). Moving it between sprints is recorded in its history.

Only a Project Admin (or an organisation admin) plans, starts, finishes and deletes sprints. Anyone who can edit issues - Contributors and up - can move issues into and out of sprints and reorder them.

Progress and burndown

A sprint shows how many of its issues and story points are resolved, how much estimated work is left, and how its issues spread over the statuses. Every night, and when the sprint starts and finishes, those figures are recorded, so the burndown chart shows how the sprint really went even after issues are edited later.

Story points

Any issue can carry story points, a whole number from 0 to 999. An issue with subtasks also shows the points of everything beneath it added up. Set them, and the sprint, in the issue’s sidebar or when you create it; an issue without points reads Not estimated, one in no sprint Unscheduled. The issue list can show a Story points and a Sprint column and group by sprint. Search them with story points: 3 .. 8, or find the unpointed ones with story points: {No story points}.

The backlog

The backlog is every issue in no sprint. You put issues into a sprint, or take them out, by dragging, and you drag within a list to set its order. The order is kept separately for the backlog and for each sprint, and the board shows cards in the same order. A new issue starts at the bottom of its list.

Search helps here too: sprint: {No sprint} #Unresolved is the backlog as a query, and sprint: {September 2026} or #{September 2026} everything in a sprint.

The Backlog page

Open Backlog under the project in the sidebar. The running sprint comes first, then every planned sprint, each as a section you can fold away: its dates (or Unscheduled), the days left on the running one, and how many of its issues and story points are resolved. The backlog is last.

  • Dragging. Grab a row by the grip that appears at its left and drop it where it should go - higher or lower in the same list, or into another sprint or the backlog. A thin line shows where it will land. With the keyboard: focus the grip, press Space, move with the arrow keys, Space again to drop.
  • Filtering the backlog. The query bar above the backlog narrows only the backlog; it starts as #Unresolved, so resolved issues stay out of the way. Sprint sections always show every issue in the sprint.
  • New sprint asks for a name, an optional goal and an optional schedule - pick the first and the last day on the calendar, or leave it Unscheduled. Tick Add N unresolved issues from “…” to bring over what is still open in the running sprint (or the last planned one).
  • Start sprint takes today as the first day unless you pick another, and asks for the last day if the sprint has none. Only one sprint runs at a time.
  • Finish sprint lists the backlog and every planned sprint; pick where the unfinished issues go. Nothing is chosen for you.
  • A sprint’s ⋯ menu edits its name, goal and dates (a running sprint keeps its dates) or deletes a planned one.

Observers see the page but cannot drag. Contributors drag and reorder. The sprint buttons and menus appear only for Project Admins.

Boards

A board shows one sprint - by default the active one - or every open issue in the project, as columns of cards.

  • Columns are statuses, priorities or types - you choose which in the board’s settings. A column can hold several values (Open and Reopened, say); a status column whose statuses all resolve an issue is marked resolved. A value that is on no column has no cards on the board, and the board says how many issues it hides. Moving a card to another column changes that field of the issue - its status, priority or type. Switching a board to priorities or types starts it with one column per value.
  • Counts follow the filter. Type a query above the board and every column’s count, and the status strip, count only the cards that match.
  • WIP limits. A column may have a minimum and a maximum number of cards. They are warnings - the column is flagged when it is over or under - and never stop anyone moving a card. They count every card in the column, whatever the filter.
  • Swimlanes split the board into rows:
    • No swimlanes.
    • Values - one row per assignee, priority or type (not the field the columns already use). A card with several assignees sits in the row of the first one, alphabetically, and still shows everyone.
    • Issues - one row per issue of the types you choose, usually Epic; each card sits in the row of its epic. Cards with no row go in Uncategorized, always last.
  • Collapsed columns. A column can be set to start collapsed.

Every project starts with one board, named after the project, with three columns - To do, In progress and Done - and a row per epic. A Project Admin can change it or add more boards in the project’s settings, under Boards.

Cards show the issue’s key and title, its priority and type, the people on it, the due date, up to three tags, story points and subtask progress. The coloured left edge is the priority.

Using the board

Open Board under the project in the sidebar, or press g then b. The address names the board and the sprint - /projects/PP/board/pp/current follows whichever sprint is running, /projects/PP/board/pp/sprint-17 stays on that one - and /board/pp/current is the short form.

  • The header has the sprint picker (running, planned and finished sprints), its dates, the days left (red under three days, Ended 4 days ago once the end date has passed and the sprint is still open), Start sprint or Finish sprint for Project Admins, a strip counting the cards by what the columns show - statuses, or priorities or types on a board set up that way; hover a segment for 6 cards in status In Progress - and the story points resolved.
  • The filter takes any query. Column counts read 3 of 8 when the filter hides some cards; the WIP limits still count all eight.
  • Opening a card. Double-click it, or focus it and press ↵, to open the issue over the board - everything on the issue page works there, and Back closes it. Click the key to open the issue in a new tab.
  • Quick edits. Click the people on a card to assign someone else or nobody, and the due date (or No due date) to pick another day.
  • Moving a card to another column gives it that column’s first value - its status, or its priority or type on a board whose columns are those. Cards move within their own row; dropping into another swimlane is not possible, because that would change the assignee, priority or epic instead.
  • New card: hover a cell and click New card, type a title and press ↵. The issue is created in this sprint, with the column’s status, and in a swimlane with that swimlane’s assignee, priority, type or epic as its parent.
  • Folding. Click the arrow in a column header to fold the column to a narrow strip, and the arrow on a swimlane to fold the row.
  • A column over its maximum shows its limit in red; under its minimum, in amber. Cards in a status on no column are listed above the board with a link to add a column.

When no sprint is running, the board shows the planned sprint whose dates include today (or the first planned one), marked Not started, with Start sprint for Project Admins. With nothing planned either, it shows All open issues. The sprint picker opens any planned or finished sprint, and All open issues at the top.

All open issues is the board for a team that does not run sprints: every unresolved issue in the project, in a sprint or in the backlog. Resolved issues (Done, Duplicate, Won’t fix and the rest) leave it, so the resolved columns stay empty; drag a card into one to resolve it. A card added from the board goes to the backlog. The address ends in /open.

On the dashboard

Home → My work lists the running sprints you have issues in, with the days left, the status strip and how many of your own issues are resolved. On Projects, each project card shows its running sprint the same way, and the project’s own page has an Active sprint section with its goal and points.

Board settings

Settings → Boards (Project Admins) lists the project’s boards - add, rename or delete one; deleting a board leaves issues and sprints untouched. For the selected board:

  • Columns are identified by Status, Priority or Type. Switching rebuilds the columns, one per value.
  • Columns, one row each, in order. Drag a row by its grip (or Alt+↑/↓) to reorder, click the pencil to rename, set Min and Max WIP, tick Collapsed to start it folded, and use Merge with to fold another column into this one - a merged column lists its values, and the × on one splits it back out. The × at the end of the row deletes the column. Add column offers the values that are on no column yet.
  • Swimlanes are identified by No swimlanes, Values of a field (assignee, priority or type) or Issues of the types you list (usually Epic).

Still stuck? Ask usSource on GitHub