„Aš girdėjau apie Agile/Scrum. Aš galvoju jog tai tikrai tiktų mano komandai/įmonei. Aš noriu tai daryti. Tačiau nuo ko pradėti? Kaip parduoti Agile/Scrum kolegoms, vadovybei?” – klausimai kurie kyla turbūt ne vienam iš jūsų.
Rolė kompanijoje
Kaip pradėti Agile/Scrum įgyvendinimą priklauso nuo tavo rolės ir įtakos kompanijoje. Šiame straipsnyje siūlau naudoti šias tris roles. Jei kažkuris iš jūsų „netelpat” tiksliai į vieną iš jų, pabandykit įsivaizduoti arčiausiai kurios esate.
Komandos narys: programuotojas, testuotojas, analitikas, architektas, tech. lyderis ar kitą rolę komandoje užimantis darbuotojas.
Projektų vadovas: darbuotojas atsakingas už tam tikrus projektus, vadovaujantis grupei kitų žmonių tuos projektus įvykdyti.
Skyriaus vadovas: darbuotojas atsakingas už viso skyriaus ar kompanijos valdymą.
Pasiruošimas
Be abejo, norint pradėti pokytį, reikia suvokti kodėl jį darome, ko siekiame ir ką visgi keisime. Taigi čia standartiškai: skaitom knygas, blogus, puslapius; žiūrim video pristatymus internetu (kurių tikrai vyksta nemažai nemokamų); pagal galimybes dalyvaujame renginiuose. Norėčiau pastebėti, kad didžiausia dalyvavimo renginiuose vertė yra ne tik ta kad išgirsti kitų patirtį, bet kad sutinki daugybę žmonių kurie turi panašių klausimų/iššūkių ir kad turi galimybę kartu su jais surasti atsakymus, pasidalinti patirtimi. Šiek tiek nuorodų į knygas ir interneto resursus galite rasti mano įraše/prezentacijoje: Scrum: Kas tai? (skaidrės 40-43).
Jei jūs esate projektų ar skyriaus vadovas ir valdote arba turite įtakos finansams, siūlyčiau nuvažiuoti į Scrum meistrų mokymus (http://www.scrumalliance.org/pages/CSM). Jokia knyga ar blogas nepakeis gyvo bendravimo ir žinių kiekio kurį galima gauti iš šių mokymų. Be abejo, visada yra labai naudinga pasikviesti konsultantą kuris padėtų susiplanuoti ir vykdyti Agile/Scrum įgyvendinimą. Tačiau nežinau ar Lietuvoje yra daug žmonių su tokia patirtimi. Nereikėtų pamiršti ir konsultacinių kompanijų, kurios gali padėti suvaldyti pokytį kompanijoje iš organizacinės pusės, bet čia jau jums nuspręsti kiek lėšų galite skirti.
Pasiruošimo fazės rezultatas turėtų būti tapimas Agile/Scrum pionieriumi. T.y. žmogumi, kuris bus pokyčio vedlys, kurio visi klausinės kai kažkas bus neaišku. Reikia susitaikyti, kad jis nebūtinai turi turėti atsakymus į visus klausimus (iš tikrųjų tai neįmanoma), bet jis turėtų žinoti kur ir kaip tų atsakymų ieškoti. Svarbiausia – neleiskite kad ši fazė užtruktų ilgai! Nereikia VISKO suprasti/žinoti. Reikia tiesiog suprasti esmę, o detalės paaiškės pakeliui!
Pradžia
Pradžios fazė skiriasi priklausomai nuo to kokia jūsų rolė, tad panagrinėkime jas atskirai.
Jeigu jūs esate komandos narys, tiesiog suburkite apie save komandą, paaiškinkite ką sužinojote, kodėl manot Agile/Scrum jūsų komandai būtų naudinga. Koncentruokitės į tai, kuo Agile/Scrum gali padėti jums kiekvienam atlikti savo darbą geriau. Jokiu būdu nebandykite parduoti Agile/Scrum vadovams prižadėdami jiems, kad naujas procesas išspręs visas problemas. Iš tikrųjų, geriausia jiems iš viso neaiškinti kas yra Agile/Scrum. Pradžiai, užtektų su jais susitarti kad užduotis komandai paduotų pagal prioretizuotą sąrašą ir leistų pabaigti tai ką pradėjote. Taip, pradžiai pilnai užtektų šių dviejų taisyklių, dėl kurių įtikinti vadovus tikrai neturėtų būti sudėtinga. Tada tiesiog nutarkite kas jūsų komandoje bus Scrum meistras, o kas produkto šeimininkas, apsibrėžkite savo sprinto trukmę ir ką jums reiškia „pabaigtas” kriterijus (prisimenat, tai pilnai įgyvendintas funkcionalumas, ne tik kodas ar dokumentas) ir pirmyn!
Jeigu jūs esate projektų vadovas, situacija truputėlį kita. Tai reiškia, jog jūs turite pakankamai įtakos sukurti tikras tarpfunkcines komandas, nustatyti projektams bendrus sprintų ilgius ir „pabaigtas” apibrėžimus. Aišku, pradėti reikėtų nuo mokymų/seminarų. Reikėtų nepagailėti laiko diskusijoms, leisti žmonėms suvokti KODĖL mes darome šį pokytį, KO siekiame ir svarbiausia, KAIP tai pakeis kiekvieno iš jų darbo dieną, atsakomybes, darbus. Kaip rašiau straipsnyje Kokių darbuotojų tikisi judrios (agile) kompanijos, žmonės turi suprasti ir norėti dirbti pagal agile principus. Reikia suprasti, jog kai kuriems tai bus visiškai nepriimtina ir netinkama, tad reikia gerai pagalvoti ar bus įmanoma tokius žmones iškelti iš projektų vykdomų pagal agile principus. Kaip rodo patirtis, turėti žmones komandoje kurie nepritaria, nenori dirbti pagal pasirinktą procesą yra blogiau negu jų neturėti komandoje. Tad reikia pasiruošti kaip elgtis tokioje situacijoje. Taip pat siūlyčiau pasirūpinti kad komandos nariai sėdėtų (kiek įmanoma) kartu/arčiau vienas kito (viename kabinete, kabinetuose šalia ir pan.). Ypač, jeigu pvz. analitikai ar testuotojai sėdėdavo atskirai nuo programuotojų. Būtina VISAI komandai sėsti kartu, nes produktyvumas ir komandinė dvasia nuo to kyla labai stipriai. Taigi projektų vadovui planas toks: apmokyti žmones, suformuoti komandas, sutarti dėl taisyklių, susėsti kartu ir pradėti!
Na, o jei jūs esate skyriaus vadovas, pirmiausiai turite apsispręsti kokį Agile/Scrum įgyvendinimo kelią pasirinksite. Arba renkatės pilotinio projekto modelį arba „viskas iš karto”modelį, kai visa kompanija pradeda dirbti pagal naują procesą iš karto. Abu pasirinkimai turi ir privalumų ir trūkumų, tačiau tai atskira tema. Jei pasirinksite pilotinio projekto modelį, siūlyčiau sekti projektų vadovui aukščiau aprašytu procesu. Jei pasirinksite „viskas iš karto” modelį, tada papildomai reikia suformuoti bendrą kompanijos (produkto) užduočių sąrašą. Tai gali būti nelengvas uždavinys, nes reikės labai aiškiai ir vizualiai sudėlioti savo projektų portfelį (project portfolio) ir visus projektus prioretizuoti pagal vertę kompanijai. Taip pat reikia susitarti dėl infrastruktūros, nes jei turėsite sinchronizuotus tarp komandų sprintų planavimo/peržiūros/retrospektyvų susirinkimus, gali neužtekti susirinkimų kambarių, projektorių ir pan. Paskutinis dalykas į kurį reikia atkreipti dėmesį yra žmonių vertinimas ir premijavimą (jei toks kompanijoje egzistuoja). Agile/Scrum vertina komandos pasiekimus, komandos greitį, komandos rezultatų kokybę. Jeigu vertinimo sistema istoriškai koncentravosi į individo pasiekimus, tai dabar ji nebetiks. Reikės ją keisti ir labai aiškiai žmonėms išaiškinti pagal ką jie bus kompanijoje vertinami.
Įgyvendinimas
Kaip jau minėjau aukščiau, sunkiausia yra pradėti. Pradėjus dirbti sprintais kils nauji klausimai, nauji iššūkiai, problemos. Jų nereikia išsigąsti. Supraskite, kad jie visada buvo jūsų kompanijoje, tiesiog kiti procesai leisdavo jiems pasislėpti ir juos ignoruoti. Taigi susikoncentruokite į retrospektyvų susirinkimus po kiekvieno sprinto, atvirai diskutuokite kas sekasi, kas nesiseka, ką galėtumėte daryti kitaip. Nebijokite bandyti naujų dalykų ir nuolat keistis. Pagrindinis Agile/Scrum principas yra tas, kad tai empirinis procesas. T.y. jūs turite nuolat stebėti kaip jums sekasi ir nuolat tobulinti procesą. Svarbiausia, neleiskite seniems įpročiams vėl patyliukais grįžti, nedarykite „Scrum bet”. Jei nusprendėte įgyvendinti Scrum, laikykitės VISŲ reikalaujamų taisyklių, jos tikrai yra tik kelios. Kai tik leisite sau nusižengti vienai, net nepajusite kaip ir kita bus užmiršta.
Ir pabaigai, priminimas neužmiršti toliau domėtis Agile/Scrum, skaityti naujas knygas, blogus, ieškoti atsakymų į iškylančius klausimus, dalyvauti renginiuose, susitikti ir diskutuoti su kitais kolegomis bandančiais šiuos procesus. Juk galų gale, tai nuolatinio tobulėjimo procesas!
Sėkmės!
Comments