Safeguard
Security Guides•

Should you rank engineering teams by vulnerability counts?

Ranking teams by raw vulnerability counts rewards small codebases and hidden findings. Compare by rate, age and trend instead, and keep the tone useful.

Safeguard Security Team
3 min read

Generally no. Ranking teams by raw vulnerability counts penalizes teams with more code, rewards teams that scan less, and encourages hiding findings. Compare teams by trend against their own past, age of open items and closure rate, and use the comparison to find help needed, not to assign blame.

What goes wrong with raw rankings

ProblemHow it appears
Size biasA team with a large codebase always tops the list
Coverage biasA team that scans less appears cleaner
GamingFindings are closed as false positives or suppressed to move up
Blame cultureTeams stop reporting problems early
Legacy biasTeams that inherited old systems are punished for history

This is Goodhart's law at work: when a measure becomes a target, it stops being a good measure. See Goodhart's law and security metrics examples.

What to compare instead

  1. Trend against the team's own baseline. Is open priority one work falling, flat or rising?
  2. Age of open items against SLA. The share past SLA and the oldest item.
  3. Closure rate versus inflow. Does the team close at least as much as arrives?
  4. Ownership and scan coverage. Are all the team's repositories scanned, and do all findings have an owner?
  5. Closure quality. The split between fixed and accepted closures.

Display these side by side for each team in a table, without a rank column.

TeamTrendPast SLAClosure vs inflowCoverage
Team Aup, flat or downcountahead or behindshare
Team Bup, flat or downcountahead or behindshare

Fill with your own data and no overall score.

When a ranking is acceptable

A short list of teams that need help can be useful, for example items far past SLA on priority one. Frame it as a support list: "these teams have items blocked longer than agreed, and here is what we are doing to unblock them." Pair each name with a proposed action from security or platform teams.

How to run the conversation

  1. Share data privately with the team lead before it goes to wider audiences.
  2. Ask what is blocking them, rather than why the number is high.
  3. Record blockers and fix the repeated ones centrally, such as shared dependency upgrades.
  4. Celebrate trend improvement openly.

Metrics that help the team

Give each team their own view of their findings with fixed versions and due dates. Teams that see clear next actions fix more than teams that see a score. For making the tools work for teams, see measuring security tool adoption without vanity metrics.

Safeguard's policies and gates can apply the same rules to every team so comparison is fair, and a free scan shows the per repository view.

Quick check

Is it fair to normalize by lines of code?

It helps with size bias but has its own distortions. A better step is to compare each team with its own past.

Should leaders see team level data?

Yes, as a table of trend and age, shared with the team first. Avoid ranked leaderboards.

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.