Safeguard
Security Guides•

How do you give a three-point estimate for a security fix?

Give best, likely and worst case hours for each security task, combine them with a simple formula, and report a range. A worked example for engineers.

Safeguard Security Team
4 min read

Give three numbers for each task: best case, most likely, and worst case. Combine them as the best case plus four times the likely case plus the worst case, divided by six. Report the result with a spread. This gives managers a range they can plan against instead of a single hopeful date.

Why one number fails

Security tasks have fat tails. A dependency upgrade usually takes a day, but the one time it pulls in a breaking change it takes a week. A single point estimate hides that. People anchor on the likely case, and the schedule has no room for the bad one.

Three-point estimation is a technique for building an approximate distribution of outcomes from limited information. It is only as good as the three inputs, so the method forces a conversation about what could go wrong.

The formula

Using the PERT style weighting:

  • E, the expected value, is (a + 4m + b) divided by 6.
  • SD, the standard deviation, is (b minus a) divided by 6.

Here a is the best case, m is the most likely, and b is the worst case. The source notes that accuracy can be no better than the three starting points, and that assuming a distribution shape with little basis has clear dangers. Treat the output as a planning aid.

Worked example

These hours are made up to show the arithmetic.

TaskBest (a)Likely (m)Worst (b)ESD
Upgrade vulnerable library24165.72.3
Add input validation to one endpoint36126.51.5
Write regression test and review2363.30.7

For example, the first row is (2 + 16 + 16) divided by 6, which is about 5.7 hours, and (16 minus 2) divided by 6, about 2.3.

Totals: E adds up to 15.5 hours. For the combined SD, square each SD, add them, and take the square root: about 2.8. The source gives roughly E plus or minus SD as a 68 percent range, so about 12.7 to 18.3 hours, under the assumption that the estimates are uncorrelated. Round to "two to two and a half days" when you speak.

How to pick honest inputs

  • Best case means everything goes right, not a fantasy. Ask for a case that would surprise you if beaten.
  • Worst case means a realistic bad outcome, not a catastrophe. Ask what happens if the first fix does not work.
  • Likely is the single most probable outcome, not the average of the other two.

Estimate as a pair or group when you can. People who do not know the code will give wider ranges, and that is information.

Where the technique breaks

Tasks that share a cause are not independent. If three fixes all depend on one framework upgrade, their delays arrive together and the SD calculation understates the risk. Group them under one estimate. Also, three-point numbers do not include waiting for review or deploys, so add queue time separately, as in how to estimate security work in story points.

What to tell stakeholders

Say: "Likely two to two and a half days of work, plus review time, with a tail risk if the upgrade breaks callers." Then record what actually happened. After a quarter, compare actual to the range and adjust your habit. If the actuals sit above the worst case often, your worst case is too gentle.

Safeguard's CLI includes a fix dry run that previews dependency changes, which helps narrow the best and worst case before anyone starts. See preview dependency fixes with the Safeguard CLI.

Quick check

Is three-point estimation the same as padding?

No. Padding hides a buffer inside one number. Three points show the range openly, so the tail risk can be discussed and planned.

Should I use it for every ticket?

No. Use it for tasks with real uncertainty, like upgrades and migrations. Small routine fixes can use reference tickets.

Sources

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.