MP Sprint Metrics — MP 2026.15 → MP 2026.19

Filtered: stories CURRENTLY assigned to William Emmel, Jonathan Jara, Mark McLean, Alexa Swihart, Chris Wandel, Joe Ozzello, Erik Truby (149 of 259 stories in the window).

Generated 2026-09-16 10:02 · run including the in-flight sprint · mp_sprint_metrics.py --sprints 4 --include-active --people-file team.txt

Predictability

Share of committed work reaching each outcome

0%25%50%75%100%2026.152026.162026.172026.1841707283213924463926189.7146.61516
Say-Do (Dev Done) %Say-Do (Done) %Carryover %Emergent %
0%25%50%75%100%2026.152026.162026.172026.182026.19*41707283422139244603926189.753146.615160
Say-Do (Dev Done) %Say-Do (Done) %Carryover %Emergent %

Throughput

Stories completing each sprint; points on the right axis

02550751002026.152026.162026.172026.181522203321404152387557117050100150200
Stories DoneDev CompleteStory points done
02550751002026.152026.162026.172026.182026.19*15222033021404152183875571170050100150200
Stories DoneDev CompleteStory points done

Cycle time

Median days from sprint commitment

0d12d25d38d50d2026.152026.162026.172026.180.77.00.00.68.3446.99.010d (n=2)28d (n=2)20d (n=5)34d (n=8)8.3429.512
QueueDev (team)Approval waitTotal
0d12d25d38d50d2026.152026.162026.172026.182026.19*0.77.00.00.68.3446.99.010d (n=2)28d (n=2)20d (n=5)34d (n=8)8.3429.512
QueueDev (team)Approval waitTotal

Where carryover stopped

Status at sprint close; current status for the active sprint

051015202026.152026.162026.172026.18
Blocked, NO flagCode Review (peer)To Do (not started)At DEVDeploy / QA
06.21219252026.152026.162026.172026.182026.19*
Blocked, NO flagCode Review (peer)To Do (not started)At DEVDeploy / QA

Deploys

Label-add events from the changelog

051015202026.152026.162026.172026.181131350115
Deploys to testDeploys to prod
051015202026.152026.162026.172026.182026.19*113130501150
Deploys to testDeploys to prod
Metric2026.152026.162026.172026.182026.19*All (4 closed)Notes
COMPLETION
Stories Done15222033090Status Done, credited to closing sprint. Cancelled excluded.
Dev Complete2140415218154State at sprint close: Blocked+flag or Done. Same story counts in every sprint it was in while dev-done, so this sums by instance not by distinct story.
Story points done3875571170287Points on stories closed in that sprint.
COMMITMENT & PREDICTABILITY
Committed4961556243227In the sprint at any point while it was running.
Planned at start3954465243191Present when the sprint began. Cancelled excluded.
...dev-done at close1638334318130Of the planned stories, those in a dev-done state at sprint close.
Say-Do (Dev Done) %41.0%70.4%71.7%82.7%41.9%68.1%Share of the day-one plan in a dev-done state at sprint close (Blocked+flag or Done). Rework back to active dev disqualifies until the story returns to dev-done.
...Done in-sprint8211124064Of the planned stories, those whose Done event fell inside this sprint's window. Approval landing later doesn't count.
Say-Do (Done) %20.5%38.9%23.9%46.2%0.0%33.5%Comparison row: the industry-standard 'plan vs. Done in-sprint'. Reads lower than the dev-done Say-Do because approval waits and external teams show up as failure here.
Emergent (new)74810029Genuinely new work pulled in after the sprint started.
...dev-done at close5289024Emergent work in a dev-done state at sprint close.
Emergent %14.3%6.6%14.5%16.1%0.0%12.8%Share of the sprint that was unplanned.
Carryover19161062351Committed but reached neither Dev Complete nor Done in-sprint.
Carryover %38.8%26.2%18.2%9.7%53.5%22.5%Share of committed work that did not finish.
WHERE CARRYOVER STOPPED (status at sprint close; CURRENT status for the active sprint)
Blocked, NO flag15302120Blocked but never flagged, so it cannot score Dev Complete. Usually the same external wait -- just missing the flag.
Blocked + flagged000000Always 0 under state-based Dev Complete: Blocked+flag at close IS dev-done, so it counts toward Dev Complete instead of carryover.
Code Review (peer)110224Coding finished; waiting on another developer to review it when the sprint closed. An internal queue, not an external one.
To Do (not started)2330178Committed and never picked up -- overcommitment, not a blocker.
At DEV1362312In flight at sprint close.
Deploy / QA061007Past review, awaiting a deploy or QA pass.
CYCLE TIME (median days)
Queue0.7d7.0d0.0d0.6d--1.8dSprint commitment -> first At DEV.
Dev (team)8.3d43.7d6.9d9.0d--11.9dCommitment -> Dev Complete. The team-controlled span.
Approval wait2/10d2/28d5/20d8/34d--17/27dcount/median. ONLY stories that sat in Blocked+flagged; straight-to-Done work is excluded, not counted as 0d.
Still awaiting appr.3/48d6/40d5/27d3/5d--17/40dcount/median age as of today. Dev done, still not closed -- aging work, absent from Approval wait (no close date to measure).
Total8.3d42.0d9.5d12.0d--12.1dCommitment -> Done, all closed stories.
DEPLOYMENT FREQUENCY
Deploys to test11/2d3/1d1/1d3/3d0/0d18events/distinct days, from changelog label adds.
Deploys to prod5/3d0/0d11/4d5/3d0/0d21events/distinct days. Current labels undercount; Ready* labels get replaced by Deployed*.
Rework after Dev Cmp2602010Returns to active dev after Dev Complete was reached.

Team workload

MP 2026.17 + MP 2026.18 — one row per person, attributed to the current assignee. Cases is every non-cancelled story they had in these sprints, however it got there: planned, pulled in mid-sprint, or carried over. Open, Done and Dev Complete are the story’s state today and are exclusive — Done first, then Dev Complete, then Open — so they sum to Cases. Complete is Done + Dev Complete, and Completion rate is Complete ÷ Cases, so every number here can be checked against the row. This is not Say-Do: Say-Do (metric table above) scores only work promised on a sprint’s opening day, per sprint.

Team memberCasesOpenDoneDev CompleteCompleteCompletion rate
William Emmel26210142492.3%
Chris Wandel1721051588.2%
Jonathan Jara17017017100.0%
Joe Ozzello7160685.7%
Alexa Swihart60606100.0%
Erik Truby50505100.0%
Mark McLean40404100.0%
Team total82558197793.9%

MP 2026.17 + MP 2026.18 + MP 2026.19 — one row per person, attributed to the current assignee. Cases is every non-cancelled story they had in these sprints, however it got there: planned, pulled in mid-sprint, or carried over. Open, Done and Dev Complete are the story’s state today and are exclusive — Done first, then Dev Complete, then Open — so they sum to Cases. Complete is Done + Dev Complete, and Completion rate is Complete ÷ Cases, so every number here can be checked against the row. This is not Say-Do: Say-Do (metric table above) scores only work promised on a sprint’s opening day, per sprint.

Team memberCasesOpenDoneDev CompleteCompleteCompletion rate
William Emmel29510142482.8%
Jonathan Jara2031701785.0%
Chris Wandel1941051578.9%
Erik Truby11650545.5%
Alexa Swihart9360666.7%
Joe Ozzello8260675.0%
Mark McLean40404100.0%
Team total1002358197777.0%