Tarkvara arendustsükkel

Tarkvara arendustsükkel on tarkvaraarenduses üksteisele järgnevate tegevuste jada, mida läbides realiseeritakse ideed infosüsteemide(s)/(na).

Arendustsükli konkreetsed faasid ning pikkus sõltuvad arendusmetoodikast. 

Siiski võib tuua üldistuse, et arendustsükli kõige olulisemad osad on 

 analüüs
 disain
 arendus
 testimine ja integratsioon
 ülalhoid ja parandused

Agiilne arendustsükkel 
Agiiilsed metoodikad viitavad erinevatele tarkvaraarendus metoodikatele, mis aitavad paremini reageerida muutuvatele nõuetele kui traditsiooniline tarkvaraarendus. Samuti aitab see arendada tarkvara kiiremini, selleks, et äri vajadustega samu pidada.

Arendustsükli osad käiakse läbi vaheldumisi ja pidevate interatsioonidena, mis tagab selle, et erinevad arenduse osapooled saavad paralleelselt töötada ning tarkvara valmib versioonidena ja kiiresti. Iga iteratsiooni lõpuks valmib ärilist väärtust omav piiratud funktsionaalusega osa tarkvarast. Ärilise väärtuse defineerib ning valideerib agiilsetes metoodikates äri esindaja.

Agiilse arenduse faasid

Valitakse projekt ning prioriseeritakse vastavalt äripotentsiaalile (Scope out and prioritize projects)
Esialgsete nõuete kogumine (Diagram requirements for the initial sprint)
Lahenduse disain ja arendus (Construction/iteration)
Testimine ja live keskkonda paigaldus (Release the iteration into production)
Tugi ja parandused (Production and ongoing support for the software release)
Süsteemi elutsükli lõpus eemaldatakse see live keskkonnast (Retirement)

Traditsiooniline arendustsükkel 
Traditsiooniliste tarkvaraarenduse metoodikate (näiteks Waterfall, kosemudel) puhul toimuvad tsükli sammud kõik eraldi. Töö liigub edasi järgmisesse osasse alles siis, kui eelmine on lõplikult valmis. Faasid ei kattu omavahel töö käigus. 

Selline arendustsükkel ei ole vastuvõtlik muudatustele nõuetes, kuna muudatuse ilmnemisel tuleb tööd alustada algusest. Samuti näeb klient valminud tarkvaralahendust alles siis, kui see on valmis, mis omakorda võib kaasa tuua rahulolematust, mis on seotud ootuste ja tegelikkuse vastuoludega.

Traditsioonilise arenduse faasid

 Nõete kogumine ja analüüs – kõik võimalikud nõuded uuele süsteemile kogutakse kokku ja dokumenteeritakse vastavalt projekti nõuetele.
 Süsteemi disain − vastavalt nõuetele disainitakse süsteem. Disain on hiljem abiks süsteemianalüüsis ning arhitektuuri väljatöötamises.
 Arendus ja unit testimine − süsteemi arendamine ja selle üksikute osade testimine
 Intergatsioon ja testimine – süsteemi integratsioon ja testimine
 Evitamine (Deployment) − kui testimine on tehtud võimaldatakse klientidel süsteemi kasutama asuda
 Ülalhoid (Maintenance) − paranduste sisseviimine

Viited 

Tarkvaraarendus