Algusesse Tagasi

Agiilne arendusmudel


Agiilne ehk väle metodoloogia (Agile methodology) on projektijuhtimise ning tarkvara arendamise üks lähenemisi, milles on olulisel kohal paindlikkus, koostöö ning kliendikesksus. See ühendab endas nii inkrementaalse, kui iteratiivse mudeli omadusi. Mõlemas mudelis tähtsustatakse toimiva toote kiiret väljalaskmist/tarnimist kliendile.

Välearendus tekkis vastukaaluks senistele traditsioonilistele "tardmeetoditele" (milleks näiteks on kosemeetod, millega kaasnesid nende jäikuse tõttu probleeme ülemääraste kulutuste, ajagraafikutest mahajäämise ning vigaste lõpptoodetega. Kui vanemad meetodid panid väga palju rõhku arendustööeelsele projektiplaneerimisele, dokumentatsioonile ja süsteemidisainilem, siis välearenduses on keskpunktis meeskonna liikmete omavaheline suhtlus ja koostöö ning töö jooksul tekkivate ootamatute muutuste vältimise asemel nende haldamine.

Öeldakse ka, et välearendus ei ole niiväga metodoloogia, vaid pigem tööfilosoofia, sest selle eestmärk ei ole järgida mingeid kindlaid rituaale või tehnikaid, pigem on see kogum meetodeid, mis aitavad töö käigus kiirelt reageerida. Seetõttu võib seda pidada ka üheks olulisemaks või silmapaistvamaks omaduseks agiilse mudeli juures.

Etapid

  1. Nõuete väljaselgitamine - meeskond identifitseerib ning dokumenteerib klientide ootused ning vajadused. Samuti defineeritakse projekti ulatus, eesmärgid ning vajadused, samuti pannakse paika projekti plaan.
  2. Toote disainimine - süsteemi arhitektuur, spetsifikatsioonid, tarkvara kasutajaliides.
  3. Tarkvara ehitamine, arendamine.
  4. Testimine - ühik-, integratsiooni- jm testid.
  5. Töötava tarkvara näitamine kliendile ning tagasiside kogumine.

Populaarsemad agiilsed mudelid

Scrum

Scrum metoodikat kasutavad tiimid otsustavad iseseisvalt, kuidas neile antud ülesannet täita ning ei vaja selle töö jaoks abi teistelt väljaspool tiimi. Tiimi kuuluvad tavaliselt tooteomanik, arendusmeeskond ja Scrumi juht (ehk Scrum master). Töö toimub ühe- kuni neljanädalastes iteratsioonides ehk sprintides ning iga sprindi lõpuks peaks potentsiaalselt valmima töötava ning testitud versiooni tarkvarast. Lisaks kuulub selle metoodika juurde teisi spetsiifilisi "tseremooniaid", näiteks:

Kanban

Kanbani näol on tegemist töö haldusmeetodiga, mis pärineb juba eelmise sajandi keskpaigast tootmissektorist. Lisaks tarvkaraarendusele on see kasutusel veel mitmeski muus valdkonnas. Kanbani põhimõte seisneb tehtava töö visualiseerimises, mis aitab tagada maksimaalset produktiivsust ja efektiivsust. Tarkvarasektorisee jõudis see 2004. aastal ning selle eesmärk oli vähendada samaaegsete tööde hulka ning võimaldada arendajatel alustada uute ülesannetega siis, kui eelmine on lõpetatud.

Ekstreemprogrammeerimine

Crystal

Crystal on välearenduse metoodika, mis on välja kasvanud ühest Agiilse Manifesto põhiväärtustest, mis keskendub inimestele ning nendevahelistele suhetele tarkvaraarendusetiimis. Selle meetodi põhiuskumused on, et tiimid suudavad iseseisvalt leida viise oma töövoo täiustamiseks ning et iga projekt on unikaalne ning muutuv, mistõttu selle projektiga tegelev tiim teab kõige paremini, kuidas sellega toime tulla.

Lean

Tegemist on samuti põhimõttega, mis eksisteeris juba enne tarkvaraarendust tootmissektoris. Oma nime sai Lean Ameerika Ühendriikides leiutatud timmitud ehk kulusäästlikust tootmisviisist (lean manufacturing). Sarnaselt oma eelkäijale keskendub see raamistik "prahi" eemaldamisele, ehk teisisõnu vajalike ning ebavajalike osade tuvastamisele projektis ning puhtalt vajaliku arendamisele.

Agiilse metodoloogia eelised ja probleemid

Eelised Probleemid
Väga realistlik lähenemine tarkvara arendamisele Sõltub liiga palju suhtlusest kliendiga - kliendi ebatäpsus võib projekti viia valesse suunda
Minimaalsed ressursinõuded Vähene dokumentatsioon võib osutuda probleemiks, kui meeskond vahetab liikmeid töö käigus
Lihtne hallata Nõuab toimimiseks agiilsete meetodite osas pädevat projektijuhti

Viited kasutatud infole:

SDLC - Agile Model - TutorialsPoint

What is Agile Methodology - GeeksForGeeks

Agiilne arendus ehk Kanban, Scrum ja teised – kaasaegne lähenemisviis tarkvaraarenduses - Koren

Väledad tarkvaraarenduse mudelid - ICO Wiki