2014. november 30., vasárnap

Agile - Sikerre ítélve?

(A felhasznált rajz Angelina Benedetti munkája.)
"A lehető legrosszabb helyen, a lehető legrosszabbkor éltek. Nem csoda, ha hőssé lettek." - Leia Organa, Alderaan szenátora 











Azt ígértem az előző posztban, írok pár gondolatot azokról a körülményekről, amelyek az AGILE sikeréhez nagy mértékben hozzájárultak.

Az AGILE születésében nagyon fontos komponens, hogy az egész iparág olyan súlyos kihívások előtt állt a 90-es évek végére, amelybe több ponton is beleroppanni látszott.     Ennek oka egyrészt a számítástechnikai vívmányok tömegcikké válása, másrészt az internet és a telekommunikáció robbanásszerű elterjedése és fejlődése volt.
Számos ebből az időből származó tanulmány rámutat az iparág egyes konkrét szegmenseinek sikertelenségére, a legismertebb ilyen talán a Chaos Reports.

Ezek a kudarcok pontosan olyan tévhitek tarthatatlanságát  hozták a felszínre, amelyekkel hamarosan az AGILE is leszámolni készült. Egyre többen beszéltek nyíltan a Waterfall, és a hagyományos menedzsment módszerek problémáiról. A hagyámányos nagyvállalati összetett modellek a végtelen túlgondoltságuk és túlszabályozottságuk ellenére - vagy talán éppen ezért - számos sebtől véreztek/véreznek. Mindebben talán csak az egyik tényező a módszertan, a másik a szereplők hozzállása és az elkötelezettségük mértéke lehet.

De nem csak a módszertanokkal volt probléma, hanem magával a programozással és az ezt alakító nagy szereplőkkel is. Egyáltalán nem véletlen hogy a SUN felemelkedése a Java-val is erre az időszakra esik. Gondoljunk arra is, milyen általános megítélésnek “örvendett” ezekben az időkben például a Microsoft vagy a más hasonló nagy nevek az iparágban, amelyekkel szemben a Linux-világ és a szabad-szoftver, illetve a programozásban az open-source mozgalom zászlót bontott. 
Vagy ott vannak a szintén ez idő tájt kibontakozó digitális szabadságjogokért/szabatosságért (a kettőt gyakran nem is olyan egyszerű elhatárolni egymástól) síkra szálló mozgalmak, amelyeket az időszakban talán a Napster testesít meg leginkább, azaz a peer-to-peer feltalálása (tudod, így működik a torrented ;-)).
Nem az AGILE volt tehát az egyetlen mozgalom amely a kihívásokra próbált választ adni, és nagyon sokukról érdemes lenne megemlékezni, a hatásukat számba venni, sok érdekes poszt kijöhetne egy efféle visszatekintésből. De az igazat megvallva egyik sem tudhat magáénak olyan komoly, az élet számtalan területére átgyűrűző hatást, mint amit az AGILE gyakorolt a szoftverfejlesztésre, és gyakorol ezen keresztül napjainkban sok minden másra is.
Ebben az időszakban a szegmens szűkebb területén, tehát a fejlesztésen belül is fokozódó igény ébredt a problémák forrásának azonosítására, a tévesnek bizonyult dogmákkal való leszámolásra és a paradigmaváltásra. Az AGILE pedig éppen valami ilyesmire vállalkozott.

Könnyen le lehetne vonni mindebből a téves következtetést, hogy a mozgalom eleve sikerre volt ítélve. Jó helyen született (a hatalmas fejlődés kapujába lépő szoftveripar), jó időben (amikor már nyilvánvalóak voltak az iparág egén sokasodó sötét fellegek). Avagy más megközelítésben rossz helyen, rossz időben. Mikor az összeomlás és a kudarc kódolva van a körülményekbe. Az ilyen helyzetből való sikeres kilábalást pedig csak a valódi forradalom biztosíthatja. Forradalom a fejekben, majd a valóságban, melynek élére állnak és tevékeny alkotói lesznek a rossz helyen és időben születettek.
Ezzel szemben az igazság az, hogy a dolog korántsem ilyen egyszerű. A sikernek nem a mozgalom fogantatása idején az iparágat sújtó negatív körülmények, problémák a legfontosabb összetevői. Nem a külső tényezők, hanem valami egészen más, belső, az AGILE-re magára jellemző attribútumok összessége. Olyan pozitív és reményt keltő elemek egymást erősítő hatása, amelyek indokolják majd a nyitó idézet ellentétes értelmű parafrázisát. De minderről a következő posztban...

2014. november 26., szerda

CodeNinja ComeBack?


Volt egy remek öreg magyartanárom  gimiben, Isten nyugosztalja... Borzalmasan raccsolt, de tényleg! Én kismiska vagyok hozzá képest. Bejött első órára és így indított: "Vépa, vetek, mogyovó, kován veggel vitkán vikkant a vigó... Ennyit evvől!"
Mindez csak arról jutott eszembe, hogy nem gondoltam magyarázkodni a kimaradt 2 év miatt. Maradjunk annyiban, hogy elég sűrű 2 év volt. És akkor ennyit erről!

Nem tudom még, hogy mi lesz a folytatás, de az biztos, hogy szeretnék írni pár dolgot az agile-ről például. Ami nem lesz talán annyira brutálisan nyers, száraz, technikai jellegű téma, mint az eddigiek, (meg a meg nem írt posztok lettek volna) és talán szélesebb körben is számot tarthat érdeklődésre.
Tehát agile. Tudjátok, ez az a fura mozgalom, ami a programozásból indult, és ami többek közt eretnek módon azt állítja, hogy dolgozni jó, a munkád lehet örömforrás, sőt akár a hobbid is (meg persze még nagyon sok mindent ezeken túl). Az agile pár év alatt olyan sikert ért el, hogy alapjaiban formálta át a szoftverfejlesztést. Sőt, mindaz a szellemiség, filozófia ami az egész mögött van szépen begyűrűzött más kreatív iparágakba is, de nem csak a filozófia, hanem az olyan mögöttes módszertanok adaptációjára is vannak sikeres példák, mint amilyen a Scrum.

Hogy miért akarok minderről írni? Túl azon persze, hogy ma megint úgy gondolom  (na jó, Borcsa meggyőzött), hogy érdemes ezt az egész blogolás dolgot csinálni. Nos, mert több döbbenetes élményem is volt mostanában a témával kapcsolatban. Arra gondolok, hogy bő 13 évvel az Agilis-kiáltvány, megszületése után micsoda hitetlenkedés, meg nem értés, és esztelen, zsigeri ellenállás tudja ezt az egészet körülvenni még ma is. Annak ellenére, hogy a mozgalom a 2000-es évek közepére/végére letarolta az egész világot, és -mint mondtam- alapjaiban alakította át az egész iparágat. Így, múlt időben.

Én magam 2010 körül figyeltem fel erre a jelenségre, próbáltam most visszakeresni, mikortól foglalkozom ezzel, és egy 2011 januári előadásomban már egyértelműen az agile körüli gondolatok a sorvezetők. Egyértelműen azért kezdtem el érdeklődni iránta, mert nem lehetett nem észre venni, ahogy egyre gyakrabban bukkan fel a legkülönfélébb szakmai fórumokon. De volt még egy momentum, ami felkeltette a figyelmem: a szereplők elkötelezettsége és mély hite ebben az egészben egyértelművé tette, hogy valami nem mindennapi dologgal állunk szemben. A téma legkomolyabb hazai (de nem csak Magyarországon ismert) tanácsadó cégét 2008-ban alapították. Mindezzel csak azt akarom mondani, hogy minimum fél évtizede itt van már köztünk az agile, győztes és bizonyított eszmeiségként, és erre bizony figyelnünk kell!
Talán kicsit nyers lesz, amit ide írok, de attól még igaz: egy magára valamit is adó iparági szereplőnek (legyen az programozó, tervező, szervező, teszter, menedzser, stb.) ismernie kellene azoknak a dolgoknak, elveknek legalább egy részét, amelyek besorolhatók ebbe a nagy gondolatkörbe, amit az agile szóval szoktunk összefoglalni. Ez az egész annyira sikeres és kipróbáltan működőképes, hogy nem lehet keresztülnézni rajta, átlépni és figyelmen kívül hagyni.
Az agile mint mozgalom, bizony nem szorul védelemre, bizonyított, és tarolt. De akkor mégis miért az ellenállás, a meg nem értés, amivel olyan gyakran meg kell küzdenünk? És ami engem is időről-időre arra késztet, hogy beszéljek róla, próbáljam felhívni mások figyelmét, hogy az életüket megváltoztató csodára lelhetnek, csak a kezüket kell kinyújtaniuk érte. Hogy ennek az ellenállásnak a természetéről megérthessünk valamit, előbb majd tisztáznunk kell, hogy mi is az agile.
Először is az agile nem egy módszertan. Nem egy recept, de még csak nem is receptek gyűjteménye, amelyek bemagolása automatikusan utat mutat nekünk, hogyan végezzük a munkánkat.

De mi tehát az agile, a mozgalmon túl? Elsősorban egy szemléletmód, egy attitűd. És talán nem fejezi ki semmi jobban ezt az attitűdöt, mint maga a szó: agilis. Aki agilis, az a munkájában proaktív. Tehát felelősséget vállal, tudatos, előregondolkodó és automatikus (önjáró: nem azért írsz commentet a commitba, nem azért tartod a konvenciókat, használod tudatosan a mintákat, mert kell, vagy mert bárki ellenőrzi, hogy megtetted-e, hanem mert tudod, hogy így helyes).
A mozgalom szó nagyszerűen leírja, hogy miről van szó. Olyan emberek, akik ténylegesen és tevékenyen ezzel foglalkoztak (szoftverek fejlesztése), elkezdtek gondolkodni azon, hogy mi is az, amit rosszul csinálunk, és hogyan lehetne jól csinálni mindezt. Nem gondolták, hogy van egyetlen általános, üdvözítő út. Tudták ellenben, hogy az ördög a részletekben lakik, és az adott környezetre jellemző sajátosságok nagymértékben meghatározzák az alkalmazott módszerek és gyakorlatok hasznosságát és helyességét. Tudták, hogy nem lehet csak úgy megmondani a "tutit": a tökéletességet elérni lehetetlen, de törekedni rá - minduntalan a jobbá válás lehetőségeit firtatni - nemes küldetés és emberi kötelesség. Ugyanígy tisztában voltak azzal, is, hogy nyilvánvalóan vannak bizonyos alapvetések is, amelyeket nem lehet figyelmen kívül hagyni, de mindenek előtt az iparágban bizony vannak általánosan elterjedt és hamisnak bizonyult tévhitek, "rossz gyakorlatok". Az ezekkel való leszámolás nem odázható el, még akkor sem, ha ez alapvető szemléletváltást is igényel, és átrendezi a hangsúlyokat, nem kímélve a hagyományos szerepköröket, és azok rangját/státuszát sem.
Minden az agilis-kiáltvánnyal kezdődött tehát, ezért ezt a linket mindenképp kövesse minden olvasó, és gondolkodjon el pár percre azon, amit odaírva lát. Aki pedig úgy gondolná, hogy e nélkül is lehet erről beszélgetni, annak iderakom csak azért is:

Mindenki, akit megfog a kiáltvány a maga nyers tömörségében, találhat irodalmat, ami magyarázza azt, bátran rá lehet guglizni. Mindenképp vegyük észre, hogy az egyént emeli ki. A szereplők közt zajló kommunikáció, valamint a működő produktum fontosságát hangsúlyozza. Az együttműködést és a változás iránti készséget azonosítja fő értékekként.

Minderre még visszakanyarodom majd, ígérem, de előtte szeretnék pár gondolatot leírni arról, mi is vezetett az agile mint mozgalom átütő sikeréhez. De bemelegítésnek talán ennyi is elég lesz...