A structured team self-assessment tool that uses a fixed set of dimensions and a traffic-light rating to surface ways-of-working problems and track improvement over time.
Which aspects of how we work feel healthy right now, which are at risk, and is each one getting better or worse?
Team conducting the health check; all members vote anonymously on each dimension
Health check session results feeding into the retrospective discussion and action items
Health dimension scored, e.g. delivering value, teamwork, fun, learning, mission clarity, speed
Team OKR or improvement goal derived from consistently red health check dimensions
(green_count - red_count) / total_indicatorsThe team health check is a structured self-assessment that helps a squad evaluate its own ways of working across a fixed set of dimensions, surface the areas that feel broken, and track whether things improve over time. Henrik Kniberg and Kristian Lindwall developed it at Spotify to give teams a shared vocabulary for conversations that are otherwise hard to start.
Henrik Kniberg and Kristian Lindwall, working as coaches at Spotify, published the Squad Health Check model in September 2014 on Crisp's blog. Spotify had grown to a point where the engineering organisation was large enough that informal cultural calibration was no longer sufficient. They needed a lightweight tool that squads could use to assess themselves without requiring a senior manager to run the session. The model drew on a set of dimensions that had emerged from coaching conversations: things like delivery pace, psychological safety, ownership, and the team's sense of missionMissionStrategyThe purpose and reason the product existsView reference →. The original post provided a set of example cards, a traffic-light rating system (green/yellow/red), and a trend indicator (improving/stable/getting worse). The model has since been adopted far beyond Spotify and adapted for many contexts. Some teams use a subset of the original dimensions; others have modified the cards to fit their domain. The core structure, self-assessment plus trend tracking plus public visibility, has remained stable.
A health check session runs with the full team, usually in a retrospectiveRetrospectiveTeam & OrganisationA team retrospectiveView reference → slot or as a standalone quarterly session. Each team member independently rates a set of dimensions, typically five to ten, using a simple colour: green means things feel good, yellow means there are concerns, red means this is broken or painful.
The original Spotify cards covered dimensions including: easy to releaseReleaseProduct SpecificationA shipped version of the productView reference →, suitable process, tech quality, value, speed, mission, fun, learningLearningValidationAn insight gained from an experimentView reference →, support, and pawns or players (a question about whether the team feels in control of its own decisionsDecisionStrategyA recorded decision with context, rationale, and consequencesView reference →). Each card describes what "awesome" looks like and what "crappy" looks like, so the rating is anchored to specific behaviours.
After individual ratings, the team discusses disagreements. Two people giving "release process" a different colour signals a real conversation to have. The facilitator records the aggregate result and the trend: is this dimension improving, stable, or getting worse compared to the last session? The output is a heatmap across all dimensions, visible to the team and optionally to leadership.
A worked example. A five-person backend squad runs a health check at the start of Q3. Six of the ten dimensions come back green. "Tech quality" is yellow for three members and red for one. "Speed" is yellow across the board. The trend for speed is getting worse. The team surfaces a specific cause: a shared library with no owner is generating merge conflicts that slow every deploy. They add a clean-up initiativeInitiativeStrategyA large coordinated effort to achieve a strategic goalView reference → to the backlog and assign an owner. Three months later the speed card is green and trend is improving. Without the health check, the speed problem might have persisted as a general complaint without a specific action.
The team health check is most useful run quarterly, consistently with the same dimensions, so that trends become visible. A single session produces a snapshot; a series of sessions produces a signal. It works best when the facilitator is separate from the team's line manager, so that honest ratings are not suppressed by the presence of someone who can act on them negatively.
It earns less return when the dimensions do not fit the team's context. A team working on infrastructure will have a different definition of "easy to release" than a growth team shipping experimentsExperimentValidationA test designed to validate a hypothesisView reference →. Generic dimensions without contextual anchors produce ratings that are hard to interpret. The other common failure mode is running the session but not acting on the results. A health check that surfaces the same red cards quarter after quarter and generates no action teaches teams that the exercise is performative, and participation quality drops quickly.
The model is also not a diagnostic tool for team interpersonal dynamics or performance management. It is a prompt for a structured team conversation. If the session surfaces something that requires a harder conversation between individuals, that conversation belongs elsewhere.
The team health check is a table pattern in the team process category. The Unified Product Graph models the key entities involved in running and tracking a health check programme:
teamTeamTeam & OrganisationA cross-functional teamView reference → entity, the group doing the self-assessment. Each team in the organisation has its own node, carrying its current health status and dimension history.retrospectiveRetrospectiveTeam & OrganisationA team retrospectiveView reference → entity. Health checks share the retrospective structure: a regular, time-boxed team reflection that produces a record of the current state and a set of actions.metricMetricStrategyA unified metric that measures progress, health, or behaviour across the productView reference → entity, giving each health dimension a trackable value over time. This makes it possible to surface trends across teams as well as within a single team.team_okrTeam OKRTeam & OrganisationA team-level OKRView reference → entity, linking the health check output to the team's formal goals.Modelling health checks this way means an organisation running health checks across 20 squads can query which dimensions are red across multiple teams, identify whether the same issue is systemic, and track whether the investments made in response are moving the numbers.