2024. április 23., kedd

Szubjektív SCRUM történet

Egyre inkáb nevetség tárgyává válik a közösségi médiában a SCRUM és azt hiszem azok akik az utóbbi 10 évben ismerkedtek meg ezzel a dologgal a munkahelyükön valószináleg nem értik hogy hogy rajonghattunk valaha is érte. Gondoltam akkor megírom a történetét röviden.

2008 körül dolgoztam elösször a SCRUM-mal. Akkor éppen egy virtuális világ projekten dolgoztunk, kemény határidő volt, igyekeztünk tartani, de volt pár kihívás. Az egyik legjelentősebb kihívást a projekt vezetése jelentette: minden napra betettek nekünk 4-5 óra meetinget. Minden meetingre meghívtak mindenkit: a designereket, a rendszergazdákat, a szoftverfejlesztőket, a producereket és mindenkinek végig kellett halgatnia minden témát. Mire az ember kikeveredett a meetingekről, utánna már tényleg alig maradt idő a munkára. Vicces kis hack-eket csináltunk a dologból, pl lefoglaltunk egy munkatársammal egymás naptárjában 2 órát meetingre, amikor egymás mellett ültünk és dolgoztunk. Ha valaki jött hogy meeting kezdődne, akkor azt mondtam, hogy "bocsi most van egy meetingem Józsival", és ez teljesen igaz is volt, közben persze dolgoztunk beszélgetés helyett.
De ez félmegoldás és nyilván maradt egy nagy probléma: a projekt vezetője a meetinget tartja munkának és a munkát haszontalan időtöltésnek veszi.

És ekkor jött egy srác Londonból (ez azért fontos mert az volt a CÉG központja és tehát az ő véleménye nagyobb súlyt kapott) és bemutatta a SCRUM metodikát a csapatnak.

  • A SCRUM standup max 15 perces procedúra volt
  • Konkrétan tényleg állva csináltuk végig, nem volt betelefonálás közben email böngészés
  • Csak az kaphatott szót, aki vagy aznap, vagy előző nap tényleg csinált valamit. Ennek a betartására egy studió mikrofon vándorolt kézről kézre és aki úgy próbált beleszólni, hogy nem volt nála a mikrofon, azt úgy tettünk mintha nem hallanánk, vagy szóltunk neki hogy baj lehet az erősítőjével.
    A mikrofont mi kértük, nem nyomta oda senki nekünk ha nem kértük.
  • Mindenki ennyit mondott el: mit csináltam tegnap, mit fogok ma csinálni és mik az akadályok - azaz ma kivel kell együtt megoldani valamit
  • A feladatokra nem vártunk, a feladatokat magunkhoz vettük amikor az előző feladatot befejeztük
  • Egyszerre egy feladat. Csináld amig kész nem lesz.


Ezt az egészet fejlesztők hozták be, fejlesztők csinálták és mind nagyon élveztük, a "nem tudom hogy leszünk kész" érzést a "haladunk" érzés váltotta fel. Kivétel a projektmanagert. Rajta láttam hogy a helyét keresi, ő valószinűleg úgy érezte, valami trónfosztás-szerűség történt, valami proletár-diktatúra.
Nekem viszont szuper élmény volt, és úgy hívták: scrum.

Tekerjünk gyorsan előre 2024-be, nagycéges környezet, és nézzük mit történik egy mai SCRUM daily meetingen:

  • A projekt vezető végigmegy a csapaton és mindenki beszámol arról hogy hol tart a feladatával. Ez egy "report event". Amennyiben koordinációnak nevezzük, akkor gyakran inkáb csak a projekt vezetőjével koordinálunk, nem annyira a csapattal.
  • A feladatokat hozzánk rendelik, nem mi húzzuk be amikor készen vagyunk az előzővel
  • Ennek következtében N darab folyamatban levő feladatom van és zsonglőrködhetek velük.
  • Nem csak hogy nem állunk fel, de többnyire be se megyünk.
  • A projekt iterációk valahogy rémesen hasonlítanak kis vizesésekhez.

Valahogy az egész olyan, mintha még mindig a régi Waterfall process-t csinálnánk, csak most néhány hónapos ciklusokban.


Most gyorsan tekerjünk vissza kb 1700 évet. A kereszténységet a római birodalomban tiltották és a követőit keresztre feszítették, oroszlánokkal etették fel, gályákra küldték vagy eladták rabszolgának. Nem tűnhetett akkor túl penge ötletnek kereszténynek lenni.
Egészen addig, amíg Konstantin császár hatalomra nem jutott, ő ugyanis a birodalom hivatalos vallásává tette a kereszténységet. A birodalom kb 100 millió lakója alighanem vegyes érzelmekkel próbálta megérteni, miről is szól egyáltalán a kereszténység, hogy aki eddig Jupiternek áldozott az most kinek kellene hogy áldozzon, satöbbi. Amennyiben az ókori római vallás és a katolikus kereszténység között valaki valami hasonlóságot vélne felfedezni (ó ne, micsoda eretnek gondolat), akkor valószinűleg azt gyanítaná, hogy hát persze, ugyanarra a kultúrára ráhúzták az új vallást, már hogy ne lenne hasonló.


Na és szerintem valami ilyesmi történt a SCRUM-mal is. Nem az számít, hogy SCRUM-nak vagy minek nevezzük. Ezt valamikor a 2000-es évek elején olyan írták le, akik így szerettek dolgozni, akik nem akartak pöcsölni sok meetingen, csak gyorsan meg akarták beszélni, hogy hol járnak és merre tovább. Aztán ezt a metódust ráhuzták egy olyan kultúrára, ami viszont nem ilyen. Bár a felirat rajta az hogy "SCRUM", de nem tud lazítani, nem sikerült megszabadulnia a waterfall gondolatmenettől, sok project managernek nem sikerült elengednie a dolgozói kezét, nem hiszi el hogy akkor is megcsinálnák a munkát, ha nem lihegne a nyakukba, és tényleg sok dolgozó csak leadja a jelentését a standupon, nem érdekli hogy mivel lehetne még lendíteni (és miért is érdekelje?) Akkor meg mitől lenne más?

2024. február 8., csütörtök

AWS kaland

Van egy érdekes adathalmaz, sajnos 2 TB bz2 tömörítve. Csináltam egy kis programot az elő feldolgozásához. Hát elég kínkeservesre sikerült, rettenetes türelem kellett hozzá hogy az első szeletét a laptopomon feldolgozzam. Lenne igény új IT felszerelésre, csak éppen válság van és másra még nagyobb szükség van.
Gondoltam meghúzom amazon-on. Indítottam egy VM-et, 4 epyc core, 16 GB RAM. A munka tizedével végzett kicsit több mint egy hét alatt, közbe 50 dollárnyi számlát csinált. Tehát a teljes munka nagyjából 500 dolláerba kerülne.

500 dollár az elgondolkodtató, mert az egy használható munka-laptop árának a fele lenne. Szóval akkor elgondolkodtam rajta, hogy vajon hol lenne jobb helyen a pénz. Válság van, ha nem jutna eszembe minden szaros percben.

Akkor milyen egyéb opció van? Csináltam pár éjszaka JMH teszteket a program részeire és találtam is pár dolgot, amit igazán jobban is meg lehet csinálni, tulajdonképpen ezek vitték el az idő túlnyomó részét. Sikerült leküzdenem a feldolgozás idejét 5 napra. Újabb tiz százalékkal közelebb a célhoz, annélkül hogy újabb 50 dolcsiba került volna. Mert most már nem AWS-en folytattam, hanem egy öreg használaton kivüli NUC-on. Lassan odaérek majd hogy raspberry-n fut minden.

Még egy optimalizációt találtam, azzal már a feldolgozás ideje leesett 1 napra a nyomi öreg kis NUC-on. Ezzel már néhány nap alatt befejezem. Az 500 dollárnak majd találok valami más helyet.

Végülis nem olyan rossz egy válság, legalább az ember elkezd végre értelmesen gondolkodni, ahelyett hogy minden problémát a hitelkártyájával intézne el.