Inkrementaalne arendusmudel

Inkrementaalne mudel jagab tarkvaraprojekti etappideks ehk inkrementideks, kus iga uus inkrement lisab süsteemile uusi funktsionaalsusi. Selle aluseks on süsteemi järk-järguline (inkrementaalne) laiendamine. Iga valminud inkrement liidetakse olemasoleva süsteemiga, võimaldades varajast tagasisidet ja võimalust arendusprotsessi käigus täpsustada järgmiste osade nõudeid. Alistair Cockburn on rõhutanud, et inkrementaalne arendus järgib kindlat ajagraafikut ja on etapiviisiline, samas kui Ian Sommerville näeb seda osana iteratiivsest lähenemisest, mis hõlmab vajadusel ka olemasoleva tarkvara ümbertegemist ja täiustamist.

Inkrementaalne vs Iteratiivne

Inkrementaalset mudelit aetakse tihti segamini iteratiivse mudeliga, kuid nende vahel on oluline erinevus.

Inkrementaalse mudeli etapid on järgmised:

  1. Nõuete määratlemine üldisel tasandil.
  2. Nõuded jagatakse tähtsamateks ja vähemtähtsateks.

  3. Tarneosade määramine.
  4. Koostatakse plaan, millised tarkvara osad tarnitakse ja millises järjekorras.

  5. Kõrgema prioriteediga osade detailiseerimine ja arendus.
  6. Esimesena võetakse ette kõrgema prioriteediga osad ja arendatakse neid.

  7. Töö käigus olevate osade külmutamine.
  8. Töös oleva osa nõudeid ei muudeta (kui väga vajalik, siis tehakse seda hiljem).

  9. Tarnimine ja kliendile katsetamiseks andmine.
  10. Valmis osa tarnitakse kliendile, kes saab seda katsetada ja anda tagasisidet.

  11. Tagasiside alusel nõuete täpsustamine.
  12. Järgnevate osade jaoks täpsustatakse nõudeid vastavalt saadud tagasisidele.

Visuaalselt protsess näeb välja niimodi:

Inkrementaalne mudeli visuaalne skeem
Inkrementaalse mudeli head Inkrementaalse mudeli vead
Nõuete muutmine on soodsam Progressi jälgimine on keeruline
Varajane tagasiside ja kasutatavus Pdev muutmine võib kahjustada süsteemi struktuuri
Kiire kasutuselevõtt Refaktoreerimise vajadus

Agiilsed arendusmeetodid

Agiilsed meetodid põhinevad inkrementaalsel mudelil, pakkudes täiendavat paindlikkust ja keskendudes koostööle. Erinevalt klassikalistest mudelitest, nagu koskmudel, ei nõua iteratiivsed arendusmudelid kõikehõlmavat algdokumentatsiooni ega lõplikku kasutajavajaduste lukustamist. Iteratiivne lähenemine võimaldab paindlikult muuta süsteemi, saada varajast tagasisidet ja testida lahendusi varakult.

Agile Manifesto (2001) rõhutab inimesi ja koostööd klientidega, töötava tarkvara tähtsust ning valmisolekut muudatusteks:

Öeldakse, et agiilmeetoditega saavutatakse parem tulemus sama raha eest, aga agiilmeetoditega on raskem ette planeerida, millal tarkvara mingi funktsioon valmis saab - „Agile process will provide the most bang for the buck, but won't say exactly when that bang will be".

Tuntumad ja levinumad agiilsed arendusmeetodid on:

Ekstreemprogrammeerimine (XP)

Ekstreemprogrammeerimine (XP) on üks tuntumaid agiilseid meetodeid, mis keskendub lühikestele ja intensiivsetele arendustsüklitele. XP erineb klassikalistest arendusmudelitest, kus arendustsüklid võivad kesta kuid või isegi aastaid – iga tsükkel kestab XP-s vaid päevi või nädalaid. XP-s kirjutatakse enne kodeerimist automatiseeritud testid, mille tarkvara peab läbima. Programmeerimine toimub paarides (paarisprogrammeerimine), kus kaks programmeerijat töötavad koos ühe koodilõigu kallal. Kui kood läbib testid, loetakse antud iteratsioon edukaks ja lõpetatuks.

Link kasutatud materjalile:

Link