20 års fejl i softwareudvikling: Hvorfor er krav stadig så problematiske?

Klumme: Krav og kravstyring har alle dage været en af de store udfordringer ved softwareudvikling, og selv om der er skrevet kilometervis af bøger om emnet, gør mange stadig de samme fejl som for 20 år siden. Det skyldes måske først og fremmest menneskene.

Artikel top billede

Et krav er et krav er et krav

I de 20 år, jeg efterhånden har udviklet software, har der været et utal af strategier for at håndtere krav: Nummererede lister af målbare udsagn, use cases, user stories ...

Men til trods for, at navnene på metoder og værktøjer har ændret sig, er det alligevel mange af de samme fejl, der begås, og ofte bliver de brugt på en måde, hvorpå det lige så godt kunne have været en anden metode, der anvendtes.

Om folk skriver en one-liner og kalder det et nummeret krav eller en user story, gør altså ikke den helt store forskel.

Men der er nogle ret klare forskelle i de forskellige tilgange, som det er vigtig at være opmærksom på.

Funktionelle krav

Et af de store problemer ved mange af de klassiske lister af krav, der blev sendt ud til budkrige i de "gode gamle dage", var, at de for det meste kun indeholdt de funktionaliteter, systemerne skulle indeholde, og oftest også kun information om, hvad der skulle ske i de situationer, hvor alting gik, som det burde.

Det betød for eksempel, at der sjældent var informationer om, hvor mange samtidige brugere der skulle være på systemet, om systemet skulle kunne anvendes uden mus, eller om det var i orden at vise en blå skærm, når der skete et eller andet, som ikke lige var en del af den normale arbejdsgang.

Faktisk kan en ting, som at oppetiden hæves fra 95 procent til 99,99 procent, betyde meget mere for prisen end selv store funktioner.

Som leverandør var det selvfølgelig dejligt at kunne skrue på disse parametre, så man kunne finde den rigtige pris, som kunne vinde kontrakten, men det var oftest ikke befordrende for samarbejdet med kunden, når de så efterfølgende fandt ud af, hvordan leverandøren tolkede kravene.

Fokus på ikke-funktionelle krav

For at få bedre kravsspecifikationer begyndte man så i OOA/OOD at have fokus på både de funktionelle og de ikke-funktionelle krav; oftest organiseret efter huskereglerne som FURPS+ og lignende (Functionality, Usability, Reliability, Performance, Supportability...).

Når det gælder de funktionelle krav begyndte man også i højere grad at strukturere kravene til systemet ved at bruge use cases, som ikke kun havde fokus på hovedsuccesscenariet (hvor alt bare gik, som det ideelt set burde), men også beskrev, hvordan fejlsituationerne skulle håndteres.

Hermed fik man så skabt en mere detaljeret specifikation, hvor man også blev tvunget til at forholde sig til rigtig mange ting, som så gjorde, at kodningen efterfølgende blev nemmere (jeg har selv været med til at skrive kravspecifikationen til en stor del af en elektronisk patientjournal, og det blev godt nok til en del sider).

Krav i det agile mindset

Med det agile mindset er der selvfølgelig også kommet en ny tilgang til krav, hvor det hele er blevet til user stories.

Umiddelbart kan det se ud som et tilbageskridt, da man nu oftest er tilbage i en liste af one-liners uden støttehjulene med FURPS+ og use cases til at sikre, at alt kommer med.

Men fejlen er nok at se listen af user stories som en traditionel kravspecifikation.

Et af fundamenterne for user stories er nemlig antagelsen om, at delte dokumenter ikke er det samme som en delt eller fælles forståelse.

User stories er derfor mere overskrifter eller referencer, som den efterfølgende skabelse af en fælles forståelse kan hænges op på.

Hvordan man så efterfølgende mest effektivt skaber og fastholder den fælles forståelse, er meget afhængig af den konkrete situation, og det ligger egentlig uden for user story'en.

Her kan der være situationer, hvor use cases, workflows, mock-ups, personas og mange andre metodikker kan være anvendelige.

Det andet område, hvor jeg synes, at den agile tilgang tilføjer en ekstra dimension til kravstyringen, er i forhold til "definition of done".

Her er det ikke kun eksterne parter som product owners eller kunder, der definere kravene til, hvornår en feature er færdig, men mindst lige så meget udviklingsteamet selv, der får lov til at indgå en intern kontrakt om, hvad teamet mener er godt håndværk og nødvendigt for, at kunden får det rigtige produkt.

Selvom "definition of done" er et meget vigtigt koncept i for eksempel Scrum, er der overraskende mange team, som ikke har indgået sådan en kontrakt, hvilket kan gå ud over kvaliteten og - mindst lige så vigtigt - teamgejsten.

Vær opmærksom på styrker og svagheder

Som jeg har forsøgt at eksemplificere, er der nogle ret store forskelle i tilgangene til krav i de forskellige perioder.

Det gælder lige fra antagelsen om, at kravene skal være så komplette og detaljerede som muligt, til user stories som i praksis bare er overskrifter, som man efterfølgende skal samarbejde om at skabe en fælles forståelse af (husk nu det agile manifest med "samarbejde med kunden frem for kontraktforhandling").

Alligevel ser man mange gange User stories brugt i situationer, hvor målet er en detaljeret og komplet kravspecifikation, som vi kan styre leverandør eller kunde ud fra - hvilket det aldrig var skabt til.

Omvendt synes jeg, det er forkert at se værktøjerne fra de forskellige perioder, som om de udelukker hinanden, men formålet med at bruge dem har måske ændret sig.

For eksempel kan FURPS+ stadig være en god remse at huske på, når man skriver sine user stories, eller mens man skaber den fælles forståelse, så man også får tænkt de ikke-funktionelle aspekter ind.

Og use cases er i nogle situationer den mest effektive måde at få alle variationerne tænkt igennem og fastholdt.

Som sædvanlig handler det altså om at kende styrker og svagheder ved så mange værktøjer som muligt og så bruge det, der giver mening. Det vil sige det, som er med til at skabe den fælles forståelse - også for de sværere elementer, hvor man er som udgangspunkt er uenig.

Jyske Bank

Graduate, Udvikling Erhverv

Københavnsområdet

Politiets Efterretningstjeneste

Koordinator med teknisk flair til AI og data i PET

Københavnsområdet

Netcompany A/S

Network Engineer

Københavnsområdet

Weilbach A/S

Head of Operations Support

Københavnsområdet

Computerworld Events

Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

Infrastruktur | Horsens

Enterprise Architecture Day 2026: Sikker og strategisk suverænitet

Få ny inspiration til arbejdet med EA – fra sikkerhed og compliance til orkestrering, omkostningsoptimering og cloud governance i en usikker og ustabil tid.

Sikkerhed | Aarhus C

Executive roundtable: Cyberrobusthed i praksis

Cyberangreb rammer driften. NIS2 og DORA kræver dokumenteret gendannelse under pres. Få konkret metode til at teste, måle og bevise robusthed på tværs af cloud, SaaS og leverandører. Deltag i lukket roundtable med Commvault og Hitachi.

Digital transformation | København Ø

Sådan etablerer du digital suverænitet

Digital suverænitet afgør kontrol over data, systemer og afhængigheder i Danmark. Computerworld samler Dansk Erhverv og IBM-eksperter om konkrete arkitekturvalg, governance og platforme, der sikrer reel kontrol. Få overblik og handlekraft.

Se alle vores events inden for it

Navnenyt fra it-Danmark

Adeno K/S har pr. 2. februar 2026 ansat Casper Barner Kristensen som ServiceNow Expert. Han kommer fra en stilling som Senior Automation Architect. Nyt job
Norriq Danmark A/S har pr. 1. januar 2026 ansat Morten Kronborg som Consultant ERP. Han skal især beskæftige sig med hjælp og rådgivning af kundernes handels-forretningsprocesser indenfor salg og indkøb. Han kommer fra en stilling som Digital Forretningskonsulent hos Gasa Nord Grønt. Han er uddannet speditør og har bevæget sig ind i handelsvirksomheder hvor han endte med ansvar for ERP-løsninger. Han har tidligere beskæftiget sig med at være ansvarlig for implementering og drift af IT-projekter. Nyt job

Morten Kronborg

Norriq Danmark A/S

Renewtech ApS har pr. 1. februar 2026 ansat Kirsten Skriver som Warehouse Team Lead. Hun skal især beskæftige sig med udviklingen af det globale lagersetup hos Renewtech. Hun kommer fra en stilling som Lagerchef hos BORG Automotive Reman A/S. Nyt job

Kirsten Skriver

Renewtech ApS

netIP har pr. 20. januar 2026 ansat Darnell Olsen som Datateknikerelev ved netIP's kontor i Herning. Han har tidligere beskæftiget sig med diverse opgaver omkring biludlejning, da han har været ansat hos Europcar. Nyt job