Gå til indhold

Hvad er agil udvikling?

Agile er paraplybetegnelsen for en familie af metoder bygget omkring én enkelt antagelse: software er for uforudsigeligt til at planlægge i detaljer på forhånd, så lever i små skiver, lyt til det, der kommer tilbage, og juster konstant.

Denne side dækker baggrunden. Hvis du allerede kender det hele, så skim videre til Hvordan East Agile Tracker afspejler agile.

I februar 2001 mødtes sytten softwareudøvere — Kent Beck, Martin Fowler, Robert Martin, Ron Jeffries og andre — på en skihytte i Utah og skrev ned, hvad de havde til fælles. De kaldte det Agile Manifesto. Det er fire linjer:

Vi afdækker bedre måder at udvikle software på ved at gøre det og hjælpe andre med at gøre det. Gennem dette arbejde er vi kommet til at værdsætte:

  • Individer og interaktioner frem for processer og værktøjer
  • Velfungerende software frem for omfattende dokumentation
  • Kundesamarbejde frem for kontraktforhandling
  • At reagere på forandring frem for at følge en plan

Det vil sige, at selvom der er værdi i punkterne til højre, værdsætter vi punkterne til venstre mere.

Det er det hele. En side med forord, tolv understøttende principper og de fire linjer ovenfor. Det er det mest indflydelsesrige dokument inden for moderne softwarepraksis.

Bag de fire værdier udfolder manifestets tolv principper, hvordan “agile” faktisk ser ud i hverdagen:

  1. Den højeste prioritet er at tilfredsstille kunden gennem tidlig og kontinuerlig levering af værdifuld software.
  2. Tag imod skiftende krav, selv sent. Agile processer udnytter forandring til kundens konkurrencefordel.
  3. Lever velfungerende software hyppigt — uger frem for måneder.
  4. Forretningsfolk og udviklere skal arbejde sammen dagligt.
  5. Byg projekter op omkring motiverede individer. Giv dem, hvad de har brug for, og stol på, at de får arbejdet gjort.
  6. Den mest effektive måde at formidle information på er en ansigt-til-ansigt-samtale.
  7. Velfungerende software er det primære mål for fremskridt.
  8. Agile processer fremmer bæredygtig udvikling — et konstant tempo, i det uendelige.
  9. Vedvarende opmærksomhed på teknisk ekspertise og godt design fremmer agilitet.
  10. Enkelhed — kunsten at maksimere mængden af arbejde, der ikke bliver udført — er afgørende.
  11. De bedste arkitekturer, krav og designs udspringer af selvorganiserende teams.
  12. Teamet reflekterer regelmæssigt over, hvordan det bliver mere effektivt, og finjusterer og tilpasser derefter.

“Agile” er en paraply. Under den findes flere distinkte metodologier:

  • eXtreme Programming (XP) — Den mest krævende i familien. Parprogrammering, TDD, kontinuerlig integration, on-site-kunde, små releases. Se vores XP-side.
  • Scrum — Tidsafgrænsede iterationer kaldet sprints, daglige standups, navngivne roller (Product Owner, Scrum Master). Lettere på de tekniske praksisser end XP.
  • Kanban — Visualisér arbejdsgangen, begræns igangværende arbejde, optimer flowet. Ingen tidsbokse; træk i stedet for at skubbe.
  • Lean — Lånt fra Toyotas produktionssystem: eliminer spild, optimer helheden, lever hurtigt, indbyg kvalitet.

Disse metoder overlapper og kombineres. De fleste arbejdende teams plukker fra alle fire. East Agile Tracker har klare holdninger i retning af XP — se eXtreme Programming — men det meste af, hvad det tilbyder, virker for enhver agil variant.

Et par vedholdende misforståelser, det er værd at navngive:

  • Agile er ikke “ingen planlægning.” Planer er mindre og kortere, men planlægning er konstant.
  • Agile er ikke “ingen dokumentation.” Skriv, hvad der er nødvendigt. Manifestet siger, at velfungerende software er mere værdifuld end omfattende dokumentation — ikke at dokumentation er dårligt.
  • Agile er ikke Scrum. Scrum er én agil metode. Der findes flere.
  • Agile er ikke et værktøj. Intet værktøj gør dig agil. Agile er en måde at arbejde på. Værktøjer (inklusive dette) hjælper; de erstatter ikke.

Hvordan East Agile Tracker afspejler agile

Sektion kaldt “Hvordan East Agile Tracker afspejler agile”

East Agile Tracker er designet omkring principperne ovenfor. Her er sammenhængen:

PrincipHvordan trackeren understøtter det
Kontinuerlig leveringIterationer på 1–4 uger; velocity-baseret automatisk planlægning; releases som førsteklasses story-type.
Tag imod forandringOmarranger backloggen når som helst; stories flytter frit på tværs af iterationer; ingen “iterationslås.”
Velfungerende software som målestokVelocity tæller accepterede point som standard — kun leveret, velfungerende arbejde tæller.
Bæredygtigt tempoVelocity er ikke et mål; det er en observation. Systemet planlægger den næste iteration med det, du faktisk gør.
RefleksionAnalyser pr. iteration: burndown, afvisningsrate, cyklustid, prognoser.
Selvorganiserende teamsRoller er bevidst minimale: owner / member / viewer. Teamet beslutter.
EnkelhedDetaljepanelet er én skærm. Boardet passer på én side. Vi modstår funktioner, der distraherer fra levering.

Manifestet blev skrevet i 2001. Siden da har softwareudvikling fået en ny slags deltager: AI-agenter.

Vi mener, at agenter hører hjemme på det agile team — som navngivne deltagere, med deres egne roller, der udfører rigtigt arbejde side om side med mennesker. Principperne holder stadig. Individer og interaktioner omfatter nu agent-deltagere. Selvorganiserende teams omfatter nu beslutningen om, hvilke agenter man skal bringe ind, og hvad de har lov til at gøre. Refleksion omfatter nu at se på agenters bidrag i aktivitetsloggen og finjustere, hvad de arbejder på.

East Agile Tracker er bygget til at gøre dette praktisk. Hver story kan ejes af et menneske eller en agent. Hver post i revisionsloggen tilskriver den rigtige aktør. Hver handling, en agent udfører, er synlig, kan reviewes og kan tilbagekaldes.

Bygget af East Agile.