repositoryStandards v1.1.20

ADR-041: The bounded period of work is called a sprint

StatusAccepted
Date2026-08-07
AuthorƁukasz Bodurka
Decided bythe author
Tagsbacklog, sprints, planning, vocabulary, scale

Context

ADR-028 put a bounded period of work in the repository and named it a cycle. The substance of that record - a goal, an agreed and movable end date, the intents pulled in for it, one file per team, and the invariant that an intent is in the pool or in exactly one period but never both - has held. Only the name is in question here.

The name was chosen against sprint deliberately, and the reasoning is recorded in work-periods: "sprint carries the whole ceremony apparatus - planning poker, retro, velocity as a commitment - and this is deliberately none of that. Borrowing the word borrows the argument." cycle was picked because Linear uses it for almost exactly this shape, so it was expected to arrive pre-explained.

It did not. The owner reports the opposite from use: people read cycle and stop. It reads as a new word for a thing they already have a word for, and every reader spends the same first question - "is this a sprint?" - to which the answer is yes, minus some ceremony. The dashboard made this loud: a page built for the people who never open the repository has a tab whose label needs a sentence of explanation before anything under it can be read.

That is field evidence against a design argument, and this project's own rule is that evidence wins. The cost of cycle is paid by every reader, forever. The cost of sprint is paid once, to the Scrum-fluent, in one clause: no points, no velocity commitment.

Options considered

OptionForAgainst
Keep cyclealready shipped, matches Linear, no ceremony baggageevery reader pays the "what is this?" tax; the observed failure mode is that they stop reading
sprint, defined here (chosen)universally understood; a reader knows the shape before the first sentence; maps 1:1 onto any tracker if a bridge is ever builtimports expectations the standard does not meet - points, velocity as a commitment, a fixed timebox - which must be denied explicitly
sprint on the surface, cycle in the treeno migrationtwo names for one thing, which is the drift this project keeps finding in its own files; the worst of both
iterationneutral, no ceremonyas unfamiliar as cycle without Linear's precedent behind it, so it pays the same tax for less

Decision

The bounded period of work is a sprint, everywhere: docs/sprints/<team>/<slug>.md, the sprint-open and sprint-close procedures, scripts/sprint-guard.mjs, the work-sprints capability spec, and every label on the dashboard.

What a sprint is here, stated so the borrowed word cannot import what it usually carries:

  • a goal in one sentence, an agreed end date that may move, and the intents pulled in for it. Several run in parallel, one per team.
  • an intent is in the backlog pool or in exactly one sprint, never both.
  • no estimates. Sizes are a splitting trigger and a cold-start fallback, never summed (ADR-029). There are no story points and there is no planning poker.
  • no velocity as a commitment. Throughput is measured from closed sprints and used to project, never to promise. A sprint that does not finish its items is a fact about the projection, not a failure to be explained.
  • the date is agreed, not a timebox. It can move; what may not move is the record that it moved. An unfinished intent is returned to the pool or split, never quietly re-dated.
  • no ceremony is prescribed. Planning, review and retrospective are a team's business. The standard ships two procedures, sprint-open and sprint-close, and neither is a meeting.

Scale-only, exactly as before: a single-maintainer repository is not out of compliance for having none.

Consequences

  • ADR-028 stands as the record of why the artifact exists and what it holds, superseded only on the name. This record does not restate its substance.
  • The shipped tree renames: docs/cycles/ to docs/sprints/, cycle-guard.mjs to sprint-guard.mjs, the two skills, the capability spec, and the manifest entries. There are no releases yet, so no adopter is carrying the old paths from a tag - the one repository that is, the showcase fixture, is migrated in the same wave.
  • The open question work-periods is answered rather than deleted: it now records that the first answer was overturned by use, which is the only kind of evidence that could have overturned it.
  • The risk taken knowingly: somebody arrives expecting Scrum and finds no points and no velocity. That is a conversation of one sentence, and it happens once per reader rather than on every page.

Revisit when

This record already overturned cycle once on field evidence, not on a design argument - readers stopped at an unfamiliar word. The matching failure mode for sprint is readers who assume the borrowed word also imports points and a velocity commitment despite the one-clause denial here, and treat their absence as the standard being incomplete rather than deliberate. If that reading shows up in the field the way the cycle confusion did, this naming should be reopened the same way.