Mukautuva ohjelmistokehitys on suunnitteluperiaate ohjelmistojärjestelmien luomisessa. Periaate keskittyy ohjelmistojärjestelmien nopeaan luomiseen ja kehittymiseen. Ohjelmisto ei ole koskaan valmis; uusien julkaisujen välillä on vain vakaita aikoja. Mukautuva kehittämismenetelmä kasvoi sovellusten nopeasta kehittämismenetelmästä. Nämä kaksi menetelmää ovat rakenteeltaan samanlaisia, mutta nopea sovellusten kehittäminen sallii hetken, kun projekti on valmis, kun taas mukautuva ohjelmistokehitys ei.
Mukautuvan kehityksen painopiste on tietokonekoodissa. Sen sijaan, että kehittäjät olisivat suunnitelleet ohjelmiston etukäteen, heillä on perusidea päässä ja he lähtevät töihin. Kun kappaletta on muutettava tai mukautettava uuteen järjestelmään, kooderit yksinkertaisesti tekevät sen. Jos ohjelma tarvitsee korjaustiedoston, joku vain tekee sen.
Kaiken kaikkiaan esisuunnitteluvaiheiden puute antaa kehittäjille mahdollisuuden tehdä ohjelmisto erittäin nopeasti. Vaikka tämä johtaa joskus ohjelmistoon, joka ei suorita vaadittuja toimintoja, se ei yleensä ole ongelma. Kehityssykli tässä prosessissa on niin lyhyt, että uusi versio lisäominaisuuksilla voi ilmestyä hyvin nopeasti. Tämä prosessi tai nopea prototyyppien luominen on sekä mukautuvan ohjelmistokehityksen että nopean sovelluskehityksen kulmakivi.
Paikka, jossa nämä kaksi menetelmää eroavat, on lopullisessa päätetapahtumassa. Mukautuvaan ohjelmistokehitykseen ei ole todellista päätepistettä, vain aika, jolloin ohjelmistoa ei enää tarvita tai koodi siirretään korkeamman sukupolven sovellukseen. Toisaalta nopea sovellusten kehittäminen mahdollistaa projektin päättymisen, jolloin ohjelmisto on virheetön ja täyttää ostajan vaatimukset.
Mukautuva ohjelmistokehitys koostuu kolmesta vaiheesta, joista jokainen pyörii ohjelman koodauksen ympärillä. Ensimmäinen askel on spekulointi. Tässä vaiheessa kooderit yrittävät ymmärtää ohjelmiston tarkan luonteen ja käyttäjien vaatimukset. Tämä vaihe perustuu virhe- ja käyttäjäraportteihin ohjaamaan projektia. Koska raportteja ei ole saatavilla, kehittäjät käyttävät ostajan määrittämiä perusvaatimuksia.
Yhteistyövaihe on silloin, kun yksittäiset kehittäjät vahvistavat, mitä kukin tekevät ja kuinka yhdistää osansa. Tämä vaihe on yleensä täysin talon sisäinen. Kehittäjät eivät tarvitse lisätietoja tai ulkopuolista panosta hallitakseen tätä ohjelmiston osaa.
Viimeinen vaihe on oppiminen. Oppimisvaiheen aikana ohjelmiston uusin versio julkaistaan käyttäjille. Tämä luo projektin ensimmäisessä vaiheessa käytetyt vika- ja käyttäjäraportit, ja sykli toistaa itseään.