Repository navigation
Scrumooth v3.1 — enforcement, published as a contract #84
orbivort
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Scrumooth v3.1 — enforcement, published as a contract
Judge a Scrum tool by the rules it keeps, not by the boards it draws.
Most tools in this category support Scrum, and record it genuinely well. Very few will tell you which rule they will refuse you on. v3.1 is the release where Scrumooth's enforcement stops being a claim in a README and becomes a contract you can read, count, and call from code.
The problem, restated once
Most tools are built to record what happened. They give you boards, they log your clicks, they draw accurate charts — after the Sprint is over. Recording is genuinely useful, and those tools do it well. But a record is a description, not a decision.
The 2020 Scrum Guide is full of rules a tool could hold you to. In most tools those rules are advisory: a shared understanding the team is trusted to remember. And a rule you can switch off in a settings panel is not a rule — it is a preference. That is not an oversight on their part; configurability is the product they are selling.
Scrumooth is the other trade-off: a gatekeeper, not a note-taker. Fewer process debates, more time shipping working software.
The one thing v3.1 changes
Every refusal is now machine-readable, classified, and verified in CI.
When Scrumooth refuses an action because it would violate the Guide, the response carries a stable
GATE_*code inerror.code— no parsing localized message text, no guessing from an HTTP status. There are 68 of them in v3.1, and:pnpm run gates:verify, run in CIThat last row is the point. The counts above are counted rather than asserted — a CI check (
pnpm run gates:verify) fails the build if a gate is unclassified, missing from the published reference, published with a status the contract does not declare, or counted differently in the README. This is why the numbers cannot drift from what the code actually enforces.And it publishes where the Guide stops and we start
A tool that claims to enforce "the Scrum Guide" should be able to show you the line between the Guide's rules and its own opinions. Ours is drawn at 39 of 68.
It would have been easier to call all 68 "Scrum Guide gates" and let the Guide's authority do the work. We separated them, in three tables, so the claim in the first table means exactly what it says.
The same precision applies to what we deliberately do not enforce: the Retrospective Prime Directive is left to the facilitator, and event timeboxes are surfaced through a shared team timer rather than force-closing an event. The Guide asks for self-management in exactly those places, so Scrumooth does not decide for the team.
What else is newly gated
v3.1 closes the lifecycle end to end. Headlines, with the detail in the CHANGELOG:
ACTIVEgoal at a time, Product-Owner-only, required before a Sprint starts or backlog work is added, and it cannot complete without recorded evidence.rank, ordering still the Product Owner's alone.Also new: the frontend mock now runs on Mock Service Worker at the real HTTP boundary, with one handler registry shared by development, Vitest and Playwright; a supported backend-free demo build (
--mode demo); and dev-onlypseudo/pseudo-rtllocales for string-expansion and RTL testing.Upgrade notes — please read before you pull
v3.1 declares two breaking changes.
GATE_*codes. The canonical list is the gate rejections reference.GATE_DOD_GROUP_GOVERNED), anddefinition_of_done."teamId"is no longer mandatory now that a DoD may belong to a group.Two more things worth knowing:
GATE_DOR_REQUIRED,GATE_DOR_NOT_READY,GATE_DOR_NOT_VERIFIED). New teams get six defaults seeded; existing teams get them the first time the agreement is read. This is the intended behaviour of a change that adds enforcement, but it is a change you should schedule rather than discover.VITE_USE_MOCK_APImust be exactlytrue.What v3.1 deliberately does not do
There is no setting that disables a Guide gate. Scrumooth is not also a general-purpose project tracker, and there is no scaled-agile mode, no SaaS tier, and no per-person skill inventory — cross-functionality is recorded as team-level snapshots, because the Guide asks for it at the level of the team, not as an inventory of individuals. Coaching notes are recorded in the audit log by length only, never by body.
The roadmap is unchanged in shape: deeper enforcement, not a wider product. Next up is a per-Sprint conformance report and an exportable evidence pack — the evidence your auditor asks for, generated from gates that already fired.
Try it
docker compose up -dfrom the Quick Start.Tell us where the contract is wrong
The most useful bug report you can send us is one of these two:
Both are defects in the contract rather than feature requests, and both get fixed. Comments here, or open an issue.
All reactions