2010. január 21-22-én ScrumMaster tréningen vettem részt. A tréninget Michael Vizdos tartotta, akitől megtudtuk, hogy az Agilis kiáltvány eredeti aláíróinak mindegyikével dolgozott már. Évek óta alkalmazza a Scrum-ot, az ő tréneri felkészítését Jeff Sutherland végezte, aki a Scrum kitalálója.
Résztvevők, helyszín, szervezők
A tréninget Kóspallagon, a Szent Orbán Hotelben tartották. Pontosabban Kóspallag közelében, ugyanis a hotel nem is lakott területen belül található, hanem a Duna-Ipoly nemzeti park erdejének egy olyan részén, ahová elvileg csak az erdészek és a hotel lakói hajthatnak be.
A tréninget az Agilis Szoftverfejlesztők Egyesületéből megismert Zsuffa Zsolt IT Kódex nevű cége szervezte. A tréning kb. 1000 EUR volt (+ szállás).
Összesen 12 résztvevő jött el, ebből ketten voltunk, akiknek már volt tapasztalata a Scrum-mal. A többség a Scrum körüli hype következtében jött el abban a reményben, hogy a tréning után forradalmi változásokat fog tudni elérni saját cégénél és ügyfeleinél.
Mike amerikai, ezért az egész tréning (jórészt) angolul ment. Nem mondom, hogy nem voltak kisebb nyelvi problémák, de azért az egész hallgatói csapat jól alkalmazkodott ehhez a kényszerhez, és egy interaktív tréning valósulhatott meg. (Felüdülésképpen a tréningen néha egy-egy részt – magyarul – a Sprint Consulting cég vezetője, Bodó Árpád Zsolt is tartott.)
Az első nap
Mike rövid bemutatkozása után nekünk kellett a mellettünk ülőt bemutatni: hogy hívják, milyen cégtől jött, és milyen céllal jött el a tréningre. Én egyike voltam azon keveseknek, aki egyedül érkezett, úgyhogy rögtön össze is ismerkedtem a mellettem ülővel.
Az én érdeklődésem középpontjában az állt, hogy két év Scrum után rendszerezhessem saját ismereteimet. Mindenki egy kicsit a saját íze szerint értelmezi a Scrum-ot, ez alól én sem voltam kivétel. Kíváncsi voltam, mik azok, amik “rárakódtak” nálam az eredeti módszerre, és mi is valójában a vegytiszta Scrum.
Az első nap első fele nem is a Scrum-ról szólt, hanem általában az agilitásról. Úgy gondolom, hogy ez egy kiváló ötlet, hiszen a Scrum lényege nem is a módszereinek összességében rejlik, hanem magának az agilitásnak a gyökereiben keresendő. A résztvevők kicsit kiszakadhattak a követelményelemzés – tervezés – implementálás – tesztelés vízesés modelljéből. Volt pl. egy olyan feladat, ahol Mike-ot, egy képzeletbeli IT vállalat vezetőjét kellett meggyőzni arról, hogy a 3 hónapos késésben lévő szoftverfejlesztési projektet, amely épp a követelményfelmérési fázison esett túl, át kell állítani agilis projektre Elég jól játszotta a szerepét, nem is sikerült (“Dehát itt vannak a dokumentációk! – és rámutatott egy tonna dokumentációra. – Ezt kell megcsinálni. Minden egyformán fontos és kritikus!”)
Szó esett a projektmenedzsment bűvös háromszögéről, amelynek lényege, hogy egy projekt kényszerei a határidő, a szkóp és a költségek. Ha ezek mind fixek, ne is vergődjünk az agilitással.
Volt egy jó kis játék. 12-en voltunk, ebből 6-nak főnököt, 6-nak beosztottat kellett játszania. Egy pár négyzetméteres részbe voltunk összeterelve, a főnökök a terület szélén álltak, a beosztottak valahol középen. Minden főnöknek a saját beosztottját kellett irányítania az előre, jobbra, balra parancsokkal úgy, hogy a beosztott mihamarabb megtegyen 60 lépést. Elég döcögősen ment a dolog, mert a beosztottak állandóan összeütköztek, és a főnökök nem voltak képesek elég hatékonyan irányítani őket. Ezzel szemben, amikor a játék második részében kizártuk a főnököket, és mindenki beosztott lett, és saját maga döntött, merre haladjon, elég hamar kialakult egy kör, ami mentén a teljes csapat együtt haladt egy irányban. A játék az önszerveződést szemléltette, ami az agilitásnak, ezen belül a Scrum-nak is az alapja. (A játék még tovább nehezedett. Lettek vakok a csapatban (ők jelentették a juniorokat), ill. időnként Mike is beállt középre, hogy akadályt képezzen.)
A lean is említésre került. Mintha egy kis élcet éreztem volna Mike hangjában: “a lean-esek általában elméletiesek”. (Jól érzem, hogy az agilisok és lean-esek titkon egymásnak estek a világban?)
A nap második fele már a Scrum-ról szólt. Megismerhettük a teljes életciklust, a főbb fogalmakat és a ScrumMaster szerepét.
A nap végén egy képzeletbeli történetet adott elő Mike. Te egy kiszolgáló vagy egy Mekiben. Este 11:55 perc van, éjfélkor zárás. Nincs vásárló, de valaki mégis betér az üzletbe, és kér egy BigMac menüt, Super Size menüben, egy ketchupot és egy fagyit. Az egész 2000 forintba kerül. Miközben fizetne az illető, kiderül, hogy csak 500 forint van nála. A főnök arra utasított korábban, hogy senki nem mehet el úgy, hogy ne vásároljon valamit. A vásárló viszont a teljes megrendelést akarja. Mit teszel? A megoldás az, hogy nincs megoldás. A történet tanulsága, hogy ne vállaljuk be a projekteket, ha reménytelen, annak ellenére sem, hogy a főnökeink, tulajdonosaink azt akarják. (Azért valljuk be, alkamazottként ezt kicsit nehéz megtenni. Mindenesetre tiltakozhatunk.)
A második nap
Tovább tisztázódtak a felelősségek a Scrum-on belül, miért felelős a csapat, miért felelős a Scrummaster és miért a Product Owner. Rengeteg szimulációs játékot és gyakorlatot tartottunk.
Volt pl. egy játék, ahol sprinttervezéseket és sprinteket kellett tartani. Mindezt rövid idő alatt (pl. 6-7 perc jutott egy-egy tervezésre, ill. sprintre). Nagyon érdekesek voltak a teljesítendő sztorik, mert abszolut nem a szoftverfejlesztéshez kötődtek. Például ilyen és ehhez hasonló sztorik szerepeltek a product backlog-ban:
- 10 papírhajó hajtogatása,
- négyemeletes ház építése kártyából,
- dobjunk annyiszor két kockával, hogy végül három alkalommal legyen párunk,
- megtalálni egy kártyapakliban a hiányzó kártyát,
- rajzoljunk Miki egeret,
- stb.
Több tanulsága is volt a játéknak:
- a szoftverfejlesztés során se tudjuk megmondani, hogy az egyes feladatok mennyi ráfordítást igényelnek, de egymáshoz képest viszonylag jól tudjuk viszonyítani őket (relatív pontozás),
- ahogy telnek a sprintek, a csapat összeszokik, és hatékonyabban végzi el a munkát (tervezés, végrehajtás),
- mivel egyszer váratlanul felcseréltek csapatok között csapattagokat, ezért egy pillanatra a csapatok teljesítménye megtorpant (nem érdemes/szabad ezt csinálni a gyakorlatban),
- product owner-eket is kicserélték egyszer: ekkor is összeomlott a csapat, mert a korábbihoz volt hozzászokva, és mert az új product owner sem ismerte még az új csapatot.
Tanulságok
A tréningen elég sok közös feladatot kellett csinálnunk. Egy csapatépítővel is felért ez a két nap Ez mindenképpen jót tett a hangulatnak, és egy kicsit mindenki megnyílhatott.
Látszik, hogy Mike nem kezdő a szakmában. Elég sok blogot olvasok az agilitásról, Scrum-ról, a kritikus énem minden nem odaillő szóra felfigyel. Mike esetében nem érzékeltem ehhez hasonlót, ennek egy példája pl., hogy a Scrum-ot soha nem hívta módszertannak a kétnapos tréning során, helyette a keretrendszer (framework) szót alkalmazta.
Azt is megemlítette, hogy valószínűleg a legtöbben nem fogják alkalmazni a Scrum-ot, vagy bele buknak. A Scrum nem alkalmazható a megfelelő szoftverfejlesztési (elsősorban eXtreme Programming) technikák nélkül sem.
Sok minden átjött az ilyen kis apróságokban is, ha az ember figyelt. Valószínűleg a hallgatóság zöme ezt nem is érzékelte.
A magam részéről úgy gondolom, megérte elmenni. (Igaz, a munkáltatóm fizette a részvételi díjat.) Megismerhettem, hogy pontosan mik a Scrum-beli szereplők elvi felelősségei (mi, ugye, a saját környezetünkhöz adaptáltuk), és láthattam, hogy egyes dolgokban (pl. mi szerepeljen a product backlog-ban, milyen hosszú legyen egy sprint stb.) hogyan vélekednek mások. Az is kiderült számomra következményként, hogy a Scrum-on belül is vannak “ellentmondások”, egy kicsit mindenki a saját szája íze szerint értelmezi a szabályokat. Végülis a Scrum tényleg egy keretrendszer, mindenkinek magának kell testreszabnia azt (a projektre, ügyfélre, vállalatra, csapatra).
Az ehhez hasonló tréningeket végülis a nemzetközi ScrumAlliance szervezet intézi. Mint megtudtuk, mindenki, aki a kétnapos tréningen részt vett, egy teszt kitöltése után – az eredménytől függetlenül – automatikusan megkapja a Certified Scrummaster jogosítványt. Ennek tanulsága számomra az, hogy ne higgyünk feltétlenül annak, aki egy ilyen papírt lobogtat. (Azért ha megkapom a tanúsítványt, én is kirakom a logót a blogomra :D)
Kemény pénzekért, valós tapasztalatokért további minősítések érhetőek el a ScrumAlliance-nál. (Egy év tapasztalat után elvileg már pályázható a Certified Scrum Practitioner cím, ha korábban résztvettünk egy Certified ScrumMaster vagy Certified Product Owner tréningen.)
Sokat lehet elmélkedni a Scrum-ról, agilitásról. Nem baj, ha ilyen tanfolyamon veszünk részt. Megfelelő irodalmat és blogokat is olvasnunk kell. Sokkal fontosabb azonban annak a felismerése, hogy ezen eszközök csupán támogatást nyújtanak, eredményeket csak akkor érhetünk el, ha saját magunk próbálkozunk, és élesben nézzük meg, valójában mire is vagyunk képesek.
Próbálkozz – figyelj – tanulj!
[Update, 2010. 03. 21.] Többszöri érdeklődés ellenére is a tréning után két hónappal kaptam meg az igazolást, hogy Certified Scrummaster lettem. Ld. a vizsga részleteiről szóló írásomat.