Hvad er en iterativ proces?
Vi laver en iterativ proces! Hvor mange iterationer kan vi nå? Vi skal tænke iterativt.
Lyder det bekendt, eller lyder det forvirrende?
En iteration er en gentagelse. Eller en flot måde at sige træning på - for det er jo det vi gør, når vi træner og lærer noget nyt. Vi prøver en ny metode og må ofte gentage den nogle gange, før det virker.
En definition på en iterativ proces er en proces som er designet til at skabe viden og resultater igennem en trinvis læringscyklus.
En anden mere generelt definition kan være: en proces designet til systemudvikling, som er baseret på gentagelsen af en lineær sekvens af aktivteter indtil et ønsket mål er nået.
Når det handler om systemudvikling, design- og innovationsmodeller er iterative processer en metode med ét ledende princip: gentagelse. En gentagelse med variation, heldigvis - det er ikke Groundhog Day!
Iterative processer bliver brugt i virksomheder, som anvender agile- eller LEAN principper. Iterative processer står i modsætning til en lineær udviklingsform som f.eks. vandfaldsmodellen.
Den iterative proces er et sæt aktiviteter, som bevæger sig fra abstrakt til konkret, fra vag idé til et håndgribeligt produkt. Fra kravspecifikation til idé, fra udvikling til testing og til sidst til implementering.
Den iterative proces er cirkulær
Modsat vandfaldsmodellens lineære form, er iterativ udvikling cirkulær, og hver iteration inddrager de refleksioner og erfaringerne man har gjort sig igennem den seneste aktivitet. Samtidig giver den iterative tilgang muligheden for, at man kan bevæge sig tilbage og udfordre de ideer og antagelser, som man havde i starten. Det betyder, at hvis man finder ud af at man har misforstået et brugerbehov, så ruller man tilbage og bygger om - i stedet for at forsøge at fixe problemet med lidt fejlrettelser.
Den iterative proces er et læringsloop som gentages indtil man når det mål, der er sat for processen.
Meget i samme cykliske form som den naturvidenskabelige metode, som den iterative proces også stammer fra. Fra spæd undren til et spørgsmål, der formuleres til en hypotese. Dernæst en hypotese som testes igennem eksperiment og observation. Observation leder til enten falsificering eller verificering af hypotesen, og derved lejlighed til en ny undren, en ny forståelse og nye hypoteser, baseret på afvisningen eller bekræftelsen af sin forgænger.
Lærings- og udviklingsprocesser
Iterative designprocesser er både læringsprocesser og udviklingsprocesser, hvor løbende læring ligger til grund de beslutninger, som fører til en løsning.
Læringsprocesser og videnskonstruktion handler i denne sammehæng om at forstå dem der designes til, og acceptere af ens første gæt nok ikke rammer skiven 100%.
Som designer og udvikler oplever man jævnligt at man skal revidere de indsigter, man havde i starten af en proces. Man vil ofte blive briefet af en kunde, der fremlægger et problemfelt. Det er meget almindeligt, at man som organisation kan komme til at fremlægge synsninger og anekdoter som fakta - og man skal være særligt opmærksom som designer, når man hører sætninger som “vi kender vores brugere” og “vi ved hvad folk vil have”.
Her kan de iterative processer være en fordel. I stedet for at enten afvise eller acceptere kundens viden, så undersøges de hurtigt via feltarbejde, interviews, observation eller test af en hurtig prototype.
Den agile tilgang
Designtænkning og agile tilgange til innovationsprocesser bruger begge en iterativ arbejdsmetode, og med god grund. Iterative processer er karakteriseret ved gendrivelse, genforhandling og genovervejelse af de antagelser og hypoteser som driver en proces til at begynde med. Det kan eksempelvis være antagelsen om at brugerne vil kunne lide netop den idé vi har fået, eller at deres problem er afgrænset på en helt bestemt måde. Eller den snigende interne status-quo der kan forekomme, når et team antager at deres prototype eller MVP (Minimum Viable Product) kan bruges og forstås af enhver, fordi de selv kan bruge og forstå den.
I Eric Ries bestseller The Lean Startup, argumenterer Ries blandt andet for at iterativ metode er nødvendig i innovationsprocesser med høj usikkerhed og mange ukendte variable. Tilgangen tager højde for, at en virksomhed kan have forkerte antagelser og hypoteser omkring situationen, brugeren og hvad løsningen kan være. Ifølge Ries er innovationsprocesser, som gør brug af et iterativt læringsloop, mindre risikofyldte fordi selve processen er drevet af inkrementel læring. Dvs. trinvislæring, hvor hver gennemgang af de 3 aktiviteter build-measure-learn (byg-test-lær) er designet til at teste en eller flere antagelser om et produkt eller en service.
Men hvad så er nogle af fordelene og ulemperne ved at gå iterativt til værks?
Fordele ved at gøre processen mere iterativ
Fleksibel tilgang, som både kan anvendes til at gennemteste mindre problemer såvel som at være rammeværk for nye og større projekter
Man finder og retter fejl tidligt i processen
Mulighed for både at indføre nye ideer og kravspecifikationer i løbet af processen
Tilpasset og adopteret i flere agile innovationsmodeller
Oplagt til processer med fokus på brugerinddragelse
ulemper ved at gøre sin proces iterativ
Kan virke kaotisk og svær at navigere i
Kan være dyr og langsommelig tilgang, hvis hver iteration ikke er informeret af erfaringerne fra iterationen der kom før
Kræver et fleksibelt team
Kan være svært at bruge, hvis udviklere og designere ikke kan arbejde på deres aktiviteter parallelt - iteration kræver at der er mulighed for hurtig sketching og/eller prototyping
En af fordommene om iterative processer er, at de kræver store budgetter til uventede omkostninger, og konstante genforhandlinger og endda forkastelse af gamle visioner og koncepter. Det er både helt rigtigt og helt forkert.
Iterative processer kan tilpasses til både små og store budgetter, og korte såvel som lange udviklingsplaner. Det er dog en helt anden måde eta lægge budget på. Man har ikke en nøje udspecificeret budget, men i stedet nogle enkle mål, en klart beskrevet MVP og konstant budgetopdatering.
Og selvom hurtig omstilling kan lyde usikkert, så er det også farligt at bygge på et usikkert fundament; at designe på baggrund af antagelser og ugrundede hypoteser. Bedre at lave fejlene i starten, og få dem hurtigt justeret, end at tage en fejl med helt ind i et færdigt produkt.