Agil systemutveckling

Att bedriva utveckling med agila metoder innebär att man arbetar iterativt och inkrementellt med många små och snabba delleveranser i regelbundet korta intervaller.
Arbetssättet är flexibelt och betonar snabb­­het, in­formellt sam­arbete, täta kund­kontakter och möjlig­het att ändra under arbetets gång. (Se agil.) Även krav­specifikationen bör kunna revideras under projektets gång eftersom behov, önskemål och förutsättningar kan förändras över tid.
Det är mer att betrakta som en rörelse, inte en en­­hetlig metod.
Manifestet för agil system­­utveckling (länk) publicerades 2001 av en grupp pro­grammerare som hade reagerat på strävan efter detaljerade kravspecifikationer, omfattande dokumentation och byråkratiserande metoder och processer som var resultatet av den traditionella projektmodellen ”vattenfallsmetoden”. De bildade Agile Alliance (länk), och har sedan dess utvecklat verk­tyg och andra hjälp­medel.
Scrum och Kanban är två vanliga agila metoder som hjälper projektteam att prioritera, synliggöra arbete och framsteg och minska flaskhalsar i produktionen.
Klicka här för en artikel om Kanban.

Klicka här för en artikel som beskriver grunderna i Scrum.

Klicka här för att läsa ett blogginlägg om vad det innebär att arbeta agilt.

Agila manifestet består av följande fyra grundläggande värden och 12 stödjande principer som leder den agila strategin för mjukvaruutveckling. Varje agil metodik tillämpar de fyra värdena på olika sätt, men alla litar på dem för att vägleda utvecklingen och leveransen av högkvalitativ, fungerande programvara.

Vi finner bättre sätt att utveckla programvara genom att utveckla själva och hjälpa andra att utveckla. Genom detta arbete har vi kommit att värdesätta:

1. Individer och interaktioner framför processer och verktyg.
2. Fungerande programvara framför omfattande dokumentation.
3. Kundsamarbete framför kontraktsförhandling.
4. Anpassning till förändring framför att följa en plan.

Det vill säga, medan det finns värde i punkterna till höger, värdesätter vi punkterna till vänster mer.

Principerna bakom det agila manifestet

Vi följer dessa 12 principer:

  1. Vår högsta prioritet är att tillfredsställa beställarens önskemål genom tidig och kontinuerlig leverans av värdefull programvara.
  2. Välkomna förändrade krav, även sent under utvecklingen. Agila metoder utnyttjar förändring till kundens konkurrensfördel.
  3. Leverera fungerande programvara ofta, med ett par veckors till ett par månaders mellanrum, ju oftare desto bättre.
  4. Verksamhetskunniga och utvecklare måste arbeta tillsammans dagligen under hela projektet.
  5. Bygg projekt kring motiverade individer. Ge dem den miljö och det stöd de behöver, och lita på att de får jobbet gjort.
  6. Kommunikation ansikte mot ansikte är det bästa och effektivaste sättet att förmedla information, både till och inom utvecklingsteamet.
  7. Fungerande programvara är främsta måttet på framsteg.
  8. Agila metoder verkar för uthållighet. Sponsorer, utvecklare och användare skall kunna hålla jämn utvecklingstakt under obegränsad tid.
  9. Kontinuerlig uppmärksamhet på förstklassig teknik och bra design stärker anpassningsförmågan.
  10. Enkelhet – konsten att maximera mängden arbete som inte görs – är grundläggande.
  11. Bäst arkitektur, krav och design växer fram med självorganiserande team.
  12. Med jämna mellanrum reflekterar teamet över hur det kan bli mer effektivt och justerar sitt beteende därefter.

Läs gärna mer om manifestet med tydliga förklaringar av varje princip i denna artikel på engelska.