Projektorganisering og agile metoder — Scrum og Kanban
Roller, sprints, artefakter og hvorfor korte cyklusser slår store planer
Bekendtgørelsen for webudvikleruddannelsen kræver, at eleven har kendskab til agile udviklingsmetoder og kan indgå i arbejdsfællesskaber — det er ét af uddannelsens overordnede mål, ikke en detalje. Det skyldes, at kravene til en webløsning sjældent ligger fuldstændig fast, før arbejdet begynder. Agile metoder er svaret på det: de deler arbejdet op i korte cyklusser, hvor man løbende afprøver, viser frem og justerer, i stedet for at planlægge alt på forhånd og først se resultatet ved slutningen.
§Scrum — tre roller uden hierarki
Scrum er den mest udbredte agile ramme. Ifølge Scrum Guide (2020) består et Scrum-team af én Product Owner, én Scrum Master og udviklerne (Developers) — uden underteams eller intern rangorden. Product Owneren har ansvaret for at maksimere værdien af produktet og prioriterer, hvad der skal bygges. Scrum Masteren coacher teamet i at bruge Scrum og fjerner forhindringer for dem. Developers er alle, der bidrager til det færdige resultat — udviklere, testere, designere og andre.
- 01Product Owner: prioriterer opgaverne og ejer produktets retning
- 02Scrum Master: coacher og fjerner forhindringer, uden at være teamets chef
- 03Developers: alle der bidrager til at bygge løsningen
§Sprintet og de fire begivenheder
Arbejdet foregår i sprints — korte, tidsafgrænsede perioder, ofte et par uger, med et fast mål. Omkring sprintet ligger fire faste begivenheder, der skal skabe gennemsigtighed og mulighed for at justere undervejs.
| Begivenhed | Formål |
|---|---|
| Sprint planning | Teamet planlægger, hvad det næste sprint skal levere |
| Daily scrum | Kort, dagligt statusmøde — hvad er lavet, hvad mangler, hvad blokerer |
| Sprint review | Det færdige arbejde vises frem, og der samles feedback |
| Sprint retrospective | Teamet ser på egen arbejdsform og aftaler forbedringer |
§Artefakter og forpligtelser
Scrum bygger på tre artefakter, der hver har en klar forpligtelse knyttet til sig. Product Backlog'en er den samlede, ordnede liste over alt, der mangler i produktet, bundet sammen af et Product Goal. Sprint Backlog'en er det, teamet konkret har valgt til det aktuelle sprint, bundet af et Sprint Goal. Increment'et er det, der reelt er bygget og virker, bundet af en Definition of Done — en fælles forståelse af, hvornår noget er 'færdigt', ikke kun 'skrevet'.
§Kanban — flow frem for faste sprints
Kanban er en anden udbredt agil tilgang, som ofte bruges alene eller sammen med Scrum. I stedet for tidsafgrænsede sprints arbejder man med et tavle-baseret flow — opgaver flyttes gennem kolonner som 'ikke startet', 'i gang' og 'færdig' — og med grænser for, hvor mange opgaver der må være i gang ad gangen (WIP-grænser). Det egner sig godt til arbejde, der kommer løbende ind, fx drift og support, hvor faste sprints kan føles kunstige.
“Agile metoder handler ikke om at droppe planlægning — de handler om at planlægge i cyklusser korte nok til, at man opdager fejlen, inden den er dyr at rette.”
— Almindelig læreregel i projektorganisering