Tagasi

Mis on Agile (Agiilne arendusmudel)?

Agiilne arendusmudel on nö vihmavari mõiste. See koondab enda alla paindlikud mudelid, mis eelistavad iteratiivset ja kohandatavat tarkvaraarendust, klientide kaasamist ja meeskonnatööd. Nende meetodite eesmärk on toota töötavat tarkvara väikestes inkrementides, kaasates tagasisidet ning tehes muudatusi vastavalt vajadustele.

Mis on Scrum?

Scrum on agiilses tarkvaraarenduses kasutatav raamistik, mida iseloomustavad väikesed iseorganiseeruvad meeskonnad, kes töötavad lühikestes iteratiivsetes tsüklites, mida nimetatakse sprintideks. Struktuur rõhutab meeskonnatööd, kohanemisvõimet ja järkjärgulist keskendumist funktsionaalse tarkvara tootmisele.

Scrum näeb ette, et meeskonnad jagavad töö eesmärkideks, mis tuleb saavutada ajaliselt piiratud tsüklite ehk sprintide raames. Tsüklid kestavad tavaliselt kaks nädalat ja mitte kauem kui üks kuu. Sprintide korduseid tehakse olenevalt projekti pikkusest ning vajadusel nii palju kuni on sobiv toode valmis. Meeskond hindab edusamme lühikeste kuni 15-minutilistel koosolekutel, mida nimetatakse igapäevasteks scrumideks.

Sprindi lõpus peab meeskond veel kaks koosolekut: üks sprindi ülevaate, et demonstreerida tööd klientidele ja küsida tagasisidet, ning teine meeskonna sisemine sprindile tagasivaatav.

Scrum-meeskonna eest vastutavat isikut nimetatakse tavaliselt scrum masteriks.

Scrum-i etapid

Scrumi elutsüklis on 5 etappi: Algatamine, Planeerimine, Teostamine, Ülevaatamine ja Tagasiside, ning Avalikustamine. Nendest ei kuulu sprindi juurde algatamine ning avalikustamine. Ehk siis need kaks etappi on vastavalt projekti alguses ja lõpus.

  1. Algatamine

    Selle etapi jooksul loob meeskond projekti visiooni, mis sisuliselt kirjeldab tegevuskava koos peamiste eesmärkide, sihtide ja tulemustega. Samuti tuvastavad nad kõik huvigrupid, määravad meeskonnaliikmed rollidesse ja kinnistavad projekti ülesannete loetelu.

    Loetelu on koostatud tooteomaniku poolt arvestades projekti visiooni ja kliendi vajadusi. See nimekiri on järjestatud prioriteetsuse järjekorras ning sisaldab funktsioone, mis rakendatakse arenduse käigus.

  2. Planeerimine

    Selles etapis tegeleb Scrumi arendusmeeskond sprindi planeerimisega. Meeskond määrab kindlaks, milliste kasutajalugudega nad tsükli jooksul töötada soovivad.

  3. Teostamine

    See etapp hõlmab ülesannete ja tegevuste täitmist toote eesmärkide saavutamiseks ja projekti tulemuste lõpuleviimiseks. Olulisel kohal on igapäevased scrumid, mille abil meeskond saab ülevaate projekti staatusest ning võimalikest probleemidest.

    See Scrumi etapp võib olla nõudlik. Õige meeskonna ja õigete protsesside abil saab tagada arendusmeeskonna vahelise pideva suhtluse ja toote plaanipärase edenemise.

  4. Ülevaatamine ja Tagasiside

    See etapp on agiilse scrum-protsessi oluline osa ning seda tuleks teha pärast iga sprindi lõppu. See annab võimaluse hinnata, mis oli edukas, mida saaks paremaks muuta ja kuidas edasi liikuda, kogudes klientide tagasisidet toote ja meeskonna hinnangut toimunud sprindi osas.

    See etapp sisaldab järgmisi Scrum-protsesse:

    • Sprindi ülevaade
    • Sprindi tagasivaade
    • Teostatavate tööde loetelu haldamine
    • Projekti tagasivaade (kui projekt lõpeb)

    Sprindi ülevaade võimaldab huvigruppidel ja meeskonnaliikmetel hinnata projekti edenemist. Seevastu sprindi tagasivaade annab võimaluse oma kogemuste üle järele mõelda, mõtteid jagada ja otsustada, kuidas protsessi optimeerida. Sprindi ülevaade keskendub tootele ja seda juhib tavaliselt tooteomanik. Sprindi Tagasivaade keskendub aga Scrum Masteri juhitud protsessile.

  5. Avalikustamine

    See on Scrumi metoodika etappide viimane etapp ning selle eesmärk on projekti lõpptulemuste ettevalmistamine ja edastamine seotud huvigruppidele.

Scrum etappide joonis

Mis on agiilsete arendusmudelite tätsaim omadus?

Tähtsaim omadus agiilsetel mudelitel on paindlikus. Kuna tarkvaraarenduses võivad nõuded kiiresti muutuda, siis paindlikkus võimaldab kiiresti kohaneda. Kiire kohanemis võime vähendab riski, et lõpptoode ei vasta kliendi/kasutaja ootustele.

Head Vead
Kliendile esitatakse toote tulemusi juba varakult ja järk-järgult. Kliendid näevad oma projektides iga lõpetatud sprindiga pidevat edu. Kuna kliendi ja meeskonna vahel on vajalik pidev suhtlus, nõuab see kõigilt projektis osalejatelt
palju aega ja energiat.
Risk, et klient ei jää lõpptootega rahule väheneb, kuna meeskonnal on paindlikkus reageerida kiiresti muutuvatele nõuetele. Koostöö ja vestlus asendab suure osa dokumentatsioonist, millele tavaliselt teabe jagamiseks ja edusammude kaardistamiseks tuginetakse. Kuigi see vähendab tööd, võib see muuta raskeks uute meeskonnaliikmete projektiga kurssi viimist.
Meeskonnaliikmed on protsessi kaasatud igapäevaste sprint koosolekute kaudu ja neid julgustatakse oma ideid jagama. Projekti üldise edenemise mõõtmine võib olla keeruline, kuna see toimub mitme iteratsiooni jooksul.
See pidev integreerimine ja testimine annab tulemuseks kvaliteetsema toote.

Veel agiilseid töövõtteid