Prilagodljiv razvoj programske opreme je načelo oblikovanja za ustvarjanje programskih sistemov. Načelo se osredotoča na hitro ustvarjanje in razvoj programskih sistemov. Nikoli ni obdobja, ko je programska oprema končana; med novimi izdajami so samo stabilna obdobja. Metoda prilagodljivega razvoja je zrasla iz metode hitrega razvoja aplikacij. Ti dve metodi sta si po strukturi podobni, vendar hiter razvoj aplikacij omogoča čas, ko je projekt končan, medtem ko prilagodljivi razvoj programske opreme ne.
Težišče adaptivnega razvoja je v računalniški kodi. Namesto da bi programsko opremo načrtovali vnaprej, imajo razvijalci osnovno idejo v svojih glavah in gredo na delo. Ko je treba dele spremeniti ali prilagoditi novemu sistemu, koderji to preprosto storijo. Če program potrebuje popravek, ga nekdo naredi.
Na splošno pomanjkanje korakov vnaprejšnjega načrtovanja omogoča razvijalcem, da zelo hitro izdelajo programsko opremo. Čeprav bo to občasno povzročilo programsko opremo, ki ne izvaja natančnih zahtevanih funkcij, to na splošno ni problem. Razvojni cikel v tem procesu je tako kratek, da lahko zelo hitro izide nova različica z dodatnimi funkcijami. Ta proces ali hitra izdelava prototipov je temelj tako prilagodljivega razvoja programske opreme kot hitrega razvoja aplikacij.
Mesto, kjer se obe metodi razlikujeta, je v končni točki. Za prilagodljiv razvoj programske opreme ni prave končne točke, le čas, ko programska oprema ni več potrebna ali je koda prenesena v aplikacijo višje generacije. Po drugi strani pa hiter razvoj aplikacij omogoča konec projekta, čas, ko programska oprema ne vsebuje napak in izpolnjuje zahteve kupca.
Prilagodljiv razvoj programske opreme je sestavljen iz treh korakov, od katerih se vsak vrti okoli kodiranja programa. Prvi korak so špekulacije. V tej fazi koderji poskušajo razumeti natančno naravo programske opreme in zahteve uporabnikov. Ta faza se za vodenje projekta opira na poročila o napakah in uporabnikih. V nobenem poročilu ni na voljo, razvijalci uporabljajo osnovne zahteve, ki jih je navedel kupec.
Faza sodelovanja je, ko posamezni razvijalci utrdijo, kaj počnejo in kako združijo svoje dele. Ta faza je na splošno v celoti v hiši. Razvijalci ne potrebujejo nobenih dodatnih informacij ali zunanjih vložkov za upravljanje tega dela programske opreme.
Zadnji korak je učenje. V fazi učenja je uporabnikom izdana najnovejša različica programske opreme. To generira poročila o napakah in uporabnikih, uporabljena v prvi fazi projekta, in cikel se ponovi.