Should You Use AI to Write User Stories?
Should you use AI to write user stories? An honest look at what it drafts well, where it invents context, and how to keep a story worth arguing about.
Use AI to write user stories for the mechanical part of the job and not for the judgement. A model produces the As a, I want, so that shape competently, and that shape was never the hard bit. Deciding which user, which problem and why now comes from conversations the model has not had.
This is for product managers, business analysts and tech leads already running a model over the backlog, or being asked why they are not. It covers what AI does well here, how generated stories go wrong, and where the line sits.
Can AI write user stories?
Yes, easily. Give a model a feature name and it returns a dozen stories in correct form, each with a role, a want and a rationale, most of them grammatical and several of them plausible. The template is a fill-in-the-blanks exercise, and filling in blanks is exactly what these systems are built to do.
It is worth conceding that plainly, because the objection to AI-written stories is not that the output looks wrong. It looks good. A story earns its place when someone can say which user asked for this, what breaks if it is never built, and how you will know afterwards that it worked. The rest is a formatting convention for work an engineer has to act on.
So the capability question is settled and uninteresting. The question that matters is what happens to the parts of a story that were supposed to come from outside the room.
What AI is genuinely good at in a backlog
AI earns its keep on the parts of story writing that are transcription, restructuring or completeness checking. Specifically:
- Reformatting notes you already have. A page of discovery notes, a recorded decision and a half-written ticket go in; consistent story shape comes out. Nothing is invented because everything was already there.
- Splitting a story that is plainly too big. Ask for splits by workflow step, user type or rule variation and you get a reasonable set to choose from. Sizing rules still decide which of those splits is real.
- A first pass at acceptance criteria you then argue with. The draft is rarely right. It is much faster to attack a wrong list than to face an empty one. Which criteria format you are arguing in matters here.
- Catching structural gaps. Stories missing an actor, missing a value clause, or written as a solution with no user in them at all. This is proofreading, and models proofread well.
- Producing the boring variants. Error states, empty states, permission cases, expiry, what happens on a second submission. Humans skip these on a Friday afternoon. The model does not get tired.
The pattern underneath all five is the same. AI is useful where you already know the answer and want it written down consistently. It is dangerous where you do not know the answer, because it will supply one anyway and the supplied answer will read exactly like the real ones.
Where AI-written stories reliably fail
They fail by being confidently specific about things nobody checked. The failures are not random noise, they cluster:
Invented users. A generated backlog will happily address the compliance officer, the power user and the first-time visitor. If nobody researched those people, you now have stories written for personas that exist only in the prompt’s echo.
Acceptance criteria that restate rather than constrain. “Given the user is logged in, when they click save, then the record is saved” tells a developer nothing they did not already assume. Real criteria pin down the case that would otherwise be argued about in code review.
Plausible edge cases from someone else’s domain. Models are good at the edge cases of a generic system. Yours has a rule about part-refunds on annual plans that appears in no training data anywhere, and the generated list will not include it while confidently including six that do not apply.
Volume that defeats refinement. A person can write eight stories in a morning. A model can write eighty. Nobody refines eighty stories properly, so the batch gets skimmed and waved through, and refinement quietly stops being a review. If your sessions have started ending early with everything approved, that is the symptom.
The accountability gap. The most damaging one. Ask why a story is in the sprint and the honest answer becomes a shrug. A backlog nobody can defend line by line is worse than a thin one, because a thin backlog visibly prompts the conversation that fills it, while a full one closes the conversation down.
AI PRD generator vs writing it yourself
Neither pure option is right, and the trade is between speed of first draft and where the context comes from. The comparison is the same whether the artefact is a story, an epic or a full requirements document that has to survive review.
| AI generator | Writing it yourself | |
|---|---|---|
| Time to first draft | Minutes | Hours, spread across a week of conversations |
| Where the context comes from | Your prompt, plus the model’s priors | The people who hold the answers |
| Typical failure | Confident detail nobody verified | Nothing written down until it is too late to change |
| Review burden | High, and easy to skip because the draft looks finished | Lower, because the arguing happened during drafting |
| Fits | Reformatting, splitting, variants, gap-checking | Anything that encodes a decision |
The right-hand column is not nostalgia. Its advantage is that the slowness is doing work: you cannot write “as a returning customer” by hand without briefly wondering whether returning customers actually behave that way, and that pause is the entire value of the exercise.
The third shape is a tool that will not draft until it has asked. Projan works that way: the questions go to the team in Slack or Microsoft Teams first, pressing on which user a story serves and what would make a reviewer reject it, and the stories are written from those answers rather than from the prompt, then exported to Jira or Linear. It still knows nothing about your users; the difference is that the gap gets filled by a person answering a question instead of by the model guessing.
Is it okay to write stories with AI?
Yes, as long as a named person owns each story and can defend it without mentioning the model. That is the whole test, and it is stricter than it sounds, because it rules out generating a sprint’s worth of work and adopting whichever ones nobody objected to.
Two practical norms are worth agreeing before anyone asks:
- Ownership does not transfer. Whoever puts the story on the board answers for it in refinement, in review and in the retro when it turns out to have solved a problem nobody had.
- Say where a claim came from, not who typed it. Nobody needs a disclosure banner on the ticket. They do need to know whether “users expect an email confirmation” came from a support ticket or from the model’s general sense of how software behaves. That distinction decides whether the claim can be challenged.
Teams get twitchy about this for reasons that are half professional and half territorial. The professional half is legitimate. Story writing is one of the few points where a product person is forced to demonstrate that they understand the users, and handing that to a generator removes the evidence along with the effort.
Should you use AI to write user stories?
Use it when the answer already exists somewhere and needs shaping. Do not use it when the answer does not exist yet, because the model will produce something in the shape of an answer and you will not notice the substitution.
Use AI on a story when:
- The source material exists in notes, tickets, transcripts or a recorded decision
- The task is structural: splitting, reformatting, checking for missing actors or value clauses
- You are generating variants of a case you have already thought through
- Someone specific will read every line before it reaches the board
Write it yourself, or rather write it with other people, when:
- You cannot name the user without guessing
- The story encodes a scope decision or a trade-off between teams
- The acceptance criteria will settle an argument that has not happened yet
- The feature touches a domain rule that lives only in someone’s head
The tell that you have crossed the line is easy to spot once you look for it. If you cannot say which sentence in the prompt produced a given detail in the output, that detail was invented, and you are about to build it.
Frequently asked questions
How do you prompt AI for a user story that is not generic? Give it the raw material rather than the topic. Paste the interview notes, the support ticket, the constraint an engineer raised, and the acceptance criteria pattern your team already uses. A prompt that names a feature gets you a plausible average of every similar feature on the internet. A prompt carrying your specifics gets you your specifics, tidied.
Can AI write acceptance criteria as well as the story? It can draft them, and the first pass is usually too soft. Generated criteria tend to restate the story in Given, When, Then clothing rather than constrain it. Treat them as a list to argue with: for each one, ask what a developer could ship that satisfies the wording and still fails the intent.
Can AI split an epic into smaller user stories? Yes, and this is one of its better uses, because splitting is mostly a pattern-matching job. Ask for splits by workflow step, by user type, by rule variation and by happy path versus error path, then throw out the ones that do not deliver value alone. The judgement left to you is which slice ships first.
How many AI-drafted stories should you take into refinement at once? As many as the team can genuinely read, which is far fewer than a model can produce. Sixty generated stories on a board do not get refined, they get skimmed and approved. Cut the batch to what fits the session you have booked, and delete the rest rather than leaving them to rot in the backlog.
The format of a user story is the cheapest part of it and the only part AI reliably improves. Spend the time it gives back on the argument about which user you are actually serving. A backlog that looks finished is not the same thing as a backlog anyone in the room agrees with.
Write it once. Have everyone agree.
Projan surfaces the unmeasurable success criteria and the untested assumptions, before your engineers do.
Start free trial14-day free trial. No credit card required.