Writing down goals increases the probability that you will reach them. On one hand, written goals help to focus work both on your own and in a team. On the other hand, a writing down everything in detail is often not practical. User Stories are a short written form for project tasks.
A User Story has to fit on an index card. It should contain:
- a title
- a clear benefit for users
- no technical detail
- optionally 2-3 criteria for success
Many developers use the pattern "As a X, I want to Y, so that Z." Here is an example User Story for the Snake game:
As a player,
I want to eat food with my snake,
so that it grows.
User Stories help with a couple of things:
- formalize what a customer wants
- mark who is working on a story
- estimate the work required
- track completion status (as GitHub issues, a Kanban board or JIRA)
- discuss the details later (they are also called "Promise of Communication")
Often, a project starts with a few big User Stories (also called Epics). These are later decomposed into smaller working units. A good size in a development project is 1-2 work days. Finding the right size may take several rounds of decomposing.
Write down 3 User Stories for the Snake game. Use the format
As a <who?>, I want to <what?>, so that <why?>.
User Stories 101 by Adam Fard