What does a sprint health dashboard show in Metabase?
A sprint (or cycle) health dashboard answers one question each iteration: are we on track to finish what we committed to? It tracks committed vs. completed work, spillover, and scope change. Build it from Jira sprints or Linear cycles synced into a database.
issues + sprints/cycles (+ issue-iteration history for accurate scope change).Which cards belong on a sprint health dashboard?
- Committed vs. completed (points and issue count) for the current iteration
- Spillover / carryover — items not finished in-iteration
- Scope added after start — issues assigned after it began (needs history)
- Burndown-style trend — remaining work over the iteration
- Incomplete issues by team — where the iteration is slipping
- Velocity trend — completed points over the last N iterations
What data does a sprint health dashboard need?
issueswithestimate/story_points,state_type/status_category, and an iteration key.sprints/cycleswithstart_date/end_date.- For scope change and burndown, issue-to-iteration change history — otherwise present current-state cards only and caveat the rest.
How do you build a sprint health dashboard?
- Sync sprints/cycles + issues (Jira / Linear).
- Model the iteration grain; define committed (in iteration at start) vs. completed (done by end).
- Build cards; add filters for team, board/cycle, and iteration.
Example card SQL
SELECT
it.name AS iteration,
it.start_date,
SUM(i.estimate) AS committed_points,
SUM(i.estimate) FILTER (WHERE i.state_type = 'completed') AS completed_points,
COUNT(*) FILTER (WHERE i.state_type <> 'completed') AS spillover_issues
FROM iterations it
JOIN issues i ON i.iteration_id = it.id
GROUP BY it.name, it.start_date
ORDER BY it.start_date;