Agila metoder
Agile kan sägas vara ett paraplybegrepp. Det är inte en systemutvecklingsmetodik i sig
utan snarare en uppsättning värderingar, attityder och principer.
Inom agile finns ett antal olika utvecklingsmetodiker som anses vara agila.
Då det idag saknas en vetenskaplig definition av vad agile egentligen innebär
kan man idag mest säga att metodikens upphovsman säger sig bekänna till de
agila värderingarna.
Översikt av några kända agila metoder (i bokstavsordning):
- Adaptive Software Development
skapades av James (Jim) Highsmith. Metoden ska hjälpa till att bygga stora,
komplexa system iterativt och med mycket prototyparbete. Metoden vill skapa
en anda av samarbete och lärande. Har kritiserats för att inte vara konkret.
- Crystal
är en familj av metoder skapade av Alistair Cockburn. Vilken metod du ska välja
beror på projektets storlek och hur kritiskt systemet är.
Tyngdpunkten ligger på kommunikation och det faktum att mjukvara
utvecklas av människor - med alla våra styrkor och svagheter.
- Dynamic Systems Development Method,
(DSDM) är en framgångsrik metod från England (1994) som används av många.
DSDM kan sägas vara ett styrmedel för RAD (Rapid Application Development).
En huvudidé är att fixera resurser och låta iterationsinnehållet vara flytande.
- Feature Driven Development
(FDD) av Jeff De Luca är ett processramverk för design och utveckling med
korta iterationer. Betonar kvalitet och sägs kunna användas för utveckling
av kritiska system.
- Extreme Programming
(XP) skapades av Kent Beck och handlar om effektiva arbetssätt för att
framställa högkvalitativ programkod som därmed ger flexibilitet.
Enkelhet, kommunikation, feedback och mod är kärnvärdena.
- Scrum
är en mycket lättviktig metod som fokuserar på projektstyrning.
Scrum målstyr med hjälp av dagliga möten, korta iterationer
och ständig estimering av återstående tid.
Andra metoder/tekniker med agil anknytning:
- Agile Modeling
av Scott Ambler är inte en fullödig utvecklingsmetodik utan fokuserar på modellering
genom att följa goda vanor och att odla en samarbetskultur.
- Pragmatic Programmer
handlar om goda (enkla, ansvarsfulla, disciplinerade) vanor som
gör dig till en bättre programmerare.
En mer ambitiös sammanfattning finns i en
artikel av Martin Fowler.
En jämförande studie av metoderna finns i en
publikation från VTT Electronics
och Universitet i Oulo (FIN).