V današnjem poslovanju so inovacije kritične in odzivnost s prilagodljivostjo je potrebna za preživetje. Ustvarjen je bil nov model za razvoj programske opreme, ki se prilagaja visokim zahtevam sodobnega poslovanja. Agilen razvoj programske opreme je izraz, ki se uporablja za opis modularnega, odzivnega in visokokakovostnega pristopa k razvoju programske opreme.
Z naraščajočim povpraševanjem po hitrejših izdelkih na trgu so razvijalci programske opreme ustvarili načine za hitrejši razvoj programske opreme. Te agilne tehnike razbijejo kompleksne sistemske programe v funkcionalne module, ki jih je mogoče implementirati v proizvodnjo neodvisno od celotne aplikacije. Ta modularni pristop je nujen, saj je za sodobna podjetja nerealno čakati več let na programsko aplikacijo.
Zgodovinska sistemska programska oprema je bila razvita z uporabo metode slapa. Ta proces je vključeval delo na zahtevah, načrtovanje, razvoj in kodiranje celotne aplikacije. Če se uporablja z velikimi podjetniškimi aplikacijami, bi ta proces slapa trajal leta. Z agilnim razvojem programske opreme so moduli na voljo za implementacijo v nekaj mesecih.
Danes je na voljo veliko agilnih razvojnih okvirov. Ti vključujejo ekstremno programiranje, scrum, prilagodljiv razvoj programske opreme in razvoj na podlagi funkcij. Vsi temelji teh okvirov so bili združeni v Agile Manifesto. Ta manifest so leta 2001 ustvarili tehnični ustvarjalci številnih agilnih razvojnih okvirov tistega časa.
Temeljni cilji agilnega razvoja programske opreme so povečati komunikacijo, povečati hitrost vstopa na trg in ustvariti povratno zanko od stranke. Ta oblika razvoja omogoča hitro predstavitev zahtev z delujočo aplikacijo. To tudi gradi preglednost v procesu razvoja programske opreme med stranko in razvojno ekipo.
Znotraj agilnega razvoja programske opreme se vsaka modularna izdaja šteje za sprint ali spiralo. Vsaka izdaja daje stranki možnost, da da prednost funkcionalnosti, ki je v tistem trenutku najpomembnejša za podjetje. Ta model podjetju omogoča, da se prilagodi spreminjajočim se zahtevam za vsako modularno uvedbo.
Štiri ključna področja za učinkovit razvoj agilne programske opreme ne glede na specifičen okvir so načrtovanje, testiranje, kodiranje in potrjevanje. V vsaki fazi procesa ima stranka možnost preveriti in potrditi, da so zahteve izpolnjene. Osnovno pravilo v agilnem procesu je, da so moduli dovolj majhni za hitro dokončanje.
Faza načrtovanja je najpomembnejša faza agilnega procesa. V tej fazi bo naročnik določil prioritete in opredelil modularne zahteve za naslednjo izdajo. Vsaka zahteva mora biti poslovni primer na visoki ravni in ne sme vključevati tehničnih podrobnosti. Zahteva mora biti dovolj majhna za dokončanje testiranja in kodiranja v manj kot štirih tednih.