How much goes to keeping the lights on
The Maintenance slice covers the work that keeps the existing system honest: refactors, dependency upgrades, infrastructure, internal tooling. It rarely makes release notes — but a healthy team spends a deliberate share of its capacity here.
MAINTENANCE SHARE BY DAY
Each bar is one day's maintenance share — that day's Maintenance ETV divided by total ETV. The line is the 90-day trailing rolling average — the underlying trend.
Baseline
27.3%
90-day rolling avg ending 2025-04-01
Latest
12.8%
90-day rolling avg ending 2026-09-07
Change (percentage points)
−14.5 pp
from 27.3% to 12.8% across the 90-day rolling series
How to read it
Faint barsare each day's raw Maintenance share. The bold line is the 90-day trailing rolling average — the trend that matters.
The headline is the change in percentage points between the first and the most recent endpoint of the 90-day rolling-average line — i.e. the leftmost and rightmost points the chart actually plots, not a calendar-quarter average.
Why it matters
Maintenance is the only work category that compounds defensively — every refactor reduces the future surface area of bugs. Teams that starve it tend to pay it back in Fixes within 2–3 quarters.
A sustained decline here is the strongest forward-indicator of rising Fixes share in this dataset. Read the trend, not the level: the published healthy range predates the split of Tests and Docs into their own categories, and work that used to land in Maintenance now lands in one of those. New bands are pending a full five-category resync.
How we measure maintenance share change, and how to read the trend.
Show methodologyHide methodology
How we measure maintenance share change, and how to read the trend.
Show methodologyHide methodologyWhat counts as Maintenance
Refactors without behaviour change, dependency bumps, build/CI tweaks, internal tooling, observability, formatting and lint cleanups. Anything that keeps the system alive without adding user-visible capability. Test and documentation files are excluded — they have their own Tests and Docs slices.
How shares are computed
For each day we sum the Engineering Throughput of merged commits, split by category, and divide by the daily total across all five categories. The rolling-average overlay is a 90-day trailing mean. The most recent day is dropped if it looks like a partial sync.
How the change is computed
We compare the first and the most recent point of the 90-day rolling series — the leftmost and rightmost values of the bold line on the chart — and report the difference in percentage points. Both endpoints are single 90-day rolling readings, not calendar-quarter averages, so they stay aligned with the rest of the site's rolling-90d convention.