Agil systemutveckling
Agil betyder smidig eller lättrörlig och är ett samlingsnamn för några olika systemutvecklingsmetoder som kan användas vid utveckling av mjukvara. De olika metoderna följer i stort sett samma värderingar, principer och synsätt.
Agil systemutveckling bygger på att göra kunden/användaren nöjd med det som utvecklas genom ett mycket nära samarbete under hela utvecklingstiden. Som utvecklare har man regelbundet möten med beställaren. Arbetet bedrivs inkrementellt och iterativt vilket innebär att regelbundna mindre leveranser sker och att saker löpande utvärderas och kan ändras för att möta nya krav och önskemål. Det agila synsättet anser att det oftare är människor och kommunikation än verktyg och formella dokument som löser problem under utvecklingsarbetet.
Exempel på agila metoder
Lean Software Development
Scrum
Crystal
Nightly build
Feature Driven Development (FDD)
Adaptive Software Development
Dynamic Systems Development Method (DSDM)
Extrem programmering (XP)
Vattenfallsmodellen
Vattenfallsmodellen är ett äldre sätt att arbeta med systemutveckling på. Det går ut på att man bygger ett datorsystem i strikta steg. Varje steg avslutas innan man påbörjar nästa. Typiska steg är att man börjar med kravinsamling och kravspecifikation och när dessa är på plats börjar man med implementeringen av kraven.När allt är färdigt gör man grundliga tester av programmet och slutligen driftsätter man det.
Denna process liknar man ofta vid en serie av vattenfall. När man tagit sig genom ett fall (ett steg) är det väldigt svårt att gå tillbaka och göra om. Dessutom är vattenfallsmodellen okänslig mot förändringar i omvärlden som oundvikligen sker under projektets gång.