BA Prince the B.A. Subscribe

Home / Jira & Confluence for BAs

Check a User Story With INVEST (in Jira)

Check a User Story With INVEST (in Jira)

Watch on YouTube Subscribe

Check a user story with INVEST before it goes into a sprint: Independent, Negotiable, Valuable, Estimable, Small and Testable. Each letter is checked against a real part of a Jira story.

Step by step

Six letters

  1. INVEST check. INVEST is a checklist of 6 quick questions that tells you if a user story is ready to plan. Here it is used on a real story in Jira, one letter at a time.
  2. Find the story. Open the backlog of the online shop project and type discount in the search box. The list filters down. Click the story Apply a discount code to open its details.
  3. INVEST check. Each of the 6 letters is a question. If any answer is no, the story goes back for more work before it can go into a sprint.

I N V

  1. I - Independent. I is for Independent: can the team build it without waiting for another story? Look at the story's linked work items. Nothing blocks this one, so the answer is yes.
  2. N - Negotiable. N is for Negotiable: the I want part says what the shopper wants, not how the screen must look. The details stay open for the team to agree on together.
  3. V - Valuable. V is for Valuable: the so that part names the value, which here is that the shopper pays the promised price. A story with no so that part has no clear value.

E S T

  1. E - Estimable. E is for Estimable: the team understood the story well enough to size it at 3 story points. If a team can't size a story, ask more questions first.
  2. S - Small. S is for Small: 3 points fits easily inside one sprint, and the story is already planned into sprint 1. A story big enough to fill a whole sprint should be split.
  3. T - Testable. T is for Testable: under Acceptance criteria, each Given, When, Then line is a test with a clear pass or fail. A valid code lowers the total. An expired code shows a message.

The verdict

  1. Ready to plan. All 6 answers are yes, which is why this story was safe to plan into the sprint.

Recap

  1. Six questions. To recap: Independent, Negotiable, Valuable, Estimable, Small, Testable. Check the links, the story sentence, the so that part, the points, the sprint and the acceptance criteria. If any answer is no, fix the story first.

Common mistakes

  • Missing a blocking link. A story with an is blocked by link to unfinished work is not independent. Check the linked work items before planning, and finish or reorder the blocking story first.
  • Writing the design into the story. A line like I want a blue Apply button under the total fixes the how and leaves nothing to talk about. Say what the user needs, and agree the screen details with the team.
  • A weak or missing so that. A so that like so that the feature exists names no real value. Name the result for the user or the business, like so that the shopper pays the promised price.
  • Acceptance criteria you can't test. Lines like the code should work well have no clear pass or fail. Write each one as Given, When, Then with an outcome anyone can check, such as an expired code shows a message.

When a business analyst uses this

In backlog refinement before sprint planning, a business analyst runs the 6 INVEST questions over each story the team wants to pull in. Any story that fails a question, such as one with no acceptance criteria or no points, gets a comment explaining the gap and stays out of the sprint until it is fixed.

Questions people ask

What does INVEST stand for in user stories?

Independent, Negotiable, Valuable, Estimable, Small and Testable. Each letter is a question to ask about a story before it goes into a sprint.

Who created the INVEST checklist?

Bill Wake introduced INVEST in 2003 as a quick way to check whether a user story is well written.

What should you do if a user story fails one INVEST question?

Fix it before it goes into a sprint. For example, split a story that is too big, add a so that part, or ask more questions until the team can estimate it.

More in Jira & Confluence for BAs