Mis on adaptiivne tarkvaraarendus?

Adaptiivne tarkvaraarendus on tarkvarasüsteemide loomise disainiprintsiip. Põhimõte keskendub tarkvarasüsteemide kiirele loomisele ja arendamisele. Kunagi pole perioodi, mil tarkvara on valmis; uute väljaannete vahel on lihtsalt stabiilsed perioodid. Adaptiivne arendusmeetod kasvas välja rakenduste kiirarendusmeetodist. Need kaks meetodit on oma ülesehituselt sarnased, kuid rakenduste kiire arendamine lubab aega, mil projekt on lõppenud, samas kui adaptiivne tarkvaraarendus mitte.

Adaptiivse arenduse fookus on arvutikoodis. Selle asemel, et tarkvara ette planeerida, on arendajatel peas mingi põhiidee ja nad asuvad tööle. Kui tükke tuleb muuta või uue süsteemiga kohandada, teevad kodeerijad seda lihtsalt. Kui programm vajab paika, teeb keegi selle lihtsalt.

Üldiselt võimaldab eelplaneerimise sammude puudumine arendajatel tarkvara väga kiiresti teha. Kuigi mõnikord põhjustab see tarkvara, mis ei täida täpselt vajalikke funktsioone, pole see üldiselt probleem. Selle protsessi arendustsükkel on nii lühike, et uus versioon koos lisavõimalustega võib väga kiiresti välja tulla. See protsess ehk kiire prototüüpimine on nii adaptiivse tarkvaraarenduse kui ka kiire rakenduste arendamise nurgakivi.

Koht, kus need kaks meetodit erinevad, on lõpp-punktis. Adaptiivse tarkvaraarenduse jaoks pole tegelikku lõpp-punkti, vaid aeg, mil tarkvara enam ei vajata või kood porditakse kõrgema põlvkonna rakendusse. Teisest küljest võimaldab kiire rakenduste arendamine projekti lõpetada, aega, mil tarkvara on veatu ja vastanud ostja nõudmistele.

Adaptiivne tarkvaraarendus koosneb kolmest etapist, millest igaüks tiirleb programmi kodeerimise ümber. Esimene samm on spekulatsioon. Selles etapis püüavad kodeerijad mõista tarkvara täpset olemust ja kasutajate nõudeid. See etapp tugineb projekti juhtimiseks vea- ja kasutajaaruannetele. Kuna aruandeid pole saadaval, kasutavad arendajad ostja esitatud põhinõudeid.

Koostööfaas on see, kui üksikud arendajad täpsustavad, mida nad teevad ja kuidas oma osi kombineerida. See etapp on üldiselt täielikult majasisene. Arendajad ei vaja selle tarkvaraosa haldamiseks täiendavat teavet ega välist sisendit.
Viimane samm on õppimine. Õppefaasis antakse kasutajatele välja tarkvara uusim versioon. See genereerib projekti esimeses etapis kasutatud vea- ja kasutajaaruanded ning tsükkel kordub.