Før vi dykker direkte ned i agile værdier og principper, er det først vigtigt at forstå agile. Agile er et paraplybegreb, som omfatter flere rammer og tilgange til værdilevering i komplekse miljøer. Mere specifikt er Agile en projektledelsesmetodologi, der bruger korte udviklingscyklusser kaldet "Sprints”, der fokuserer på værdiskabelse, med løbende forbedringer i udviklingen af et produkt.
Agile er et begreb, der er vokset i popularitet i løbet af de sidste 20 år siden oprettelsen af Agile Manifesto i 2001. Det var, da en gruppe af softwareudøvere udviklede et koncept, der skulle hjælpe med at tilføje en mere struktureret, menneskelig tilgang til komplekst arbejde. Udtrykket er meget brugt til at henvise til Agile Frameworks, som inkluderer Scrum.
At forstå det agile manifest hjælper os til at genkende den base, som Scrum blev grundlagt på. Agile omfatter to hovedkoncepter;
- Fire agile værdier, og;
- 12 Agile principper
Hver beskriver en bedre måde at gribe komplekst arbejde an på. Lad os tage et kig på disse begreber, hvordan de adskiller sig, og hvordan de bruges sammen.
Hvad er de agile værdier?
Det Agile Manifest består af fire kerneværdier:
- Vi værdsætter individer og interaktioner frem for processer og værktøjer.
- Vi værdsætter fungerende software frem for omfattende dokumentation.
- Vi værdsætter kundesamarbejde frem for kontraktforhandling.
- Vi værdsætter at reagere på forandringer og følge en plan.
Lad os tage et kig på hver værdi mere detaljeret:
Værdi 1: Individer og interaktioner over processer og værktøjer.
Dette princip anerkender, at selvom effektive processer og værktøjer er vigtige, er det endnu vigtigere at prioritere folkene bag dem. At have den rigtige gruppe af individer på ethvert softwarehold er afgørende for succes. Det er muligvis endnu vigtigere, hvordan disse individer interagerer og samarbejder.
2. Velkommen til skiftende krav
Det andet af de 12 agile principper fokuserer på at byde forandring velkommen. At levere værdi i mindre, brugbare intervaller gør denne idé mulig. Teams lærer af kunden efter hver levering, og takket være små trin af arbejde er det muligt at indføre nye krav. I komplekse miljøer er dette en fordel for at hjælpe med at levere et effektivt produkt.
3. Lever fungerende software ofte
Alle agile rammer er afhængige af princippet om at levere software ofte. Men ikke kun dette, teams skal levere fungerende software.
I Scrum bestemmer teams frekvensen af værdilevering ud fra længden af Sprint. Hver Sprint skal levere et brugbart trin af arbejde, som falder ind under definitionen af "Udført”. Sprint-længden skal være lang nok til, at udviklingsteamet kan levere en stigning, men ikke længere end det, med en præference for den kortere tidsskala.
4. Business arbejder med udviklere dagligt
Dette princip fokuserer på, at interessenter mødes regelmæssigt med Agile-teamet. I Scrum kan dette foregå i løbet af raffineringsmøder eller hos Sprint Review. Målet er at sikre engagement og kvalificeret beslutningstagning, og derfor er synlighed kontinuerlig.
5. Byg projekter omkring motiverede personer
Ledere, der arbejder i et agilt miljø, fokuserer på at sikre, at teams har den støtte (værktøjer, adgang, ressourcer) og det miljø (mennesker, kultur, processer), de har brug for, og stoler derefter på, at de får arbejdet gjort. Fokus bør forblive på resultatet.
6. Samtale ansigt til ansigt er bedst
Dette agile princip placerer samtaler ansigt til ansigt som den bedste måde at formidle information på. Dette kunne omfatte dem, der leverer værket, taler direkte til dem, der bruger værket. Derudover kan det omfatte, at teamet samarbejder i realtid indbyrdes for at løse problemer.
7. Fungerende software betyder noget
Succes måles på det produkt, der er leveret, og om det er i en tilfredsstillende og brugbar stand. Det betyder, at mens statusrapporter har deres plads, er de ikke et mål i sig selv. Det fungerende produkt er i sidste ende det, der betyder mest.
8. Konstant tempo
Dette princip forklarer, hvordan agile teams kan etablere et konstant tempo. Teamet tester arbejdet, mens de går, og har en række klare trin, som skal tages for at nå slutmålet. Fordi de leverer værdi trinvist, er hver brik brugbar og er et skridt i retning af målet. Indsamlet konstant feedback fra interessenter handler om værdi.
9. Kode af høj kvalitet er hurtigere
Hold bør fokusere på at sikre, at de leverer produkter af høj kvalitet og godt design for at øge smidigheden. Dette bør omfatte håndtering af enhver eksisterende teknisk gæld og forebyggelse af dens ophobning. Agile teams arbejder muligvis med Product Owner for at inkludere elementer, der øger produktkvaliteten i Product Backlog at hjælpe med at opnå dette.
10. Maksimer arbejde, der ikke er udført
I stedet for at spørge interessenter om alle deres krav, bør Agile Teams fokusere på, hvad den mest værdifulde ting at gøre næste gang er. Dette er muliggjort af de mindre, hyppigere leverancer, som teamet arbejder på. Fokus på det næste, snarere end hele billedet, kan reducere spild markant. Teamet kan opbygge tillid gennem disse hyppige leveringer af fungerende software.
11. Selvorganiserende teams leverer kvalitet
Dette princip fokuserer på ideen om, at selvorganiserede teams sandsynligvis er tættest på det aktuelle arbejde og de bedst placerede til at finde ud af, hvordan man gør det. At overholde dette princip betyder, at teamet ikke forsvinder i flere måneder, mens de planlægger en langsigtet tilgang til at fuldføre arbejdet. Men i stedet finder de ud af, hvordan de bedst bygger produktet, mens de bygger produktet.
12. Feedback loops bruges til at forbedre
Endelig fokuserer det sidste af de 12 Agile principper på, hvordan teamet reflekterer over, hvordan man bliver mere effektivt med jævne mellemrum, og derefter justerer deres adfærd derefter. Holdet bør spørge sig selv, hvordan det går, og hvilke ændringer de skal foretage. Så kan de foretage sådanne ændringer og gentage processen regelmæssigt.
Dette princip har en bemærkelsesværdig indvirkning på effektiviteten og moralen i et agilt team på lang sigt.
Resumé af Agile
Det er en nyttig øvelse for teams at genbesøge manifestet, herunder agile værdier og de 12 agile principper. Sprint Retrospective-mødet er en god mulighed for at diskutere og indarbejde dette i hver Sprint og det daglige arbejde. Lær mere om Sprint Retrospective-mødet lige her: