Sådan skriver du user stories der giver mening
"Systemet skal være brugervenligt."
Den sætning står i tusindvis af kravdokumenter lige nu. Og den er fuldstændig ubrugelig.
Tænk over det: Hvad skal udvikleren egentlig gøre med den information? Store knapper? Hurtigere loading? Færre klik? Pænere farver? Ingen aner det. Kunden har en fornemmelse af hvad de vil have, men de har ikke sat ord på det. Og udvikleren sidder tilbage med et krav der ikke kan bygges, testes eller godkendes.
Det er præcis derfor user stories findes. De tvinger dig til at være konkret på en måde der faktisk hjælper.
Tre dele – det er det hele
En user story har altid samme opbygning: Som [en bestemt type bruger] vil jeg gerne [gøre noget konkret] så jeg kan [opnå et bestemt mål].
Lyder simpelt. Er simpelt. Men de tre dele tvinger dig til at tænke tingene igennem:
Hvem? Ikke bare "en bruger". Er det en ny kunde der aldrig har prøvet systemet før? En erfaren administrator? En gæst der bare kigger forbi? De har vidt forskellige behov.
Hvad? Noget du kan se nogen gøre. Tilføje til kurv. Eksportere til Excel. Blokere en tid i kalenderen. Hvis du ikke kan filme nogen der gør det, er det ikke konkret nok.
Hvorfor? Det her er hemmeligheden. Når udvikleren forstår hvorfor du har brug for noget, kan de ofte finde en bedre løsning end den du selv havde forestillet dig.
Et eksempel der viser forskellen
Gammeldags krav: "Systemet skal have søgefunktion."
Okay... men hvem søger? Hvad søger de efter? Er søgning den primære måde at finde ting på, eller er det bare en nødløsning?
User story-versionen: "Som travl kunde vil jeg gerne søge på produktnavn, så jeg hurtigt kan finde det jeg leder efter uden at klikke rundt i kategorier."
Nu ved vi noget. Kunden har travlt. De ved hvad de leder efter. De gider ikke browse. Det ændrer fuldstændig hvordan søgningen skal bygges.
Eller tag det her klassiske ikke-krav: "Admin panel til administration."
Hvad betyder det overhovedet? Sammenlign med: "Som butiksejer vil jeg gerne se dagens ordrer samlet ét sted, så jeg kan planlægge hvilke pakker der skal sendes."
Pludselig kan udvikleren se skærmen for sig. Det handler om logistik. Det er noget der bruges hver dag. Det giver retning.
Vær specifik om hvem
"Som bruger" er næsten altid forkert. Dit system har sandsynligvis flere forskellige typer mennesker der bruger det, og de vil have forskellige ting.
Tænk på en webshop:
- Førstegangskunden har brug for at føle sig tryg. Er det her en seriøs butik? Kan jeg stole på dem?
- Stamkunden vil have genveje. Vis mig mine tidligere køb. Husk min adresse.
- Gæsten vil bare købe én ting uden at oprette en konto de aldrig bruger igen.
Hvis du skriver "som bruger" til dem alle, ender du med noget der ikke rigtig passer til nogen.
Handlingen skal være noget man kan gøre
Gode handlingsord: oprette, se, redigere, slette, sende, filtrere, eksportere, godkende.
Dårlige handlingsord: opleve, forstå, føle.
Tommelfingerregel: Hvis du ikke kan se nogen gøre det, er det ikke en handling. "Brugeren skal føle sig velkommen" er ikke noget du kan bygge. "Brugeren ser en velkomstbesked med deres navn" er noget du kan bygge.
Hvorfor "hvorfor" er så vigtigt
Det er her de fleste stories fejler. Folk springer det over eller skriver noget cirkulært som "så jeg kan bruge funktionen."
Det er ikke et hvorfor. Det her er et hvorfor: "Så jeg kan gennemføre mit køb uden at oprette en konto jeg alligevel aldrig bruger igen."
Den sætning fortæller udvikleren noget vigtigt: Nogle kunder vil aktivt ikke oprette en konto. Hvis du tvinger dem, forlader de kurven. Det ændrer prioriteringen af gæste-checkout fra "rart at have" til "kritisk".
Og hvis du ikke kan finde et godt hvorfor? Så er det måske et tegn på, at funktionen ikke er så vigtig som du troede.
Gode eksempler fra virkeligheden
Webshop: "Som gæst vil jeg gerne gennemføre et køb uden at oprette konto, så jeg kan handle hurtigt og slippe for endnu et password at huske."
Projektværktøj: "Som projektleder vil jeg gerne kunne tildele opgaver til teammedlemmer, så jeg kan sikre at arbejdet bliver fordelt og intet bliver glemt."
Booking-system: "Som frisør vil jeg gerne kunne blokere tid til frokost, så jeg sikrer mig pauser selv på travle dage."
App: "Som pendler vil jeg gerne kunne se mine data offline, så jeg kan arbejde videre selvom nettet er ustabilt i toget."
Læg mærke til at hver story fortæller en lille historie. Du kan næsten se personen for dig.
Fælder du skal undgå
Teknisk snak: "Som bruger vil jeg have et REST API så jeg kan integrere." Brugere tænker ikke i API'er. De tænker: "Jeg vil have mine ordrer til automatisk at dukke op i mit regnskabsprogram, så jeg slipper for at taste det hele ind to gange."
For store stories: "Som bruger vil jeg have et dashboard med alle relevante nøgletal." Det er ikke én story – det er ti. Bryd det ned: Hvilken konkret ting skal hvilken konkret person kunne se, og hvorfor?
Løsninger i stedet for behov: "Som bruger vil jeg have en dropdown med tre leveringsmuligheder." Hvorfor? Det egentlige behov er måske: "Jeg vil gerne kunne vælge mellem hurtig og billig levering, så jeg kan få den bedste deal."
Hvornår er en story "færdig"?
User stories fortæller hvad der skal bygges. Acceptkriterier fortæller hvornår det er bygget rigtigt.
Tag password-reset: "Som kunde vil jeg gerne kunne nulstille mit password, så jeg kan komme ind igen hvis jeg glemmer det."
Acceptkriterier:
- Der er et "Glemt password" link på login-siden
- Systemet sender en email inden for ét minut
- Linket udløber efter 24 timer
- Det nye password skal være mindst 8 tegn
- Brugeren logges automatisk ind efter nulstilling
Nu er der ingen tvivl. Udvikleren ved præcis hvad der skal bygges. Du ved præcis hvad du kan forvente. Test bliver simpelt. Diskussioner om hvornår noget er "færdigt" forsvinder.
Kom i gang
Start med at liste alle de forskellige typer mennesker der skal bruge dit system. For hver type, spørg dig selv:
- Hvad er det første de vil prøve at gøre?
- Hvad er det vigtigste de skal kunne?
- Hvad er det mest besværlige de måske vil forsøge?
- Hvad ville få dem til at opgive og gå et andet sted hen?
Skriv tre til fem stories for hver brugertype. Perfekt format er ikke vigtigt i starten – bare fang hvem, hvad og hvorfor. Finpudsning kommer senere.
Når du bruger Max, kommer spørgsmålene automatisk. Du fortæller om dine brugere i almindeligt sprog, og strukturerede stories kommer ud i den anden ende. Ingen skabeloner. Intet fagsprog. Bare klarhed om hvad du bygger og hvem du bygger det til.
Prøv Max – og få krav dine udviklere rent faktisk kan bruge.