Tagasi

Inkrementaalne Arendusmudel

Inkrementaalne arendusmudel (inglise keeles Incremental Model) on üks viis, kuidas leevendada koskmudeli (Waterfall Model) jäika tsüklit. See aitab arendusmeeskonnal paremini toime tulla muudatustega, mis võivad tuleneda äritegevusest, kliendi soovidest, turuolukorrast, tehnoloogiate muutumisest, seadusemuudatustest või lõppkasutaja tagasisidest. Kuna koskmudeli puhul on arendustöö keskel muudatustega toimetulek keeruline ja kulukas, pakub inkrementaalne mudel paindlikumat alternatiivi.

Mudel on ajagraafikupõhine ja ei tugine, erinevalt koskmudelist, täielikult valmiskirjeldatud kavandile. Selles mudelis saab arendada erinevaid programmiosi (nn. inkremente) samaaegselt või erinevatel aegadel.

Inkrementaalsus aitab arendustöös kuvada kliendile programmi funktsionaalsuse keskseid osi juba enne, kui kogu süsteem on valmis. Selleks luuakse näiteks:

Näiteks, kui tegemist on failikonverteriga, ei oma esimene inkrement suurt kasutajaliidese kujundust ega isegi kõiki toetatavaid formaate, vaid see demonstreerib osaliselt põhilist teisendusfunktsionaalsust.


Kuidas on Inkrementaalse Arenduse Tegevuskäik?

Inkrementaalne arendusprotsess koosneb korduvatest etappidest, mida korratakse iga inkremendi jaoks:

1. Nõuete Kirjeldus

Kirjeldatakse ära üldjoontes, mida valminud tarkvaratoode tegema peab. Nõuded jaotatakse tähtsamateks ja vähemtähtsamateks (prioriteetide alusel). Tähtsamad nõuded on tavaliselt need, mis toovad kliendile rohkem väärtust. Selles etapis määratakse ka ära, milliste inkrementidena klient oma toodet saama hakkab ja millise ajavahemiku tagant. Iga inkrement peab tarnima kliendile toimiva toote osakese.

2. Süsteemi Arendus

Kui nõuded on olemas ja prioriteetide järgi jaotatud, alustatakse arendusprotsessiga. Siin arendatakse välja vastavalt nõuetele programmi osa ehk inkrement.

3. Arendusega Samaaegne Nõuete Täiendus

Kuigi parasjagu arendatava programmiosa nõuded on "külmutatud", on teiste, veel mittearenduses olevate osade nõudeid võimalik muuta ja täpsustada. See tähendab, et ühe programmi osa nõuete väljaselgitamise lõpetamisel saab seda kohe arendama asuda, enne kui kõik nõuded on täielikult valmis.

4. Tarne ja Integratsioon

Nõuetele vastava programmiosa valmimisel tarnitakse see ehk inkrement kliendile.

Klient saab selle koheselt kasutusse võtta, testida ja anda tagasisidet valminud programmi osa kohta. Selle põhjal võidakse tuletada juba valminud osale uusi nõudeid. Klient saab valminud osa ka integreerida oma olemasoleva keskkonna või eelnevalt arendatud süsteemiga.


Inkrementaalse Arenduse Head ja Halvad Küljed

Head Küljed Halvad Küljed
Kulutused on väiksemad – Kuna muudatusi saab sisse viia arendustsükli käigus (enne kogu projekti lõppu), on muudatuste kulud väiksemad. Progressi jälgimine on keerukas – Progressi jälgitakse arenduskiiruse (mitte täielikult fikseeritud nõuete) põhjal, mis nõuab pidevat ja kiiret dokumentatsiooni, mille hankimine on arendustöö ajal raskendatud.
Kliendi tagasiside on kohane – Meeskond saab keset arendust kohe tagasisidet, et vajadusel muuta nõudeid ja seega arenduse suunda. Süsteemi struktuur degradeerub (spagetistub) – Kuna uusi osi lisatakse pidevalt ja vahel planeerimatult, kipub sisemine struktuur halvenema. Selle vältimiseks kulutatakse lisaresursse koodi refaktoreerimisele.
Tarne on kiirem – Klient saab juba funktsioneerivad osad kohe pärast arendustöö lõppu kasutusele võtta ja saab sellest varem kasu.

Mis vahe on Inkrementaalsel ja Iteratiivsel Arendusel?

Kuigi mõisted "inkrementaalne" ja "iteratiivne" arendus on sarnased sõnad, tähistavad need siiski erinevaid asju:

Tänapäeval kasutatakse sageli lähenemist, mis on nii iteratiivne kui ka inkrementaalne, kus igas tsüklis lisatakse uut funktsionaalsust ja parandatakse olemasolevat.
Inkrementaalne arendusmudel (Allikas)