Skip to main content

INVEST Scoring

The six criteria

LetterCriterionWhat it checks
IIndependentCan the story be delivered without being blocked by another?
NNegotiableCan the scope be adjusted without losing core value?
VValuableDoes it deliver clear, measurable value?
EEstimableCan the team estimate the effort with confidence?
SSmallDoes it fit within one sprint?
TTestableAre the acceptance criteria concrete and verifiable?

How scoring works

On-demand INVEST score

Click Analyse (INVEST) for a full LLM-powered analysis. Each criterion receives one of three statuses:
StatusScore contribution
ok100
⚠️ weak50
missing0
The INVEST score (0–100) is derived deterministically from the six criteria: average of the six values, rounded. The number and the I/N/V/E/S/T grid always agree — they share the same source. If the score is below 40, an alert prompts you to improve the story before generating tests. No LLM call fires on panel open — the score only appears after you explicitly click Analyse (INVEST). Each criterion also shows a justification and inline suggestions. Click any criterion cell to expand its suggestions.

Before → after score

After clicking Rewrite in ADO, the panel re-reads the story fields from the ADO server (not the form cache) and resets the analysis. Click Analyse (INVEST) again to compute the after score on the improved version.

When the LLM is unavailable

If your provider is not configured or unreachable, a descriptive message with a link to the Config tab is shown — no phantom score is displayed.

Score levels

ScoreLevel
70–100Ready — can enter the sprint
40–69⚠️ Needs work — one or more criteria weak
0–39Critical — needs rework before estimation

Language invariant

All generated content is produced in the same language as the source story. If your story is in French, the output is in French. TestForge never silently translates.