Mis on agiilsus ja 9 müüti selle kohta

Agiilsus on viis ebakindlas ja muutuvas keskkonnas toimetulekuks ning selles edu saavutamiseks. Sama seletus kehtib ka agiilse arenduse kohta. Millised müüdid ja küsimused agiilsust tavaliselt puudutavad ja mis on selle mõiste taga, sellest räägib põhjalikult agiilsuse nõustaja ning koolitaja Merle Randlepp.

Kuigi Eestis on agiilse arenduse kohta käibel ka mõiste “välearendus” (Wikipedia), siis jään siiski “agiilsuse” kui rohkem levinud termini juurde. Usun, et küsimused “Kas te arendate väledalt?” ja “Millist välearendusmetoodikat te kasutate?” jääksid lihtsalt paljudele arusaamatuks. Samadel põhjustel eelistan kasutada ka sõna “coach” eestikeelse sõna “koots” asemel.

Ajaloost ja Agiilsest Manifestist

Esimesed agiilsed praktikad hakkasid maailmas levima 1990-ndatel, kuigi siis veel sellist sõna nagu “agiilne” ei tuntudki.

Mõiste “agiilsus” defineeriti 2001. aastal koos Agiilse Manifestiga, mis kirjutati kokku 17 eksperdi poolt ühes Utah´ suusakuurordis. Manifestis on sõnastatud agiilsed väärtused ja printsiibid, mis on jäänud agiilsuse vundamendiks tänaseni.

Tihti arvatakse, et agiilsus kui üldine kontseptsioon oli olemas varem, kui konkreetsed arendusraamistikud, aga tegelikult toimusid sündmused hoopis vastupidises järjekorras. Nimelt kogunesid suusakuurortis juba Scrumi, XP, FDD ja teiste arendusmetoodikate esindajad, kes püüdsid leida kõigi metoodikate ühisosa. Näiteks Scrum tähistab tänavu juba oma 25. sünnipäeva.

Mis aga on agiilsus? Definitsioon on küllalt üldsõnaline:

Agiilsus on võime luua muutusi ja neile reageerida. See on viis ebakindlas ja muutuvas keskkonnas toimetulekuks ning selles edu saavutamiseks.

(allikas: Agile Alliance)

Teisisõnu - kui sa ei tea veel sajaportsendise täpsusega, mida soovid luua (ja enamasti meil kristallkuuli ei ole ning kõiki detaile ette ei tea), siis agiilne lähenemine aitab sul luua maksimaalselt väärtusliku lahenduse minimaalse ajakuluga.

Kokkuvõttes on agiilsus mõtteviis, mis toetub Agiilse Manifesti neljale põhiväärtusele ja kaheteistkümnele printsiibile ning mille abil saab tegutseda kiiresti muutuvas ja keerukas olukorras.

Peamine erinevus võrreldes teiste lähenemistega on agiilsel arendusel fookuse hoidmine inimestevahelisel koostööl ja iseorganiseeruval meeskonnal.

Mis on agiilsed väärtused?

1. väärtus: hindame inimesi ja nendevahelist suhtlust rohkem, kui protsesse ja arendusvahendeid

Inimesed on agiilses filosoofias kõige tähtsamad. See ei tähenda, et efektiivne arendusprotsess ja võimsad tööriistad poleks olulised - loomulikult on, aga just inimesed ja nende pingutused aitavad tegelikult probleeme lahendada ja väärtust luua.

2. väärtus: hindame töötavat tarkvara rohkem, kui kõikehõlmavat dokumentatsiooni

Vanasti kirjutati enne arenduse alustamist valmis ülimalt põhjalik dokumentatsioon. Traditsioonilise kose (waterfall) meetodi korral kulus tarkvara ehitamiseks sageli palju aega ja kui lõpuks lahendus valmis sai, ei vastanud see enamasti kasutajate ootustele.

Agiilne lähenemine paneb rohkem fookuse kiirele tarnele, kui dokumentatsioonile, et koguda lõppkasutajate tagasisidet ja teha vajalikke muudatusi võimalikult varakult.

3. väärtus: hindame koostööd kliendiga rohkem, kui läbirääkimisi lepingute üle

Nagu öeldud, fikseeriti kose meetodi korral kõigepealt detailne skoop, mis võeti lepinguliste tööde aluseks. Tegelikkuses on aga võimatu kõiki lõppkasutajate vajadusi ja tagasisidet ette näha ning  muudatused on paratamatud. Kui vanasti algas sellisel juhul kas aeganõudev lepingu muutmise protsess või skoobi vaidlus, siis agiilses arenduses võib lepinguliselt olla fikseeritud eelarve ja tähtaeg, aga skoobi suhtes saab tellija teha muudatusi vastavalt oma vajadustele.

4. väärtus: hindame reageerimist muutunud oludele rohkem, kui algse plaani järgimist

Kui kose meetodil arendades olid kõik tarkvara muudatus-soovid projekti käigus arendustiimi õudusunenäoks ja lõid kogu projekti sisuliselt uppi, siis agiilses arenduses on muudatused oodatud ja teretulnud. Plaani kohendatakse kiirelt nii, et ta vastaks uuele olukorrale.

Agiilse Manifesti 12 printsiipi

Lisaks neljale väärtusele sisaldab Agiilne Manifest ka 12 printsiipi, mis kasvasid küll välja tarkvaraarenduse valdkonnast, aga on tänaseks levinud juba kõigisse eluvaldkondadesse.

 

 

9 müüti agiilsuse kohta

1. müüt: agiilsus tähendab kiiret ja ülejala tegemist

Seda müüti olen Eestis kõige sagedamini kohanud, näiteks iseloomustavad seda müüti vestluskatked stiilis “Meil ei ole siin suureks planeerimiseks aega, teeme kähku ära, agiilselt” või “See lahendus on jah päris vigane, aga me agiilselt tegime”. Nendes lausetes pole paraku ühtki tõetera sees.

Agiilsed tiimid peavad edu saavutamiseks olema tegelikult kõva distsipliiniga. Planeerimine on agiilses lähenemises kriitilise tähtsusega, aga erinevus on selles, et ei planeerita KÕIKE detailselt ette ära, vaid ainult väike lähituleviku lõik. Kui on vaja midagi muuta, siis tehakse kiirelt plaan ringi.

Kui teha agiilset arendust õigesti ja testida pidevalt iga tööd vahetult pärast selle valmimist, siis on vigade arv projektis minimaalne.

Müüdi põhjuseks on ilmselt agiilsete arendusmetoodikate poolik rakendamine ja vähene teadlikkus agiilsuse tegelikust olemusest.

Agiilsuse printsiip nr 9
“Tehnilist täiuslikkust ja head disaini pideva tähelepanu all hoides tagatakse tarkvaraarenduse kiirus ja paindlikkus.”

2. müüt: agiilsus on sama, mis Scrum

Kui keegi ütleb, et ta kasutab agiilset metoodikat, siis palun tal alati täpsustada, et millist täpsemalt? Agiilsus on oma olemuselt mõtteviis, mille alla kuulub rida erinevaid metoodikaid nagu Scrum, Kanban, XP jt. Metoodika annab sulle konkreetse juhendi, kuidas midagi teha. Agiilsus tähendab aga väärtuseid ja põhimõtteid, millele saavad põhineda paljud erinevad metoodikad.

Selle müüdi põhjused peituvad asjaolus, et Scrum on maailmas levinuim agiilne arendusmetoodika. Uuringute järgi kasutavad seda üle poole agiilsetest tiimidest (allikas: State of Agile Report 2020).

3. müüt: agiilsus on alati parim valik

Agiilsus ei ole alati toimiv imerohi, see on kasulik eelkõige neis keskkondades ja olukordades, mis on ebakindlad ja võivad muutuda.

Muutused võivad tuleneda näiteks sellest, et veel ei ole täpselt teada, mida kasutajad kõige rohkem vajavad või sellest, et ümbritsev keskkond võib ootamatult muutuda või hoopis mõnest muust välisest faktorist. Igal juhul on agiilsuse tugevuseks hakkama saamine igal ajahetkel juhtuvate muudatustega.

On olukordi, kus agiilsus ei anna mingit olulist eelist, näiteks projektis, kus iga detail on juba ette 100% kindlusega paigas või projekt ei ole eriti suur, uudne ja keerukas või sul lihtsalt puuduvad agiilsuseks vajalikud ressursid - professionaalne tiim ning teadmised agiilsusest.

Olen kohanud selliseid olukordi, aga neid on olnud vähe - tavaliselt elame ikkagi pidevate muutuste keerises.

4. müüt: agiilses arenduses ei ole planeerimist

Üks müüt, mida olen samuti sageli kohanud, väidab, et agiilsuses eriti ei planeerita, hakatakse lihtsalt kohe otsast tegema.

Juhul, kui sa ei ole seni kuulnud midagi „agiilse planeerimise sibulast“ (Agile Planning Onion), siis siin see on:

Agiilne planeerimine koosneb kuuest eri astmest - päris palju, kas pole?

Esimesed kolm (Day, Iteration, Release) tehakse agiilse tiimi poolt, järgmised kaks (Product, Portfolio) on tooteomaniku töölaual ja viimane (Strategy) viiakse läbi juhtkonna tasemel.

Nagu varasemalt jutuks oli, on kõik agiilsed plaanid avatud muutustele ja midagi ei ole kivisse raiutud, aga plaanid on alati olemas. Seega agiilsus tähendab planeerimist, aga mitte jäiga plaani koostamist.

Agiilsuse printsiip nr 2
“Mõistame muutuvaid olusid, isegi kui need ilmnevad arenduse lõppjärgus. Agiilsed meetodid pööravad sellised muutused meie kliendi konkurentsieeliseks.”

5. müüt: agiilses arenduses ei ole dokumentatsiooni

See müüt pärineb ilmselt nelja agiilse väärtuse lause hulgast, mis ütleb: “Me hindame töötavat tarkvara rohkem, kui kõikehõlmavat dokumentatsiooni”.

Agiilne lähenemine ei väärtusta enne projekti kirjutatud kümnete ja sadade lehekülgede pikkust dokumentatsiooni, kus püütakse kogu funktsionaalsus kuni viimase koma ja nupupaigutuseni  paika panna. See ei tähenda, et korralik analüüs ei oleks enne projekti vajalik. Lihtsalt inimeste vahetut suhtlust väärtustatakse rohkem, kui paberil kirjasõna.

Agiilses projektis ei nõua tellija arendustiimilt täht-tähelt detailse lähteülesande dokumendi järgimist nagu vanasti waterfall-projektide korral, selle asemel täpsustatakse detailid enne iga  arendustsükli algust ja kirjutatakse Product Backlogi (mis on oma olemuselt samuti dokumentatsiooni osa). Selline lähenemine annab võimaluse jooksvalt kohaneda uute muudatustega ja luua lõppkokkuvõttes suuremat väärtust.

Dokumentatsioon on agiilses arenduses nagu tavaline tarnitav töö sellises ulatuses ja mahus, nagu tellijaga kokku lepitakse.

Agiilsuse printsiip nr 6: “Kõige tõhusam ja tulemuslikum viis info jagamiseks arendusmeeskonnas on näost näkku vestlus.”

6. müüt: agiilses arenduses ei ole projektil tähtaega ja eelarvet

Seda konkreetset müüti või õigemini hirmu kohtab just äriinimeste hulgas. Näiteks arvatakse, et “Agiilne arendus ei lõppe ju kunagi” või “Agiilse projekti lõplikku hinda on võimatu öelda”.

Kõik minu agiilsed projektid on olnud konkreetse eelarvepiiriga ja veel konkreetsemate tähtaegadega. Võti seisneb selles, et projekti jooksul on tellija tooteomanikul võimalik vabalt otsustada, mida selle raha ja ajaga ära teha ehk skoop ei ole detailideni fikseeritud.

Agiilsetes projektides hinnatakse ALATI eelnevalt arendusmahtu ja keerukust ning selle põhjal teeb tooteomanik otsuse, kas saadava ärilise väärtuse ja teostamise kulu suhe ehk ROI on piisavalt hea, et arendus ära teha.

Agiilsuse printsiip nr 1
“Kõige olulisem on tagada kliendi rahulolu, tarnides talle vajalikku tarkvara võimalikult kiiresti ja tihti.”

 

7. müüt: agiilsus sobib ainult väikestele projektidele või ettevõtetele ja ei skaleeru

Tõsi on see, et agiilsed tiimid on väikesed - kuni 10 inimest. See aga ei tähenda, et see ei sobiks suuremate projektide jaoks, sest sellisel juhul töötavad mitmed agiilsed tiimid koordineeritult sama toote või teenusega.

Samuti ei ole õige väide “Meil on 500 inimesega ettevõtte, agiilsus pole meie jaoks.” Agiilsed organisatsioonid on meie tulevik, aga agiilsust ei saa rakendada korraga tervele suurettevõttele, see on võimatu. Seda tehakse sammhaaval väiksemate projektide kaupa, kuni kogu ärikultuur ja protsessid lähtuvad agiilsest mõtteviisist. See teekond on pikaajaline, aga tulemused on äriliselt väga väärtuslikud.

On olemas konkreetsed agiilsed metoodikad, mille abil agiilsust skaleeritakse, näiteks Scaled Agile Framework (SAFe), Scrum of Scrum (SoS), LeSS jt.

Agiilsuse printsiip nr 8
Agiilse tarkvaraarenduse protsessid soodustavad jätkusuutlikku arendust. See tähendab, et projektiga saab samas tempos jätkata määramata aja jooksul.

8. müüt: Agiilsus on mingi uus ja nišikas asi

Maailma suurimas agiilsuse uuringus “State of Agile Report 2020” on kasutatud üle 40 000 ettevõtte andmeid erinevatest tegevusvaldkondadest. Uuringu põhjal kasutavad 95% ettevõtetest agiilseid meetodeid. Tõsi, samas on vaid 18 protsendil ettevõtetel kõik meeskonnad agiilsed.

Seega on agiilsus väga laialt levinud, aga endiselt on ka arenguruumi - seda just agiilse mõtteviisi täielikul mõistmisel.

Allikas: State of Agile Report 2020

9. müüt: agiilsus on ainult tarkvaraarenduse teema

Tänaseks on agiilsed põhimõtted levinud tarkvaraarendusest palju kaugemale, peamiselt organisatsiooni juhtimise ja toimimise suunda. Tõenäoliselt oled kuulnud termineid “agiilne juhtimine” või “agiilne organisatsioon”.

Enam ei tähenda agiilsus ainult tootearendust, vaid see hõlmab kogu ettevõtte arenguprotsessi, sealhulgas juhtkonna, finants-, personali-, turundus-, IT-  jt osakondade tööd eesmärgiga, et kõik toimiksid ühtselt ja muutustele kohanduvalt, nagu üks suur agiilne organism.

Agiilse transformatsiooni protsessi aitavad ettevõtetes läbi viia agiilsed coach-id, kellel on vähemalt rohkem kui viieaastane kogemus erinevate agiilsete metoodikatega.

Kiire kontroll - kas järgid agiilset mõtteviisi?

See lühike kontrollküsimustik aitab sul analüüsida, kui agiilne sa oled ja on piisavalt üldine, sobides paljude valdkondade jaoks.

  1. Sa eelistad inimestega vahetut suhtlemist pika dokumendi lugemise/kirjutamise asemel
  2. Sa oled valmis muutusteks ja tervitad neid
  3. Sa hindad lihtsust ja ütled “ei” ebavajalikule tööle
  4. Sa eelistad vahetut koostööd äripoole ja arendustiimi vahel
  5. Sa tarnid tarkvara (või muid tulemusi) kiiresti ja tihti, vähemalt korra kuus
  6. Sinu peamisteks edu mõõdikuteks on kliendi rahulolu ja loodud väärtus
  7. Sa otsid pidevalt võimalusi kuidas edasi areneda
  8. Sa töötad iseorganiseeruvas ja multifunktsionaalses tiimis

Kui vastasid enamustele küsimustele “jah”, siis õnnitlen sind! Sulle on agiilne mõtteviis tuttav ja ilmselt kohaned muudatustega märksa kiiremini, kui paljud teised inimesed. See aga loob omakorda suure eelise tänapäevases kiiresti muutuvas maailmas.

Jaga