Kartais sukurti pradinę produkto versiją užtrunka 6 mėnesius, o kartais ir metus. Jų palaikymas ir tolimesnė plėtra dažniausiai yra nesustojantis procesas. Ilgą laiką IT projektams buvo ruošiamasi iš anksto ir daug dėmesio skiriama projektavimui bei analizei. Besikeičiant technologijoms bei sparčiai kompiuterizuojant visą aplinką, buvo pastebėta, kad pradėjus kurti (programuoti) sistemą, reikalavimai jau būna pasenę ir nebeaktualūs. Taip pat, kūrimo procese atsiradus pokyčiams, pasikeitus reikalavimams, jų įgyvendinimas tapdavo sudėtingu ir projekto nepavykdavo užbaigti laiku. Siekiant to išvengti, rinkoje atsirado nauja IT projektų kūrimo filosofija vadinama „Agile“, rašoma pranešime žiniasklaidai.
Anot Linos Bisikirskienės, IT įmonės „Cognizant“, verslo analitikės ir technologijų srities mokslų daktarės, „Agile“ manifestas apibrėžia pagrindinius darbo principus kuriant IT projektus. Pagrindinis jų tikslas yra būti lanksčiam, reaguoti į pokyčius ir mažais etapais (dažniausiai dviejų savaičių) parodyti pasiektus rezultatus ir gauti grįžtamąjį ryšį. O daugiausiai naudojama „Scrum“ metodika aprašo kaip „Agile“ principus taikyti kasdieninėje veikloje – kokius susitikimus turėti, kaip formuoti komandą, kaip planuoti produkto vystymą.
Padeda neužstrigti planavime
Taikant „Agile“ principus labai svarbus yra komandos dydis bei sudėtis.
„Agile“ projektuose neturime sudėtingos struktūros, kuomet vienoje komandoje dirba tik analitikai, kitoje tik programuotojai ir t.t. Tikslas yra suburti komandą iš skirtingas roles turinčių kolegų (produkto vadovas, verslo analitikas, programuotojai, testuotojai, dizaineriai ir pan.). O komandos dydis gali svyruoti tarp 5-10 žmonių. Toks dydis yra optimalus, nes visi komandos nariai gali efektyviai įsitraukti į kūrimo procesą ir išnaudoti bendrą susitikimų laiką. Jei darbų yra daugiau, formuojama daugiau komandų ir darbai planuojami taip, kad komandos būtų nepriklausomos. Siekiama, kad komanda dirbtų prie vienos užduoties/funkcionalumo, nes tokiu būtų visi dirba kartu ir gali bendradarbiaudami išspręsti iškilusias problemas“, – pažymi L. Bisikirskienė.
Verslo analitikės nuomone, „Agile“ pasitelkti verta visada – jo tikslas yra neužstrigti planavime, bet kiek įmanoma greičiau išbandyti idėjas kuriant informacinę sistemą. Dažnai naudojami prototipai ieškant sprendimų. Yra sudėtingų sistemų, kurių kūrimui reikia pasiruošimo ir planavimo, pavyzdžiui, elektroninė sveikatos sistema ar oro uostas. Netgi turint sudėtingas sistemas, galima taikyti „Agile“ principus ir patikrinti ar gaunamas rezultatas yra naudingas, ar reikia pokyčių.
„Dažniausiai nesėkmingą „Agile“ principų taikymą lemia ne projekto pobūdis, bet komandos požiūris, ypač jei ilgą laiką buvo naudojami kitokie darbo principai. Tu negali nebūti įsitraukęs. Visi kiekvieną dieną žino, ką veikia kolegos, kokie darbai laukia, visi kartu sprendžia problemas. Kartais gali atrodyti, kad „Agile“ projektai yra skubos projektai, kad viskas daroma greitai ir neapmąstant, bet tai netiesa. Sudėtingų problemų išskaidymas į smulkesnes ir susitelkimas į jų sprendimą, leidžia pasiekti puikių rezultatų. Tikslas yra ne viską daryti greitai, bet eliminuoti veiklas, kurios neneša naudos. Manau, kad visi sutiks, kad susitikimai, kurių metu daug kalbama, bet mažai nusprendžiama, nėra naudingi. Tai kodėl jų nepadarius efektyvesniais?“, – kalba L. Bisikirskienė.
Išnyksta hierarchija
Dar vienas labai svarbus aspektas, kurį atneša ši metodika – tai, kad dirbant remiantis „Agile“ principais, hierarchija šiuose projektuose labai greitai išnyksta.
„Kiekvienas žino savo poziciją ir darbus, bet tuo pačiu, jei komandos nariui reikia pagalbos, pavyzdžiui, nespėjama ištestuoti funkcionalumo, kiti komandos nariai įsitraukia ir dirba kartu. Kitas labai svarbus „Agile“ aspektas, kuris man labai patinka, yra tai, kad komanda nedarys darbų, kurių nesupranta arba kurių poreikis nėra aiškus. Vadinasi, skirs dėmesio ir laiko, kad visiems būtų aišku, kodėl tai yra daroma ir, kokio rezultato siekiama. Dažnai produkto vadovas atsineša idėjas ar problematiškas vietas, o komanda kartu ieško technologinių sprendimu. Tokiu būdu ne tik pasiekiama puiki produkto kokybė, bet užtikrinama, kad komandos nariai jausis motyvuoti, įsitraukę ir vertinami, nepriklausomai nuo to ar jie yra vyresnieji specialistai, ar ką tik prisijungę prie komandos“, – pažymi ekspertė.
Žinoma, nesvarbu, kokius darbo principus pasitelkia organizacija, bet jei jos darbuotojai nėra įsitraukę ir motyvuoti – gerų rezultatų tikėtis nevertėtų.
„Dažnai sakome, kad komanda turi tikėti ir patikėti tuo, ką daro, tuomet jie gali kalnus nuversti ir rasti sprendimus pačiose sudėtingiausiose situacijose. „Agile“ užduoda gaires, kuriomis remiantis galime efektyviau įtraukti komandos narius į projektą. Vis dėlto, svarbiausia, kad idėjos apie komandos narių įsitraukimą nebūtų tik ant popieriaus. Jei vadovas vieną kalba su komanda, o pats paskui pakeičia sprendimus, nes jam taip atrodo teisingiau, tai neprisidės prie geresnių rezultatų – atvirkščiai – juk, jei komandai nesiseka, ją reikia ugdyti, išbandyti nepatogias situacijas, išspręsti sudėtingus uždavinius, kartu rasti sprendimus, o jei už juos viską atlieka kiti, deja, gerų rezultatų perspektyvoje nebus, ir terminas „Agile“ sėkmės neatneš. Bendros vertybės, tokios kaip profesionalumas, atvirumas, bendradarbiavimas, atsakingumas – būtent tai yra raktas į sėkmę“, – akcentuoja pašnekovė.
Kaip neužlipti ant „Agile“ grėblio
Vienas iš „Agile“ privalumų yra tai, jog dirbant prie produkto, darbai skaidomi į smulkesnius – tuomet ir klientas, ir komanda gali fokusuotis į vieną sritį bei nesiblaškyti.
„Bendras planas (angl. roadmap) egzistuoja, tačiau jis nuolatos peržiūrimas. Jis yra ne bausmės priemonė, kad darbai vykdomi ne pagal planą, bet komunikacijos, kad visi žinotų kuria linkme judama. Kaip pavyzdį būtų galima paminėti tarptautinį viešam sektoriui skirtą projektą, kurio pagrindinis tikslas buvo sudėtingų parametrizuotų ataskaitų rengimas. Komandos gebėjimas tinkamai skaidyti darbus, reguliarus rezultatų pristatymas ir dalykinės srities įsisavinimas, užtikrino galimybę komandai pačiai siūlyti sprendimus, formuoti darbus bei užtikrinti projekto tęstinumą. Tiesa, visi mūsų projektai yra atliekami taikant „Agile“ principus. Visų pirma, klientas yra įsitraukęs ir mato projekto eigą kasdien. Tarpiniai rezultatai pristatomi kas dvi savaites ir klientas iškart suteikia grįžtamąjį ryšį. Čia ir būna didžiausia sėkmė, esame turėję ne vieną projektą, kai jo eigoje, klientas pamatęs tarpinius rezultatus pateikia naujų idėjų ir keičia kryptį, o kartais keičia kryptį, nes ne to tikėjosi. Tai sudėtingi procesai, nes niekas nenori pokyčių eigoje. Vis dėlto, kai jie yra ankstyvoje stadijoje, tuomet nuoskauda ir nuostoliai būna gerokai mažesni nei projektui pasibaigus. Vienas iš mūsų pavyzdžių galėtų būti elektroninės prekybos projektas, kuriame dirba keturios komandos iš skirtingų pasaulio šalių siekdamos sukurti mobilią apsipirkimo programėlę. „Agile“ principai padeda komandoms susistyguoti darbus, nepasiklysti tarp prioritetų darbų plane bei įveikti technologinius iššūkius sinchronizuojant procesus bei suvaldant didelius duomenų kiekius. Taigi, kai klientas yra įsitraukęs, reguliariai mato tarpinius rezultatus, jo santykis su komanda yra sveikas, nuoseklus ir įtraukiantis“, – kalba IT įmonės „Cognizant“ verslo analitikė.
Visgi ji pabrėžia, kad labai svarbu kai kuriuos aspektus nusimatyti iš anksto. Pasak technologijų srities mokslų daktarės, tenka girdėti, kad siekiant išpildyti „Agile“ ir „Scrum“ principus, komandos susipyksta, nežino kaip tinkamai elgtis, prasideda ginčai ir baksnojimas pirštais. Jei taip vyksta, ar yra tik užuomazgų, būtina komandai stabtelėti ir susikalibruoti. Gali nutikti taip, kad proceso išpildymas užgožia tikslą ir darbas daromas dėl darbo. Tai vienas iš pagrindinių grėblių, kai komanda galvoja, kad „Agile“ jai netinka.
„Norint būti komanda, neužtenka apie tai kalbėti, reikia ir elgtis kaip komandai. Tai apima tiek darbo principus (profesionalumą, susitarimų žinojimą ir laikymąsi), tiek vertybes (bendradarbiavimą, atvirumą, gebėjimą priimti kritiką, įsitraukimą ir t.t.). „Scrum“ metodikoje yra susitikimas „Retro“, kurio metu komanda išsako kas jiems sekėsi, ką galėtų daryti geriau. Kartu priima sprendimą kuria linkme judės, tokiu būdu visi komandos nariai turi progą būti išgirsti. „Agile“ negali išspręsti įsisenėjusių komandos bėdų, tokių kaip pagarbos trūkumas, diktatoriškumas, jis gali tik jas parodyti. Svarbiausia, nekaltinkime „Agile“, kai komanda yra nelaiminga. Komanda tik savo pastangų pagalba gali pati pajudėti teisinga linkme“, – teigia L. Bisikirskienė.
Dar viena klaida, kuri dažnai ištinka, kai manoma, kad „Agile“ komanda yra tik programuotojai ir testuotojai, o produkto vadovas, verslo analitikas ar techninis projekto vadovas jau nebepriklauso komandai ir gali dirbti pagal savo principus. Dažnai jie būna nesuderinti su „Agile“ filosofija ir komandai žadama laisvė kurti tampa iliuzinė.
Taip pat pasitaiko situacijų, kai komandos kuriami sprendimai nekuria vertės klientui. Taip gali nutikti, kai neaiški verslo problema, klientas nėra įsitraukęs, komanda yra nemotyvuota. Komanda prisidengdama „Agile“, vilkina procesą, daugiau dėmesio skiria susitikimams, bet ne jų rezultatams. Ir gali atrodyti, kad komanda dirba, bet iš tikro link tikslo nejuda. „Agile“ susitikimai (angl. ceremonies) yra įrankis bendradarbiauti, bet ne gaišti laiką ir vilkinti darbus. Šioje situacijoje reikia susitikti su klientu ir kartu spręsti, koks turi būti produktas, kokia jo vizija, tikslai bei sėkmės metrikos.
„Na, o požymiai, kad komanda dirba sėkmingai ir tinkamai taiko „Agile“ filosofiją, yra šie: visa komanda žino kokį produktą kuria ir kodėl, reguliariai pristato tarpinius rezultatus ir su klientu aptaria grįžtamąjį ryšį; komanda auga kartu tiek mokydamasi naujų technologijų, tiek puoselėdama bendras vertybes. Ir nepamirškime svarbiausio dalyko, dėl ko kuriame produktus ir vystome technologijas – tai dėl galutinio vartotojo. Taigi nuolatinis ir greitas produkto pateikimas į rinką yra geriausias sėkmės garantas išlikti konkurencingiems bei išpildyti vartotojų poreikius“, – apibendrina ekspertė.