Jobba med agila metoder
Agila metoder kallas ibland även för iterativa- eller lättrörliga metoder och är ett samlingsnamn för en mängd systemutvecklingsmetoder som används när man gör programvaruutveckling. En grupp programmerare formulerade 2001 en skrift ”Manifest för agil systemutveckling” och det är skriftens filosofi som metoderna ska följa. Programmerarna ansåg att flera IT-utvecklingsprojekt var fallerade, byråkratiska, hade för detaljerade kravspecifikationer och kontraktskrivandet var även det omständligt. Programmerarna ville hitta ett mer flexibelt och smidigare sätt att jobba på och till slut hade de uppfunnit Agile metoden. Namnet kommer från engelskan och betyder smidig, vig och det jämförs med agility.
Grundsyner
En av grundtankarna i agila metoder går ut på att arbetet ska bedrivas inkrementellt och iterativt. Med det menas att verksamheten måste ske regelbundet enligt ett schema för att delleveranser ska fungera som de ska. Det är också viktigt att man hela tiden fortsätter att planera och utvärderar metoderna så de kan förbättras. Viktigt är också att en man strävar efter en användarcentrerad och ändamålsenlig utveckling genom att utvecklare och mottagare samarbetar nära varandra under hela utvecklingstiden. Tidigt i utveckling ska mål och visioner sättas upp och istället för att arbeta mot detaljerade tekniska krav är regelbundna och täta sammankomster betydligt bättre.
Synsätt
När det gäller den agila inställningen anses det att människor genom kommunikation löser problem bättre under det utvecklingsarbete som ska ske, inte genom formella dokument och verktyg. En annan synvinkel är att den agila metoden gör det smidigare för beslutsfattaren att få ihop ett underlag som är bättre lämpat inför framtida kapital för nya och kommande projekt. Exempel på agila metoder:
• FDD – Feature Driven Development
• Crystal
• Lean Software Development
• XP – Extrem programmering
Agila metoder fokuserar på olika aspekter som den utveckling mjukvarans livscykel har. Vissa metoder är inriktade på så kallad extrem- och pragmatisk programmering medan andra har en inriktning på hantering av mjukvaruprojekt som exempelvis scrum.