Beslutningsguide
Hvis I søger efter en discovery workshop til software, eller efter hvordan et bureau skal skrive en kravspecifikation, står I typisk ét sted: I har en bunke ønsker, en deadline der allerede er for stram, og en leverandør der beder om "scope" før de vil give et bud. Nogen foreslår en workshop. Nogen sender et 40-siders dokument. Ingen af delene er i sig selv arbejdet.
Vi kører discovery, før vi bygger — især på et MVP. Ikke som teater, og ikke som en uge hvor alle taler og ingen beslutter. En ærlig uge producerer det, en klassisk kravspec sjældent kan: hvad der er ude, hvem der ejer de åbne spørgsmål, og hvad I kan vise om ti dage. Uden det gætter bureauet, og I betaler for gættet senere.
TL;DR
De vigtigste pointer
- En kravspecifikation er et input. Den er ikke et scope, I kan estimere eller kontrakte ud fra, før de åbne beslutninger er lukket.
- En ærlig discovery-uge producerer skærme, snitflader, "ude"-listen og de tre risici, I ikke må ignorere — ikke et slide-deck.
- De rigtige mennesker i rummet slår de rigtige post-its. Hvis beslutningstageren først kommer fredag, har I holdt et møde, ikke en uge.
- Fem dage er nok, hvis I skærer. Det er for kort, hvis I prøver at designe hele produktet.
- Et bureau der ikke kan sige nej i discovery, kan heller ikke sige nej i sprint 3 — og det er der, projekter drukner.
- Outputtet skal kunne overleveres: I skal kunne tage det med til et andet hold. Ellers har I købt afhængighed, ikke afklaring.
Hvorfor det her overhovedet er vigtigt
De fleste softwareprojekter, der skrider, skrider ikke fordi nogen kodede langsomt. De skrider fordi I startede med en liste, alle nikkede til, og som betød tre forskellige produkter. En kravspecifikation på fyrre sider kan stadig være den liste — bare med mere tekst. "Systemet skal understøtte fakturering" er ikke et krav. Det er en kategori. Indtil I har besluttet hvem der fakturerer hvem, hvad der sker ved fejl, og om det er Stripe, et ERP eller en PDF, kan ingen ærligt sige, hvad der skal bygges.
Derfor beder seriøse bureauer om discovery før build. Det er ikke et salgstrick, og det er ikke det samme som at "lære jer at kende". Det er at tvinge de dyre antagelser frem, mens de stadig er billige. En uge med de rigtige mennesker koster tid. En kvartals forsinkelse fordi checkout og roller aldrig blev talt igennem, koster et projekt.
Det her er også det, I skal kunne skelne, når I vælger partner. Et bureau der lover at starte mandag uden at have set jeres data, jeres brugere eller jeres "må ikke ske", sælger jer et gæt. Et bureau der vil bruge fem dage på at skære, og som kommer ud med noget I kan sige nej til, sælger jer et scope. De to tilbud kan se ens ud på en slide. De er det ikke.
Vi skriver det, fordi I ikke skal forveksle en workshop-facilitering med et produkt. Post-its på et whiteboard er et værktøj. Beslutningen om, at v1 ikke har native apps, at admin er ét skærmbillede, og at I lever med en ugentlig CSV indtil integrationen er værd at bygge — det er produktet af ugen.
Hvad en klassisk kravspecifikation typisk fejler
Den klassiske kravspecifikation er skrevet for at være komplet. Det er dens første fejl. Komplet betyder, at alt er nævnt, så ingen kan bebrejde forfatteren, at noget manglede. Estimerbart betyder det omvendte: at det, der er inde, er konkret nok til at bygge, og at det, der er ude, er skrevet ned. En komplet liste er et katalog. Et scope er et snit.
Den anden fejl er, at den beskriver systemet, som om det allerede findes. "Brugeren kan eksportere til Excel." Hvilken bruger? Hvilke kolonner? Hvad sker der med 40.000 rækker? Må eksporten tage to minutter? Skal den køre om natten? Uden de svar er sætningen sand og ubrugelig på samme tid. En udvikler vil fylde hullerne. To udviklere vil fylde dem forskelligt.
Den tredje fejl er, at den blander ønsker, politik og edge-cases i samme kapitel. "Skal overholde GDPR" ved siden af "skal have mørkt tema" ved siden af "skal håndtere konkursbo." Det første er et constraint. Det andet er polish. Det tredje er et domæne, I måske slet ikke skal bygge i v1. Når alt står som shall-statements, kan I ikke skære. Så skærer virkeligheden for jer — midt i et sprint.
Vi ser også specs, der er skrevet af én person, som ikke skal bruge systemet, og godkendt af én person, som ikke skal bygge det. Det er et dokument, ikke en samtale. Discovery-ugen er den samtale, med et output I kan pege på næste mandag.
Hvad en ærlig uge faktisk producerer
Vi måler ikke en discovery-uge på, om alle gik derfra inspirerede. Vi måler den på fire ting, I kan tage med ud af rummet. For det første: en ude-liste. Ting I har sagt nej til, med en sætning om hvorfor. Uden den listen kommer ønskerne tilbage i uge tre som "det var jo implicit." For det andet: de to-tre flows, et menneske skal kunne gennemføre i v1 — ikke som user stories i et værktøj, men som skærme og tilstande, I har tegnet sammen.
For det tredje: snitfladerne. Hvad kommer ind udefra (ERP, betaling, login, et regneark), hvad går ud, og hvad I midlertidigt gør i hånden. En CSV hver fredag er et ærligt v1-snit. En "fuld integration" I ikke har set data fra, er et håb. For det fjerde: de tre risici, I ikke må ignorere — data I ikke ejer, en beslutning der sidder hos en person der ikke var i rummet, en compliance-antagelse I ikke har tjekket.
Det er også det, I skal kræve at få leveret: ikke et 30-siders inception-deck, men noget et andet hold kan bygge efter. Wireframes eller HTML-skitser. En liste over åbne spørgsmål med ejer og dato. Et forslag til den første iteration — typisk 1–2 uger — med en demo I kan sige nej til. Hvis outputtet kun lever i facilitatorens hoved, har I købt en uge, ikke en afklaring.
På et Next.js-MVP betyder det ofte: hvilke roller, hvilket login, hvilke lister og detaljer, og om I overhovedet har brug for et public site i samme repo. På en kundeportal: hvem inviterer hvem, og hvad der sker når en kontrakt udløber. På et marketing-site: hvilke sider der er inde, og hvilke kampagner der venter. Formen er den samme. Indholdet er jeres.
Kravspec-PDF versus en uge, I kan bygge efter
Det teams typisk sender
Det der ser komplet ud og stadig ikke kan estimeres.
- Shall-statements uden skærme, tilstande eller "ude"
- Ønsker, politik og edge-cases i samme kapitel
- Godkendt af nogen, der ikke skal bruge eller bygge det
- Et bud der er et gæt, fordi hullerne er usynlige
Det en ærlig uge efterlader
Det et andet hold kan tage mandag morgen.
- Tre flows tegnet som skærme — og en ude-liste med begrundelse
- Snitflader: hvad der er rigtig integration, og hvad der er CSV
- Åbne spørgsmål med navn og dato, ikke "afklares senere"
- Et forslag til første iteration, I kan sige nej til
Fem dage — en ærlig rækkefølge
Rækkefølgen er det, der gør ugen kort. Hvis I starter med UI-farver mandag, er I bagud onsdag.
- 01
Mandag: problemet og det, der ikke må ske
Ikke features. Hvem har ondt, hvad koster ventetiden, og hvad er det scenarie I hellere vil undgå end at miss et felt. Skriv de tre sætninger ned. Hvis I ikke kan, er I ikke klar til at skære onsdag.
- 02
Tirsdag: brugere, roller og de rigtige flows
Hvem logger ind. Hvem må se hvad. Hvilke to-tre opgaver skal v1 kunne. Tegn dem. En persona-slide er ikke et flow. Et flow har en start, en beslutning og en tilstand bagefter.
- 03
Onsdag: skær. Skriv ude-listen højt
Det er ugens vigtigste dag. Native apps, det andet marked, den smarte motor, den fulde ERP-integration — det meste venter. Hvis I ikke har sagt nej til noget onsdag, har I ikke discovered. I har samlet.
- 04
Torsdag: snitflader, data og den første iteration
Hvilke systemer I rører, hvilke I lader være, og hvad den første 1–2 ugers build viser. Preview-deploys og en demo på rigtige skærme slår et estimat i et regneark. I skal kunne se, om I sagde ja til det rigtige.
- 05
Fredag: beslutninger, åbne spørgsmål og exit
Luk det, I kan lukke. Giv resten en ejer. Pak outputtet så et andet hold kan fortsætte — også uden os. Hvis fredag er den første dag beslutningstageren er med, har I spildt fire dage på at forberede et møde.
“Discovery er ikke en uge, hvor alle taler. Det er en uge, hvor nogen siger nej — og skriver det ned.”
Hvem skal være i rummet — og hvem skal ikke
I skal have den person, der kan sige nej til et marked, en integration eller en dato. Uden den person er ugen et interview. I skal have den person, der kender de rigtige brugere — ikke den, der kender et org-diagram. Og I skal have den, der kender dataene: hvor kunderne faktisk bor, hvad der er rod i Excel, hvad ERP'et ikke kan. Tre til fem mennesker. Ikke tolv.
I skal ikke have hele ledelsen som tilhørere. I skal ikke have den leverandør, der kun er med for at forsvare det eksisterende system, medmindre I eksplicit har bedt dem om at kortlægge snitflader. Og I skal ikke have et design-team, der først kommer når "scope er låst" — for så designer de et andet produkt end det, I skar.
Facilitatoren — os eller jer — skal kunne stoppe en samtale, der er blevet til feature-ønskeseddel, og trække den tilbage til flowet. Et bureau der kun kan styre en Miro-tavle, men ikke udfordre et shall-statement, er en mødeleder. Det er et andet job end discovery.
Hvis den rigtige beslutningstager kun kan give to timer, så læg de to timer onsdag og fredag. Ikke mandag. Mandag kan I forberede. Onsdag skal nogen skære. Fredag skal nogen godkende ude-listen. Alt andet er kalender-optimering, der slår ugen ihjel.
Hvad I typisk bør gøre i den situation, I står i
Venstre er det, I typisk siger. Højre er det næste skridt, vi typisk anbefaler.
Situation
I har allerede en 40-siders kravspec og vil "bare have et bud"
Næste skridt
Udled de tre flows og ude-listen på to dage. Byd derefter — eller indse at spec'en stadig er et katalog
Situation
Beslutningstageren først kan fredag
Næste skridt
Flyt ugen, eller gør fredag til skære-dagen. Fire dage uden nej er et interview
Situation
I er enige om alt og vil springe discovery over
Næste skridt
Skriv ude-listen alligevel. Hvis I ikke kan, var I ikke enige — I havde ikke talt om det samme
Situation
To leverandører byder på samme spec med vidt forskellige tal
Næste skridt
Det er spec'en der er uklar, ikke markedet. En uge slår tre runder af "kan I præcisere punkt 14"
Situation
I vil have fast pris på noget, I ikke har tegnet
Næste skridt
Køb en uge der tegner det. Fast pris på et katalog er et gæt, I begge kommer til at fortryde
Tjekliste før I kalder ugen for færdig
Hvis I mangler flere af punkterne, har I holdt en workshop. I har ikke discovered.
- Der findes en ude-liste med begrundelser — ikke kun en backlog der voksede
- v1 er to-tre flows som skærme, ikke et kapitel i et dokument
- Hver åben snitflade har et midlertidigt snit (CSV, manuel, "rører ikke")
- Åbne spørgsmål har navn og dato. "Afklares senere" tæller ikke
- Beslutningstageren har sagt nej til noget konkret i rummet
- Et andet hold kan starte mandag uden at ringe til facilitatorens hukommelse
Spørgsmål vi får igen og igen
Kan vi ikke bare sende en kravspecifikation og få et fast bud?
I kan sende den. I får et bud på det, bureauet tror I mente. Hvis spec'en ikke har skærme, ude-liste og snitflader, er buddet et gæt med en buffer. Nogle vil tage gættet. Vi vil hellere bruge fem dage på at gøre det estimerbart. Det er hurtigere end tre runder af "punkt 14 var implicit". En fast pris på et katalog er ikke tryghed. Det er en konflikt, I har udskudt.
Hvor lang tid tager en rigtig discovery — er fem dage nok?
Fem dage er nok til at skære et MVP eller et afgrænset site, hvis beslutningstageren er med, og I ikke prøver at designe hele platformen. Det er for kort til at kortlægge et legacy-landskab, I aldrig har åbnet. Så starter vi med en uge der finder de tre risici, og planlægger den næste bevidst. Discovery der "lige skal bruge tre uger mere" uden en ude-liste, er blevet til analyse. Stop og skær.
Hvad hvis vi allerede har valgt bureau og bare vil have dem i gang?
Så kør ugen med dem. Kravspec'en I sendte i udbuddet, er stadig kun et katalog, indtil I har tegnet v1. Et hold der nægter at skære, fordi "det stod i bilag 3", vil bygge bilag 3. Det er sjældent det, I har brug for om tre måneder. Hvis de ikke kan sige nej nu, kan de ikke sige nej når en stakeholder møder op i sprint 4.
Skal vi have designers og udviklere med hele ugen?
Ja til den, der skal tegne skærmene, og ja til den, der kan se om en snitflade er rigtig eller et håb. Nej til et helt produktionsteam som tilhørere. Tre til fem mennesker der kan beslutte, slår tolv der kan kommentere. Design der først kommer "når scope er låst", designer et andet produkt. Udvikling der først kommer "når design er godkendt", opdager de umulige snit for sent.
Hvad tager vi med ud, som et andet bureau også kan bruge?
Skærmene, ude-listen, snitfladerne, de åbne spørgsmål med ejer, og forslaget til første iteration. Ikke et inception-deck med jeres værdier. Hvis outputtet kun giver mening, hvis vi er i rummet, har vi fejlet. I skal kunne tage det med til et andet hold, til jeres eget, eller til en pause. Det er også den test, vi selv bruger: kan en udvikler, der ikke var der mandag, starte onsdag?
Hvis I har et katalog og har brug for et scope
Lad os køre fem dage, der ender i et nej I kan bygge på.
En ærlig uge med ude-liste, skærme og første iteration slår tre runder af bud på en PDF, I begge ved er uklar.
