Sådan skriver du en god kravspecifikation
Vi har efterhånden været med på en del forskellige projekter og oplevet en masse forskellige kravspecifikationer. Herunder har vi samlet en masse af de erfaringer, som vi har fået undervejs.
Hvorfor laver man en kravspecifikation?
Mange springer over, hvor gærdet er lavest, fordi de tror, det er vanskeligt, teknisk kompliceret og tidskrævende. Derfor er der forbavsende mange projekter, der starter med intet andet end en deadline, et budget og en løs forestilling om, hvad slutproduktet konkret skal være. Sådan et projekt kan nemt få en kedelig afslutning, når parternes forestillinger viser sig at være forskellige.
En kravspecifikation er derfor en vigtig del af enhver udviklingsproces, fordi den skaber klarhed for begge parter. Den hjælper til en fælles forståelse og sikrer, at alle parter er på samme side med hensyn til forventninger, funktionaliteter og design. Kundens behov og krav bliver tydeligt dokumenteret.
Kravspecifikationen kan også bruges af udviklerne som en retningslinje, fordi den giver struktur og en klar målsætning, som man kan arbejde efter, hvilket effektiviserer udviklingsprocessen.
Endeligt hjælper kravspecifikationen også med at skabe grundlaget for tilbuddet og kontrakten mellem kunden og udvikleren, da den giver en klar aftale omkring arbejdets omfang, betaling og leveringsdatoer.
Med andre ord hjælper kravspecifikationen med at skabe struktur, klarhed og en fælles ramme for udviklingen af hjemmesiden.
Hvad skal en kravspecifikation indeholde?
Selvom der kan være store forskelle på kravspecifikationer, er der alligevel visse elementer, som de fleste indeholder. Vi har gode erfaringer med følgende struktur:
- Introduktion og formål
- Funktionelle krav
- Vedligeholdelse og support
- Pris og tidsramme
Introduktion og formål
Beskriv en kort introduktion til virksomheden eller projektet og angiv formålet med hjemmesiden. Forklar, hvad der motiverer oprettelsen af hjemmesiden og de forventede resultater.
Funktionelle krav
Her skal der laves en liste med alle de funktionelle krav, som webapplikationen skal kunne udføre.
Eksempler for en ny webshop kunne være:
- Webshoppen skal hente lagerstatus, pris, og SKU-nummer fra ERP-systemet.
- Kunden skal kunne se Track&Trace på webshoppen.
- Kunden skal kunne betale med Dankort, Mastercard og Visa-kort.
Start med en kort beskrivelse. Forklar formålet med funktionen og dens relevans for hjemmesiden og brugeroplevelse.
Beskriv arbejdsgangen. Forklar, hvordan funktionen skal arbejde og interagere med brugeren eller andre systemer. Angiv de specifikke trin, der skal udføres og de forventede resultater.
Definer input og output. Angiv de nødvendige input eller data, der kræves for at aktivere funktionen, samt det forventede resultat.
Man kan med fordel prioritere i funktionerne. Det hjælper udviklerne med at fokusere deres indsats på de vigtigste og mest kritiske funktioner først.
Gør de funktionelle krav konkrete og forståelige ved at inkludere eksempler eller brugsscenarier, der illustrerer, hvordan funktionen vil blive brugt i praksis.
Vedligeholdelse og support
Hvad skal der ske med projektet efter det er søsat? Kunden bør have oplysninger om, hvilken form for vedligeholdelse og support der tilbydes efter lanceringen af hjemmesiden. Hvordan kan de få teknisk hjælp, opdateringer og eventuel videreudvikling?
Pris og tidsramme
Kunden vil naturligvis gerne have en idé om den forventede pris og tidsramme for at udvikle hjemmesiden. Klare oplysninger om omkostninger og tidsplan vil hjælpe med at skabe realistiske forventninger og undgå overraskelser.
Er der forskellige faser i projektet, kan det give mening at lave et Gantt-diagram.