Vattenfallsmodellen (Waterfall)

Grundidén

Projektet delas in i sekventiella faser. Varje fas slutförs helt — med godkännande — innan nästa påbörjas. Det finns ingen återgång utan att formellt backa ett steg.

flowchart TD
    A[Kravinsamling] --> B[Design]
    B --> C[Utveckling]
    C --> D[Test]
    D --> E[Drift & underhåll]

Namnet kommer från bilden: som ett vattenfall rinner arbetet bara nedåt, ett steg i taget — det rinner inte uppåt igen.

Faserna

FasVad som händer
KravinsamlingAlla krav dokumenteras i detalj innan något byggs
DesignHela systemets arkitektur och gränssnitt specificeras
UtvecklingKoden skrivs enligt designen
TestHela systemet testas mot de ursprungliga kraven
Drift & underhållSystemet levereras och driftsätts

Styrkor

  • Förutsägbart — tydlig tidsplan och budget kan sättas i förväg, vilket många upphandlingar (särskilt offentliga) kräver
  • Tydlig dokumentation — varje fas producerar dokument som nästa fas bygger vidare på
  • Passar när kraven verkligen är fasta — t.ex. i vissa reglerade branscher (flygsäkerhet, medicinteknik) där kraven inte förväntas ändras

Svagheter

  • Fel upptäcks sent — om ett krav var fel, syns det inte förrän testfasen, långt efter att designen redan är byggd på det felaktiga antagandet
  • Kunden ser inget förrän slutet — ingen fungerande produkt att ge feedback på förrän hela utvecklingsfasen är klar
  • Svårt att hantera förändring — ett ändrat krav mitt i projektet kan kräva att man går tillbaka flera faser

Varför agilt uppstod som en reaktion

Vattenfallsmodellens största problem i mjukvaruprojekt är att krav nästan alltid ändras under projektets gång — kunden förstår vad de egentligen vill ha först när de ser något fungera. Agila metoder (se Agilt & Scrum) löser det genom att leverera något testbart var eller varannan vecka istället för en gång i slutet.

Vattenfall är inte “fel” — det är rätt verktyg när kraven verkligen är stabila och regelverket kräver detaljerad dokumentation i förväg. Problemet uppstår när man använder vattenfall för projekt där kraven i praktiken inte är stabila.