Agile-software-ontwikkeling is een conceptueel raamwerk voor het uitvoeren van software-ontwikkelingsprojecten als alternatief voor traditionele methoden. Het Engelse woord agile betekent: behendig, lenig.

Er zijn een aantal agile-ontwikkelingsmethoden, zoals aangegeven op The Agile Alliance. De meeste agile-methoden proberen risico's te verminderen door software te ontwikkelen in korte overzichtelijke perioden (timeboxes), die 'iteraties' genoemd worden. Elke iteratie is als het ware een miniatuurproject op zich zelf, en omvat alle noodzakelijke taken: planning, analyse, ontwerp, testen en documentatie. Een iteratie levert niet altijd genoeg op om het eindproduct vrij te geven. Desondanks is het de bedoeling van een agile-project om na iedere iteratie iets bruikbaars voor de markt op te leveren. Voor software gaat dat vaak op vooral als deze web-gebaseerd is. Maar, ongeacht het resultaat wordt na iedere iteratie door het ontwikkelteam herafgewogen wat de project-prioriteiten zijn.
Bij agile-methoden ligt de nadruk op directe communicatie, bij voorkeur als persoonlijk contact, in plaats van geschreven verslaglegging. Zo mogelijk zijn alle mensen die nodig zijn voor het project in een team ondergebracht, aaar ten minste zijn dit de ontwikkelaars en diegenen die het product definiëren. Dat kunnen product-managers zijn, business-analisten of de klanten.
Bij agile-methoden wordt de voortgang afgemeten aan de hand van werkende producten of prototypes. In agile-projecten wordt erg weinig geschreven documentatie geproduceerd, vergeleken met andere methoden.
Agile-methoden zijn dus een familie van ontwikkelprocessen. In 2001, kwamen 17 prominenten op het terrein van agile-ontwikkelen bijeen om manieren te bespreken om software lichtvoetiger, sneller, en meer mens-gericht te ontwikkelen. Zij stelden het Agile Manifesto op, in brede kring gezien als de kanonieke definitie van agile-ontwikkeling, en van bijkomende agile-principes.
Enkele van de principes van het Agile Manifesto zijn:
De watervalmethode wordt wereldwijd gezien nog het meeste toegepast. Het is het meest voorschrijvende van alle modellen met uitgebreide voorschriften voor processtappen, in een strikt geplande volgorde. Voortgang wordt ermee gemeten aan de hand van allerlei documenten op basis waarvan management voortgangsbeslissingen neemt.
Het onbuigzame karakter van het watervalmodel, met de opdeling van projecten in afzonderlijke fasen en voortijdige commitments maken dat er moeilijk mee gereageerd kan worden op veranderingen. Het is daarom feitelijk onbruikbaar als projectdoelstellingen en producteisen vooraf nog niet gedetailleerd zijn of mogelijk onderhevig aan verandering gedurende het project.
Daartegenover leveren agile-methoden elke zoveel weken uitontwikkelde en geteste onderdelen, al zijn dit telkens kleine delen van het geheel. De nadruk ligt er op om zo snel mogelijk de kleinst mogelijke functionele onderdelen te leveren, en die voortdurend te verbeteren en uit te breiden. Sommige agile-teams passen de watervalmethode toe op een kleine schaal tijdens elke iteratie.