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):

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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:

  1. 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.
  2. 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).