Kasutaja:Eeroaaremaa/Iteratiivne tarkvaraarendus

Allikas: Vikipeedia

Iteratiivne tarkvaraarendus on üks tootearenduse meetoditest, mis kujutab endast kombinatsiooni iteratiivsest disainist ja inkrementaalsest arendusprotsessist. Iteratiivse arenduse peapõhimõte kujutab endast seda, et alguses tehakse kogust tootest vaid väike osa ning iga uue iteratsiooniga ehk etapiga lisatakse väike osa tervikule juurde. Iteratiivne meetodi eelis on see, et terves süsteemis saab teha muudatusi siis kui see veel lihtne on ehk programm valmib väikeste sammude kaupa, mille käigus saab tulevane süsteemi kasutajaviis või arendaja tagasisidet anda jooksvalt igal etapil valminud versioonile.

Iteratiivset tarkvaraarendust on optimaalne kasutada olukorras, kus on järgmised tingimused täidetud:[1]

  • Üheselt määratud ja selged tingumused on kaardistatud.
  • Klient või kasutajad on valmis lisama arendusprotsessi käigus lisafunktsionaalsust, milles pole varasemalt kokku lepitud.
  • Projektile avaldab pinget aeg, millega on vaja turule jõuda.
  • Projekt on innovatiivne ning tiimi liikmed õpivad arenduse käigus uut valitud teema kohta.
  • Eesmärgid võivad aja jooksul muutuda.

Ajalugu[muuda | muuda lähteteksti]

Iteratiivse arenduse ideed on vanemad kui agiilse arenduse omad ning seda lausa kümnendi või kahekümnendi võrra.

  • 1984. aastal viis Barry Boehm läbi empiirilise uuringu, mille käigus loodi projekti arendamise ajal prototüüpe, mis on oma omaduselt iteratiivne protsess. Sellel ajal hakkas iteratiivne arendusmeetod saama palju tähelepanu, kuna inimesed hakkasid endale soetama arvuteid ning tekkima hakkasid graafilised kasutajaliited.
  • 1986. aastal avaldab Barry Boehm artikli nimega “A Spiral model of software development and enhancement“, kus ta kirjeldab ühte iteratiivse arenduse mudelit.
  • 1995 aastal kirjutab Alistar Cockburn artikli nimega "Growth of human factors in application development", kus ta pakub välja, et iteratiivne arendus on toetust saama hakanud, kuna tihtipeale on pudelikaelaks arendusprotsessis õppimine. Kuna inimesel on õppimine instinktiivselt iteratiivne protsess siis on inimestele loogiline järgida ka iteratiivseid prinsiipe tarkvaraarenduses.[2]
Iteratiivse tarkvaraarenduse skeem

Iteratiivse tarvaraarenduse etapid[muuda | muuda lähteteksti]

Iteraktiivne tarkvaraarendus jaguneb kuueks peamiseks etapiks:[3]

  1. Eeluuring, mille käigus sooritatakse süsteemiarenduse tasuvusuuring, et selgitada, kas projekt on tulus.
  2. Süsteemi nõuete püstitamine, analüüs - Selles etapis kaardistatakse tulevaste kasutajate ja teise osapoolte tingimused, vajadused ning nõuded. Iga iteratsiooni alguses kogutakse tagasisidet, mida analüüsitakse ning mille põhjal seatakse vajadusel uued ja täpsemad nõuded.
  3. Arhitektuuri projekteerimine/parandamine - nõuetele vastava lahenduse väljatöötamine ning vajadusel selle parandamine, et süsteemi arhitektuur kattuks nõuetest tulenevatele tingimustele.
  4. Kodeerimine - selles etapis toimub süsteemi programmeerimine.
  5. Testimine - selles etapis testitakse ehk katsetatakse eelmises etapis valminud programmi.
  6. Integreerimine ja juurutamine - viimane etapp toimub siis, kui testimine on välja selgitanud, et programmis ei ole missioonikriitilisi vigu, vastasel juhul korratakse eelmiseid etappe. Viimases etapis võetakse varasemalt valminud kasutusele.

Iteratiivse tarkvaraarenduse eelised[muuda | muuda lähteteksti]

Iteratiivse tarkvaraarendusel on neli peamist eelist, milleks on:[4][5]

  1. Lihtne versioonihaldus: kuna iteratiivses arenduses on iga uus väljalase süsteemi uus versioon. Kui mõni uus versioon peaks terve süsteemi ära rikkuma on väga kerge ja kiire see versioon tagasi tõmmata ning vanem versioon rakendada.
  2. Kiired tulemused: iteratiivses arenduses võib probleeme jagada väikesteks tükkideks ning need omakorda veel väiksemateks. Seega on väga kiirelt võimalik valmis saada uus versioon, vahest mõne päeva või isegi tunniga. Selline probleemi tükkideks võtmine on hea, sest see võimaldab organisatsioonil teha probleemid endale sobiva suurusega.
  3. Sobilik agiilsetele organisatsioonidele: iteratiivne arendus toimib väga hästi väikestes, agiilsetes rühmades, kus mõned tiimiliikmed saavad täieliku iteratsiooni läbida relatiivselt kergelt ja kiirelt.
  4. Lihtne omaksvõtt: tänu pidevatele uuendustele on iteratiivne arendus mugav, sest see lubaba kiirelt omaks võtta projekti valmimise ajal muutuvad nõudmised. Nimelt leitakse vead süsteemi arhitektuuris iteratiivsel arendusel kiiresti üles ning need saab parandada jooksvalt.

Iteratiivse tarkvaraarenduse nõrgad küljed[muuda | muuda lähteteksti]

Iteraktiivne tarkvaraarendus, nagu kõik teised tarkvaraarenduse meetodid, ei ole sobivad igale tiimile ja organisatsioonile. Iteratiivse arenduse peamised nõrkused on järgmised:[4]

  1. Kulukad muudatused projekti hilises staadiumis: see ei pruugi olla probleemiks igal projektil, kuid kui hilises staadiumis leitakse fundamentaalne viga projekti disainis võib selle lahendamine olla äärmiselt kulukas nii rahalises, kui ka ajalises kontekstis.
  2. Kõrgem surve kasutajate kaasamises: vastupidiselt koskmudelile, kus kasutajatelt või kliendilt küsitakse projekti alguses võimalikult täpne kirjeldus soovidest ja vajadustest, siis iteratiivses arenduses on kõrge surve kasutajatel, kes peavad iga iteratsiooni kohta andma tagasisidet ning neist võib sõltuda projekti edukus.
  3. Eripärade ja omaduste kasutajateni jõudmine: tihtipeale peavad kasutajad või kliendid pidevalt küsima uusi omadusi. Lisaks selleni saavad kasutajad kätte tihti uue versiooni ning on mõnel korral sunnitud ümber harjuma uue versiooni eripärade ja omadustega.

Viited[muuda | muuda lähteteksti]

  1. P. Kienitz (17. märts 2017). "he pros and cons of Iterative Software Development". dcsl software. Vaadatud 22.12.2019.
  2. "Iterative Development". Agile Alliance. Vaadatud 22.12.2019.
  3. "Süsteemiarenduse põhimõtted ja metoodikad". Vaadatud 22.12.2019.
  4. 4,0 4,1 Andrew Powell-Morse (15. detsember 2016). "Iterative Model: What Is It And When Should You Use It?". Airbrake. Vaadatud 22.12.2019.
  5. "What is Iterative Development and How does it Work?". Planbox. 16. aprill 2019. Vaadatud 22.12.2019.