U današnjem poslovanju, inovacije su kritične, a fleksibilnost je neophodna za opstanak. Stvoren je novi model razvoja softvera kako bi se prilagodio visokim zahtjevima suvremenih poslovnih potreba. Agilni razvoj softvera izraz je koji se koristi za opisivanje modularnog, responzivnog i visokokvalitetnog pristupa razvoju softvera.
Uz sve veću potražnju za bržim proizvodima na tržištu, programeri softvera stvorili su načine za brži razvoj softvera. Ove agilne tehnike razbijaju složene sistemske programe u funkcionalne module, koji se mogu implementirati u proizvodnju neovisno o cijeloj aplikaciji. Ovaj modularni pristup je neophodan jer je nerealno da moderna poduzeća čekaju nekoliko godina na softversku aplikaciju.
Povijesni softver sustava razvijen je metodom vodopada. Taj je proces uključivao rad na zahtjevima, dizajn, razvoj i kodiranje cijele aplikacije. Kada se koristi s velikim poslovnim aplikacijama, ovaj proces slapa bi trajao godinama. Uz agilni razvoj softvera, moduli su dostupni za implementaciju u roku od nekoliko mjeseci.
Danas su dostupni mnogi agilni razvojni okviri. To uključuje ekstremno programiranje, scrum, adaptivni razvoj softvera i razvoj vođen značajkama. Svi temelji ovih okvira spojeni su u Agilni manifest. Ovaj manifest su 2001. godine stvorili tehnički tvorci mnogih agilnih razvojnih okvira tog vremena.
Temeljni ciljevi agilnog razvoja softvera su povećati komunikaciju, povećati brzinu do tržišta i stvoriti povratnu petlju od korisnika. Ovaj oblik razvoja pruža sredstvo za brzo demonstriranje zahtjeva s funkcionalnom aplikacijom. To također ugrađuje transparentnost u proces razvoja softvera između korisnika i razvojnog tima.
Unutar agilnog razvoja softvera, svako modularno izdanje smatra se sprintom ili spiralom. Svako izdanje daje korisniku priliku da odredi prioritete funkcionalnosti koja je u tom trenutku najvažnija za poslovanje. Ovaj model omogućuje poduzećima priliku da se prilagode promjenjivim zahtjevima za svaku modularnu implementaciju.
Četiri ključna područja za učinkovit agilni razvoj softvera bez obzira na specifičan okvir su planiranje, testiranje, kodiranje i provjera valjanosti. Tijekom svake faze procesa kupac ima priliku provjeriti i potvrditi da su zahtjevi ispunjeni. Temeljno pravilo unutar agilnog procesa je da moduli budu dovoljno mali da se brzo završe.
Faza planiranja je najvažnija faza agilnog procesa. Tijekom ove faze korisnik će odrediti prioritete i definirati modularne zahtjeve za sljedeće izdanje. Svaki zahtjev trebao bi biti poslovni slučaj visoke razine i ne uključivati nikakve tehničke detalje. Zahtjev bi trebao biti dovoljno mali da završi testiranje i kodiranje za manje od četiri tjedna.