The good story: INVEST
In short: A good story is independent, negotiable, valuable, estimable, small and testable. INVEST is a review checklist, not a law. The most expensive story is the one that cannot be checked: it is never done, because nobody knows when it is.
Problem
The story that never ends
One story has been on the team's board for three weeks: "As a customer I want payment to be convenient." The developer has changed the form twice. The designer has changed the buttons. Every time, the owner says "it is better, but it is not it".
The story is not badly written. It has a role, a goal and almost a benefit. But nobody can say when it is done, so it never is.
The idea
Six letters
Bill Wake gathered the qualities of a good story into one word: INVEST.
| Letter | Means | Broken in the shop |
|---|---|---|
| Independent | built and shipped without another story at the same time | "I enter the code" and "I see the discount from the code": one does not work without the other |
| Negotiable | the details are negotiated; the story is not a contract | "a red button on the right, 120 pixels wide" |
| Valuable | brings something to someone outside the team | "preparing the database for promo codes" |
| Estimable | the team can judge how big it is | "recommendations like the big shops have", with nobody knowing where to start |
| Small | fits in a few days of work | "I manage my orders": cancelling, returns, history, addresses |
| Testable | you can say when it is done | "payment is convenient" |
INVEST is a review checklist. You go through the story letter by letter and ask: is this all right? Where it is not, you have a question for the conversation.
More precisely, if you are curious
Bill Wake published INVEST in 2003 in the article "INVEST in Good Stories, and SMART Tasks". ISTQB CTFL v4.0.1 cites it in the section on collaborative user story writing.
The letter T is where QA has the most work before any code exists. A testable story is the same quality as a verifiable requirement from the lesson "The good requirement": without a measure there is no test that can fail.
Try it
Which letter?
In each story one INVEST letter is broken the most. Which one?
The idea
The story that cannot be checked
"Payment is convenient" is the trap from the start. Words like "convenient", "fast", "clear" and "suitable" sound like a requirement, but they do not say when it is met. Everybody reads them their own way, and the owner can always say "that is not it".
The fix is not a nicer word. It is the question "how will we know it is done?" and an answer with concrete cases:
- "convenient" becomes "a new customer pays without help in under 2 minutes", checked with five people who have never seen the shop;
- "fast" becomes "95 % of payments complete in under 3 seconds with 200 customers at once";
- "a clear message" becomes "with an expired code, the customer sees "The code has expired" and the total stays without the discount".
Now all three (the business, QA and the developer) see the same thing. This is the third C, the confirmation, before the work has even started.
Try it
Can it be checked?
The idea
Small, but still valuable
Two of the letters often pull against each other. The story "I manage my orders" is valuable, but not small. If you cut it into "the orders database", "the orders screen" and "the orders service", every piece is small, but none is valuable: the customer cannot use any of them alone.
The answer is to cut so that every piece goes through everything it needs and gives something to someone. "I cancel a paid order before it is shipped" is small and valuable. How to find such a cut is the topic of the next lesson.
The letter E hints at something too. When the team cannot estimate a story, there are usually two reasons: it is too big or too unclear. Big stories are split. Unclear ones are cleared up with questions, and that is what the last lesson of the module is for.
More precisely, if you are curious
When the unclear part is technical ("can we do recommendations with our data at all?"), teams often run a short, timeboxed investigation called a spike. It is not a story for the customer. Its result is knowledge that makes the story estimable.
Exercise
Review the stories
1. Fix the story. Four stories from the last meeting. Pick the best step for each.
Test
Check yourself
Related lessons
Section titled "Related lessons"- Builds on: Welcome · Who has a say · The good requirement · What a story is
- Continues in: Splitting a big story · Acceptance criteria · Example Mapping: rules, examples, questions
- Tasks on this topic: Stories and acceptance criteria