Skip to main content

Spec Driven Development: mere klarhed før kode

·418 words·2 mins
Author
Nicolai Jahncke Strand

Spec Driven Development: mere klarhed før kode
#

Spec Driven Development er en tilgang, hvor man starter med en tydelig specifikation, før man begynder at implementere koden.

For mig giver det god mening, fordi det tvinger en til at tænke over krav, adfærd og grænser, inden man skriver for meget kode.

Hvad er det?
#

Kort sagt handler det om at beskrive:

  • hvad systemet skal kunne
  • hvordan det skal opføre sig
  • hvilke cases der er vigtige
  • hvad der ikke er med i løsningen

Det minder lidt om at lave en lille kontrakt først. Når specifikationen er tydelig, bliver det meget nemmere både at kode, teste og forklare løsningen bagefter.

Min tilgang
#

Hvis jeg skulle bruge Spec Driven Development i praksis, ville jeg gøre det i denne rækkefølge:

  1. Skriv en kort spec med mål og krav
  2. Beskriv de vigtigste scenarier
  3. Afklar edge cases
  4. Implementer koden ud fra specen
  5. Test om løsningen faktisk matcher det, der stod i specen

Det bedste ved den tilgang er, at man undgår at bygge for hurtigt på antagelser.

Hvorfor det er nyttigt
#

Jeg synes især, at Spec Driven Development er stærkt, fordi det:

  • giver mere fokus i starten af et projekt
  • gør det lettere at kommunikere med andre
  • reducerer misforståelser
  • hjælper med at holde scope under kontrol

Det er også en god måde at arbejde sammen med AI-værktøjer på, fordi en model ofte præsterer bedre, når den får en klar spec at arbejde ud fra.

Udfordringer
#

Der er også nogle ting, man skal være opmærksom på.

En spec kan hurtigt blive for vag, hvis man ikke er konkret nok. Omvendt kan den blive for tung, hvis man bruger alt for meget tid på dokumentation, før noget overhovedet er bygget.

Så for mig handler det ikke om at skrive en perfekt specifikation. Det handler mere om at skrive en god nok spec til at komme sikkert i gang.

Det jeg lærte
#

Det vigtigste jeg tager med mig er, at en god proces ofte starter med god afklaring.

Når man ved:

  • hvad man vil bygge
  • hvorfor man bygger det
  • og hvordan succes ser ud

så bliver resten af arbejdet meget lettere.

Konklusion
#

Spec Driven Development virker som en enkel, men effektiv måde at skabe mere ro i udviklingen på.

Jeg kan især se værdien i det, når man arbejder med større features, AI-projekter eller opgaver hvor kravene let kan blive uklare undervejs.

For mig er det en tilgang, der hjælper med at gøre udvikling mere bevidst i stedet for bare hurtig.