Open the sprint's Sprint Report in Jira, select the whole report and copy it, then paste it below. It is read as soon as it lands, and the figures appear underneath. Pressing Use these numbers saves the sprint straight away, so you can't lose the figures by closing this box — only Cancel undoes that save.
Copy for Sprint Predictability
It runs inside your Jira tab on the sign-in you already have, so there is no password or token to give it. It only reads, and copies only each issue’s key, whether it joined after the sprint started, and its story points — never a summary. The text goes to your clipboard and nowhere else. This app still connects to nothing. To stop using it, delete the bookmark.
Did the sprint achieve what it was for? That is a different question from whether the points landed, and only the team can answer it — a sprint can finish 95% of its commitment and miss the one outcome it was planned around, or drop half its points and still deliver the goal. Left as Not recorded it counts in nothing.
For a sprint that would mislead the forecast — a major incident that took it over, a re-baselining of the points, or a sprint most of the team was away for. The sprint's own figures are untouched and every other view still shows them; only the rolling 5 and the capacity target skip it, and both say that they have.
Your teams, the trains they are on, every PI and every sprint — including why one was left out of an average and where capacity was planned down.
An Agile Release Train groups teams together. It's a label only — every figure is still worked out per team — and the Compare Teams view gains a filter for it. Teams need not be on one.
Each PI holds 6 sprints. They're listed oldest first — that order is what the rolling window walks back through.
Every ✓ / ! / ✕ in the app, every colour, every “off target” sentence and every chart band is judged against these. They start where a SAFe train usually sets them — change them to your own and the whole app follows, in this browser. They travel in a share link too, so whoever you send figures to reads them the way you do.
Between the two is amber.
All three share one pair — they are the same measure of a plan not holding, read three ways.
Above the ceiling is a finding too: a train that reliably lands well over it committed to less than it could deliver.
Saved as you go
One JSON file holding every team, ART, PI and sprint — a copy you keep, independent of this browser. It is the only copy of your data that exists anywhere else, so it is worth taking one.
Coming from a spreadsheet? A sprint history pastes in one go — rows of figures against sprints, for one team or several. Unlike the JSON above it adds to what is here rather than replacing it, and it shows you every row before it writes anything.
Restoring replaces every team in this browser. You'll see what the file holds and be asked to confirm first.
Deletes every team, ART, PI and sprint in this browser. Your theme is kept.
Paste rows from a spreadsheet — tab-separated straight out of Excel, or CSV. The first row has to be the headings. Everything is checked and shown below before anything is saved, and nothing is written until you press Import.
sprint is the only column you must have. team and pi name rows that already exist — leave them out and everything lands on the team you are looking at, with no PI. The rest — start, end (YYYY-MM-DD), committed, committed completed, total completed, added, removed, carried in, carried out, brought in then removed, goal (met / not met) — are optional, and a blank figure means zero, exactly as it does on the sprint form.
100% is a normal sprint. As a rough guide, one person in five away for the whole sprint is about 80%. Over 100% is allowed for the rarer case of extra help or a longer sprint.
The recommendation is the average of these sprints. If one of them was produced by a different team — three people then, four now — scale it up or down and the average moves with it. Only this recommendation changes: the sprint's own recorded figures stay exactly as they are everywhere else in the app.
This governs the availability figure at the top. Leave it unticked for a one-off — leave, public holidays, a shorter sprint — and it applies to this sprint only. Tick it for a lasting change that should hold until you change it. Sprint scaling needs no such choice: a scale stays on its sprint until you change it, and retires naturally when that sprint drops out of the window.
Add up the business value your ART assigned to this team's objectives at PI planning. Planned covers the objectives the team committed to — leave stretch objectives out of it, they were never a commitment. Achieved is how much of that committed value landed — leave it blank while the PI is still running, and it stays out of the predictability figures until you fill it in. From stretch is what the stretch objectives delivered on top: it counts in the measure and never in the commitment, which is what lets an honest figure sit above 100%.
Anyone opening this link sees the figures you pick, with no way to change them and no sign-in. The data travels inside the link itself — it isn't uploaded anywhere, and it doesn't touch whatever they have saved in their own browser.
This is a snapshot, frozen as it looks right now — later edits won't appear, so send a fresh link when the numbers move. There's no way to withdraw one once sent, so treat it like emailing a spreadsheet.