2011. szeptember 5.

Könyvismertető: The Agile Samurai

Napjainkban egyre nagyobb teret nyer az agilis (vagy simán angolul hagyva agile) szoftverfejlesztés ezért nem árt többet tudni róla mint az amúgy kiváló angol wikipedia szócikk. A Pragmatic Bookshelf kiadó gondozásában megjelent kötet remekül és érthetően foglalja össze az alapokat. A szerző Jonathan Rasmusson a legendás ThoughtWorks csapatát erősítette sokáig, blogja a The Agile Warrior pedig állandó hivatkozási pont az agilisták körében. Az egyetlen problémám a kötettel az ára (34.95 a papír ill. 22 USD a pdf kiadás ára) amit az egy délután kellemesen elolvasható kategóriában túl magas.


  • Jonathan Rasmusson: The Agile Samurai: How Agile Masters Deliver Great Software
  • a kiadó oldala a könyvhöz
  • The Pragmatic Bookshelf, 2010
  • 280 oldal





Nyilván a marketingesek keze van a dologban hogy a kötet elején mindenkinek ajánlja a szerző a művét (a UX dizájnertől kezdve a programozókon át a projekt menedzserekig) ami rendben is van hiszen átlagos háttérrel és józan paraszti ésszel tényleg érthető a mű, de egy könyvtől ne várjunk csodát! Rasmusson egészséges öniróniával és egyben önismerettel a kötet vége felé (a 248. oldalon pontosabban) fel is hívja a figyelmet erre:


Just understand there is no book—not this one or any other. There is no agile checklist that I or anyone else can give you that will tell you whether you are being agile. It’s a journey, not a destination. You never really get there.

Az agilis fejlesztés célját nagyon egyszerűen fogalmazza meg: "to satisfy the customer through early and continuous delivery of valuable software". Ehhez pedig el kell rugaszkodnunk a hagyományos fejlesztési modelltől. Minden szoftverfejlesztési könyvvel ez a bajom, mi is az a hagyományos modell amit water-fall azaz vízesés néven szoktak emlegetni. Ez ugye annyit tesz hogy először leírjuk a követelményeket, majd megírjuk a szoftvert, teszteljük és átadjuk az ügyfélnek. Kétlem hogy valaha is volt ilyen tankönyvi eset, de ha volt is manapság már biztos ritka ezzel találkozni. Mindenesetre az agilisták ezzel szemben a követelmények megírására kevesebb hangsúlyt fektetnek, helyette az ún user stroty-t használják, ami az ügyfél szemszögéből ragadja meg hogy mit kell tudnia majd a terméknek. Azonban a követelmények mindig változnak, már csak azért is mert az ügyfél menet közben alakítja ki az elképzeléseit is, ezért nagy hangsúlyt kell fektetni a bevonására (customer engagement). Ezzel felvértezve a lehető leghamarabb kell megvalósítani azt amit minimal marketable product set (MPP) névvel illetnek itt (a lean startup posztok olvasóinka megsúgom hogy ez bizony az MVP másik neve). Ennek eléréséhez és majdani tökéletesítésének során gyorsan végig kell szaladni az összes fázison (user story, implementáció, tesztelés).

Kb. a fentieket mutatja be a könyv első két része (Introducing Agile és Agile Project Inception). A harmadik rész (Planning Agile Projects) a projekttervezéssel foglalkozik, miképp méretjük a csapat hatékonyságát, hogyan becsülhetjük meg a szükséges időmennyiséget stb. A hagyományos időalapú tervezéssel szemben az agilis módszer relatív megközelítést ajánl, valamit különbséget tesz aközött hogy a kívánt tulajdonságok elérése a cél vagy pedig egy adott határidő tartása-e. Ami nekem nagyon tetszik hogy itt a lényeg az átláthatóság és az őszinteség. El kell fogadni hogy világ nem olyan mint a tervasztalon, minden változik és ehhez alkalmazkodni kell. Itt értettem meg miért a szamuráj, a zen filozófiából vett párhuzammal el kell ugyanis felejtenünk az érzelmi kötődést a produktum egyes részei iránt. Ha úgy adódik tudni kell kidobni részeket, ha elhagy egy fontos kolléga nem bánkódni kell hanem kezelni a helyzetet, ha nem megy a dolog akkor azt be kell látni. Tutira nem olyan könnyű ez a valóságban mint ahogy le van írva, de tetszik. A harmadik részben gyakorlati tanácsokat olvashatunk arról milyen munkakörnyezetet alakítsunk ki a csoportnak, de ezen inkább azt kell érteni hogyan mutassuk meg mindenkinek egyszerűen mit csinálunk, miért csináljuk, hol tartunk és hova szeretnénk jutni.

Az utolsó részt vártam a legjobban, ez szól ugyanis arról hogyan is lehet alkalmazni ezeket az elveket a gyakorlatban, szoftverfejlesztés (értsd programozás) közben. Azonban rá kellet jönnöm hogy itt ígéri a szerző a legkevesebbet... Ez nem baj, hiszen a könyv mindenkinek szól, nem csak azoknak akik a technikai részletek iránt érdeklődnek. Megismerkedhetünk a unit testing, a refactoring, a test-driven development és a continuous integration fogalmaival, pár szemléletes példát is láthatunk és ami a legjobb azt is láthatjuk hogyan kapcsolódik mindez az egészhez. Ebből a szempontból rendben is van a dolog, sőt azt is elfogadom - ahogy a szerző is írja a rész bevezetőjében - hogy ezek mindegyike egy-egy külön könyv témája is lehetne, de maga a tartalom egy koncentráltabb guglizással simán összeszedhető a netről is...

Végső soron a könyv mellett szól hogy nagyon érthető a nyelvezete, nagyon informatív, jó kritikákat kapott és mivel nem vagyok szakértő engem ez győzött meg arról hogy érdemes elolvasni. Egy hosszabb délután elolvasható és nyerünk vele egy áttekintést - de ahogy a bevezetőben írtam ehhez mérten túl drága.

Nincsenek megjegyzések: