Nykyään liiketoiminnassa innovaatiot ovat kriittisiä ja selviytymiseen tarvitaan joustavuutta. Uusi ohjelmistokehitysmalli luotiin mukautumaan nykyaikaisten liiketoimintatarpeiden korkeisiin vaatimuksiin. Ketterä ohjelmistokehitys on termi, jota käytetään kuvaamaan modulaarista, reagoivaa ja korkealaatuista lähestymistapaa ohjelmistokehitykseen.
Koska nopeampien tuotteiden kysyntä markkinoilla kasvaa, ohjelmistokehittäjät ovat luoneet tapoja kehittää ohjelmistoja nopeammin. Nämä ketterät tekniikat jakavat monimutkaiset järjestelmäohjelmat toiminnallisiksi moduuleiksi, jotka voidaan toteuttaa tuotantoon kokonaisesta sovelluksesta riippumatta. Tämä modulaarinen lähestymistapa on välttämätön, koska nykyaikaisten yritysten on epärealistista odottaa useita vuosia ohjelmistosovellusta.
Historiallinen järjestelmäohjelmisto kehitettiin vesiputousmenetelmällä. Tämä prosessi sisälsi koko sovelluksen vaatimusten, suunnittelun, kehittämisen ja koodaamisen. Tätä vesiputousprosessia käytettäessä suurten yrityssovellusten kanssa kestää vuosia. Ketterän ohjelmistokehityksen myötä moduulit ovat käytettävissä muutaman kuukauden kuluessa.
Nykyään on saatavilla monia ketteriä kehityskehyksiä. Näitä ovat äärimmäinen ohjelmointi, scrum, mukautuva ohjelmistokehitys ja ominaisuuslähtöinen kehitys. Kaikki näiden puitteiden perusteet yhdistettiin ketterään manifestiin. Tämän manifestin loivat vuonna 2001 monien tuon ajan ketterien kehityspuitteiden tekniset luojat.
Ketterän ohjelmistokehityksen perimmäiset tavoitteet ovat viestinnän lisääminen, markkinoiden nopeuden lisääminen ja palautesilmukan luominen asiakkaalta. Tämä kehitysmuoto tarjoaa keinon osoittaa nopeasti vaatimukset toimivan sovelluksen avulla. Tämä lisää myös läpinäkyvyyttä ohjelmistokehitysprosessiin asiakkaan ja kehitystiimin välillä.
Ketterässä ohjelmistokehityksessä jokainen modulaarinen julkaisu katsotaan sprintiksi tai spiraaliksi. Jokainen julkaisu antaa asiakkaalle mahdollisuuden priorisoida toiminnot, jotka ovat tärkeimpiä liiketoiminnalle tuolloin. Tämä malli antaa yrityksille mahdollisuuden mukautua muuttuviin vaatimuksiin kunkin modulaarisen käyttöönoton osalta.
Tehokkaan ketterän ohjelmistokehityksen neljä avainaluetta erityisistä puitteista riippumatta ovat suunnittelu, testaus, koodaus ja validointi. Prosessin jokaisessa vaiheessa asiakkaalla on mahdollisuus tarkistaa ja vahvistaa vaatimukset täytetyiksi. Ketterän prosessin perussääntö on pitää moduulit riittävän pieninä valmiiksi nopeasti.
Suunnitteluvaihe on ketterän prosessin tärkein vaihe. Tässä vaiheessa asiakas määrittää prioriteetit ja määrittelee seuraavan julkaisun modulaariset vaatimukset. Jokaisen vaatimuksen tulee olla korkean tason liiketoimintatapaus eikä sen saa sisältää mitään teknisiä yksityiskohtia. Vaatimuksen tulisi olla riittävän pieni, jotta testaus ja koodaus voidaan suorittaa alle neljässä viikossa.