Security Metrics / BSides Charm
Mean time to remediate
Last month
15d
→
This month
31d
Dashboards call this failure. The better question is: what actually changed?
What happened to backlog age? What happened to the oldest findings?
MTTR increased after we made it a KPI.
MTTR rose because we finally closed the oldest findings.
The MTTR Paradox
MTTR ↑
while
MOVA ↓
MTTR can rise while backlog age falls.
Flow
How fast are we closing work?
Backlog age
How old is the open backlog today?
MTTR shows flow.
MOVA shows backlog age.
Most findings
95
at 7 days
Old tail
5
at 400 days
The average looks fine.
The oldest findings are not moving.
MTTR
Closed work. Time to remediate. Age at closure.
MOVA
Backlog age today. What is still open.
SLA views tell you if you met a deadline, not the backlog age you still carry.
Hold constant
Start with one backlog.
Keep arrivals and capacity fixed.
Change one thing
Newest-First vs. Oldest-First.
Only the order of closure changes.
Same team. Same capacity. Different prioritization.
On MTTR, Newest-First looks like the winner.
On backlog age, Oldest-First is the healthier system.
Newest-First leaves the aging tail stranded.
Oldest-First
0
findings older than 180 days
Newest-First
146
findings older than 180 days
Under Newest-First, the oldest backlog barely moves.
| Strategy comparison | |||||
| Newest-First wins on MTTR. Oldest-First wins on backlog age. | |||||
| MTTR | Backlog Age | Backlog | Interpretation | ||
|---|---|---|---|---|---|
| MTTR | MOVA | 180+ tail | Open count | Interpretation | |
| Oldest-First | 92.6 | 36.5 | 0 | 151 | Recommended: best backlog outcome |
| Newest-First | 16.1 | 726.4 | 146 | 151 | MTTR-only winner |
Read only MTTR and you pick the wrong winner.
The problem is using MTTR alone.
Newest-First
16.1 days
MTTR
Oldest-First
92.6 days
MTTR
If this is the only KPI, the system rewards the strategy that closes recent work fastest.
Newest-First
MTTR 16.1 days
MOVA 726.4 days
Open count 151
180+ days 146
Oldest-First
MTTR 92.6 days
MOVA 36.5 days
Open count 151
180+ days 0
MTTR still matters. It cannot stand alone.
Most teams already have the data. A CSV export is often enough.
Define the metric in code before it reaches a dashboard.
Start with an export. Define the metric in code before you visualize it.
Policy
Prioritize older findings first.
Guardrail
Can reward the wrong queue.
Do not let low MTTR outrank backlog age.
MTTR shows flow.
MOVA shows backlog age.
You need both.