openskills.info
Course Preview

Specification and User Story Writing

Specification writing states what a system must achieve and the constraints that matter. User-story writing captures a small user outcome, then uses conversation and testable acceptance criteria to turn that outcome into a delivery-ready agreement.

itEngineering leadership and delivery management

Don't Panic: Specification and User Story Writing

A specification is the part of a change where people agree what must happen before software begins confidently doing something else. It records required behavior, the constraints that matter, and the evidence that says the result is acceptable. This is less glamorous than drawing a blue export button, but it prevents the blue button from becoming a monument to a misunderstood request.

A user story is the compact version of that agreement for a small user outcome. It names an actor, a goal, and a benefit. The famous sentence form is useful because it keeps the reason for work in view, not because software becomes correct after being placed between three commas. If the work is a migration, policy obligation, or investigation with no real user outcome, use a direct requirement or a spike instead of inventing a fictional person.

The useful mental model is card, conversation, confirmation. The card is a reminder. Conversation supplies the rules, examples, risks, constraints, and questions that a short line cannot carry. Confirmation becomes acceptance criteria: observable conditions that say where this particular story stops. A criterion such as “export works correctly” has the charm of a locked door with no address. Say who can request it, which records appear, who is denied, and what happens when no records match.

Do not confuse those criteria with the Definition of Done. Acceptance criteria describe this story's behavior. Definition of Done is the shared quality bar for every increment. One is the boundary of an account export. The other covers the routine engineering work that keeps all increments fit for public consumption. Putting the latter on every card is paperwork wearing a false moustache.

When a request grows teeth, split it by behavior that still gives value. Deliver one end-to-end path before alternate paths, one user segment before another, or one rule before a broader rule. Splitting by interface, service, database, and test creates parts that cannot be accepted by themselves, which is a fine way to make a backlog resemble a dismantled bicycle.

Read the Intro for the full chain from need to evidence. Use Slides when you need the map of work types and refinement. Keep the Cheatsheet open while reviewing wording and behavior boundaries. The Practice Reference turns a vague request into a repeatable refinement session. The exercise then gives the technique a fresh case, where the missing rules have nowhere polite to hide.

Where this skill leads

Relevant careers

See how this topic contributes to broader role-level skill maps.

Sources