Agile och vattenfallsmodellen

Många olika branscher har gett värdefulla bidrag till den portfölj av metoder och strategier som idag finns inom projektledning. Från mjukvaruutvecklingen kommer Agile, som uppkommit som en reaktion på en annan metod: vattenfallsmodellen.

Begreppet Agile introducerades i Agile-manifestet, ett dokument som publicerades 2001. Det fullständiga namnet på detta dokument är Manifesto for Agile Software Development. Som namnet på dokumentet indikerar introducerades begreppet av mjukvaruutvecklare. 17 utvecklare samlades för att diskutera metoder för att utveckla mjukvara. Centralt för gruppen var att hitta sätt att bättre handskas med stora utvecklingsprojekt, där det är svårt att göra förutsägelser i ett tidigt stadium om hur projektet kommer att utvecklas.

De 17 utvecklarna ansåg nämligen att dyrbar tid lades på helt fel saker i många projekt. Istället för att arbeta för att presentera fungerande mjukvara lades stor tid på onödig dokumentation, och när de förutsägelser som gjorts i början av ett projekt visade sig vara felaktiga gick också en hel del av det arbete som dittills lagts ned till spillo.

I Agile är det viktigt att anpassa sig efter hur projektet utvecklas. Fokus ligger på att processen ska vara adaptiv istället för prediktiv. Det handlar med andra ord inte om att förutse vad som kommer att hända, utan istället skapa en organisation som har möjlighet att lösa de problem som uppkommer, när de uppkommer.

Agile vs. vattenfall

Agile uppkom delvis som en reaktion på en annan metod för utveckling av mjukvara, den s.k. vattenfallsmodellen. Utvecklingsprocessen antas enligt denna modell flöda likt ett vattenfall: uppifrån och ned, från ett steg till nästa. De steg som ingår i processen är:

  1. Kravspecifikation
  2. Design
  3. Implementering
  4. Integration
  5. Verifiering
  6. Installation
  7. Underhåll

Den här modellen är gammal, och kommer ursprungligen från tillverkningsindustrin. Där är det svårt att göra förändringar på en färdig produkt. Detsamma gäller inte mjukvara, där det är förhållandevis enkelt och billigt att göra förändringar i koden. När mjukvaruutveckling var en ny disciplin fanns dock inga modeller att arbeta efter, och man övertog därför vattenfallsmodellen från tillverkningsindustrin. Redan 1956 beskrevs ett arbetssätt enligt denna modell inom programmering. Det var dock troligen först 20 år senare som ordet ”vattenfall” användes för första gången för att beskriva denna utvecklingsprocess.

Vattenfallsmodellen innehåller en separat fas för verifiering och test av produkten, medan man i Agile utför tester under hela utvecklingsarbetet. Detta gör att man tidigare kan hitta eventuella buggar, och åtgärda dem innan de blir kostsamma.
Utanför programmeringsvärlden

Agile används idag inte bara inom programmering, utan även inom tillverkning av fysiska produkter, som datorer eller motorfordon. Detta kallas ofta för flexibel produktutveckling. Att arbeta på detta sätt gör det möjligt att göra förändringar i en produkt utifrån vad konkurrenterna lanserar, hur konsumenterna använder andra, liknande produkter, samt utifrån de tekniker som används i produkten eller vid dess tillverkning.

Det finns också de som vill gå ännu längre. Vissa hävdar att Agile kan vara ett utmärkt hjälpmedel vid barnuppfostran. I klippet nedan förklarar Bruce Feiler, känd amerikansk författare och föreläsare, hur man kan använda sig av Agile i familjen för att få sina barn att utföra mer hushållsarbete, och det utan de konflikter som ofta är förknippade med detta.