Dezvoltarea adaptivă de software este un principiu de proiectare pentru crearea de sisteme software. Principiul se concentrează pe crearea și evoluția rapidă a sistemelor software. Nu există niciodată o perioadă în care software-ul este terminat; există doar perioade stabile între lansări noi. Metoda de dezvoltare adaptivă a apărut din metoda de dezvoltare rapidă a aplicațiilor. Aceste două metode sunt similare ca structură, dar dezvoltarea rapidă a aplicațiilor permite un timp în care proiectul este finalizat, în timp ce dezvoltarea de software adaptiv nu.
Accentul dezvoltării adaptive este în codul computerului. În loc să planifice software-ul dinainte, dezvoltatorii au o idee de bază în cap și merg la lucru. Atunci când piesele trebuie schimbate sau adaptate la un nou sistem, codificatorii o fac pur și simplu. Dacă programul are nevoie de un patch, cineva îl realizează.
În general, lipsa pașilor de pre-planificare permite dezvoltatorilor să realizeze software-ul foarte rapid. Deși, ocazional, acest lucru va avea ca rezultat software care nu îndeplinește funcțiile precise necesare, aceasta nu este, în general, o problemă. Ciclul de dezvoltare în acest proces este atât de scurt încât o nouă versiune cu caracteristici suplimentare poate apărea foarte repede. Acest proces sau prototipare rapidă este piatra de temelie atât a dezvoltării software adaptive, cât și a dezvoltării rapide a aplicațiilor.
Locul în care cele două metode diferă este în eventualul punct final. Pentru dezvoltarea de software adaptiv, nu există un punct final real, doar un moment în care software-ul nu mai este necesar sau codul este portat într-o aplicație de generație superioară. Pe de altă parte, dezvoltarea rapidă a aplicației permite încheierea unui proiect, un moment în care software-ul nu are erori și a îndeplinit cerințele cumpărătorului.
Dezvoltarea de software adaptiv este alcătuită din trei etape, fiecare învârtindu-se în jurul codării unui program. Primul pas este speculația. În această fază, programatorii încearcă să înțeleagă natura exactă a software-ului și cerințele utilizatorilor. Această fază se bazează pe erori și rapoarte ale utilizatorilor pentru a ghida proiectul. În niciun raport disponibil, dezvoltatorii folosesc cerințele de bază prezentate de cumpărător.
Faza de colaborare este atunci când dezvoltatorii individuali consolidează ceea ce fac fiecare și cum să-și combine porțiunile. Această fază este în general complet internă. Dezvoltatorii nu au nevoie de informații suplimentare sau de informații externe pentru a gestiona această parte a software-ului.
Ultimul pas este invatarea. În timpul fazei de învățare, cea mai nouă versiune a software-ului este lansată utilizatorilor. Acest lucru generează rapoartele de erori și utilizatori utilizate în prima fază a proiectului, iar ciclul se repetă.