Select Page

Kanban vagy Scrum?

by | Oct 23, 2014

VILLÁSKULCS, VAGY CSAVARHÚZÓ?

Ha egy autószerelőnek feltennénk ezt a kérdést, akkor elég furcsán nézne ránk. Mindkét szerszám egy eszköz, amelyikhez akkor nyúl amikor az adott probléma megoldása ezt kívánja. Az autószerelő autókat javít, az IT szervezet szoftvert fejleszt és üzemeltet. Mindkét szakma egy sor eszközt használ a feladatai ellátásához. Ezek az eszközök néha bonyolultabbak, néha egészen egyszerűek. A hidraulikus gépjármű emelő sokkal bonyolultabb eszköz mint a csavarhúzó, és valószínű hogy egy ilyen emelő bevezetése nagyobb hatékonyságnövekedést eredményez, mint egy új csavarhúzó beszerzése. Én így tekintek a Scrum, a Kanban, az XP, a Lean, a BABOK, PMBOK és még sorolhatnám módszertani eszközökre is. Ha egy IT szervezetet vezetünk, akkor a legjobb, ha mindegyiket ismerjük. Ebben a cikkben a címnek megfelelően csak a Scrum és a Kanban elemeiről beszélünk.

SCRUM: A CSAPATÉPÍTŐ

A Scrum ereje nem a jól definiált folyamataiban, hanem a csapatszellemben rejlik. Minden egyes Scrum szabály az önálló, problémamegoldó csapat kialakítását szolgálja. Ezeket a szabályokat a Scrum Guide tartalmazza, amely bárki számára elérhető.

A Scrum szabályainak betartása több feltételt is megteremt, amik a motivált, erős csapatok kialakításához vezetnek.

  1. Függetlenség. A Scrum csapat tagjai vegyes szakmai hátterű emberek, azaz minden fontos szakterületet képvisel valaki a csapatban. Ezt nevezzük kereszt-funkcionális összetételnek. A kereszt-funkcionális összetételnek köszönhetően a Scrum csapat meglehetősen független a környezetétől, azaz önállóan képes működő eredményt leszállítani. Ha nem sikerül megfelelő eredményeket elérni, csak egymást hibáztathatják. Ugyanígy, ha a csapat sikeres, akkor azt csak egymásnak köszönhetik. Egy ilyen közegben nagyon erős csapatszellem képes kialakulni.
  2. Világos célok. A kereszt-funkcionális csapat tagjait a közös célok tartják össze. A célok megfogalmazása a product owner feladata. A product owner tehát nem alacsony szintű követelményeket, hanem a felhasználók megoldandó problémáit mutatja be a csapatnak. A megoldás módszereit nekik kell kidolgozniuk. Ennek két előnye is van. Egyrészt a világos célok motiváló erejűek, értelmet adnak a munkának, másrészt a célokra fókuszálás teret ad a csapat kreativitásának.
  3. Önszerveződés. A csapat nem csak abban kap szabadságot, rá bizzák a megoldás kitalálását hanem abban is, hogy hogyan valósítják azt meg. A Scrum csapat tagjai maguk szervezik meg a munkavégzést, a menedzsment ebbe nem szól bele. A csapat tagjai tehát felelősek a saját és csapattársaik munkájáért.
  4. Rendszeres teljesítés. A Scrum csapat állandó hosszúságú időtartamokban, ún. sprintekben valósítja meg a terméket. Minden sprintnek egy jól meghatározott célja van, melyet az esetek többségében a csapat sikeresen elér. Ez egyrészt állandó készenlétben és teljesítési kényszerben tartja a csapatot, másrészt viszont állandó sikerélménnyel is szolgál. A Scrum csapatot elsősorban a csapat eredményei alapján értékelik.

A Scrum alapelveiről és gyakorlati módszereiről még sokat írunk ebben a blogban. Ebben a cikkben elsősorban arra szerettem volna rávilágítani, hogy a Scrum ereje abban áll, hogy képes egy jó értelemben vett „harcos” csapat kialakításának feltételeit megteremteni.

Lean, Kanban: A tökéletes munkafolyamat

Míg a Scrum az igazán hatékony csapat kialakítására koncentrál, addig a lean és kanban irányzatok a veszteségmentes folyamatok kialakítását célozzák meg.

Az egydarabos áramlás

A lean szemlélet a Toyota módszer alapja. Középpontjában az egydarabos áramlás ideálja áll. Az egydarabos áramlás lényege, hogy az ötlettől a felhasználóhoz történő eljutásig felépített munkafolyamat minden lépésében pontosan egy darab munkadarab tartózkodik. Ezen túlmenően a folyamatban nincsenek félkész munkadarabok, azaz minden erőfeszítésünk a lehető leggyorsabban hasznosul azzal hogy a következő munkafolyamat lépés számára előkészítettünk valamit, vagy a végfelhasználó számára átadtuk a terméket. (Akit bővebben érdekel a téma, a https://www.hvgkonyvek.hu/a-toyota-modszer c. könyvben talál további információkat.)

Lean szoftverfejlesztés

A lean szoftverfejlesztés a Toyota módszer átültetése a szoftverfejlesztés világába. Tom és Mary Poppendieck könyve az „Implementing Lean Software Development” volt az egyik legnagyobb jelentőségű ebben a témában. A lean szoftverfejlesztést sokan tévesen azonosítják a Kanban módszerrel.

Kanban

A kanban a Toyota módszerben használt kártyákra utal, amelyek a gyártásra vonatkozó információkat és jelzéseket továbbítják a különböző gyártó egységek között. Ebben az értelemben az első Scrum implementációk is kanban módszereknek tekinthetők, mivel a Scrum board nem más, mint egy kanban kártyákat tartalmazó tábla.

A szoftverfejlesztésben és az informatikában azonban David J. Anderson „Kanban” c. könyve nyomán terjedt el a fogalom. Ez a fogalmi zavar a mai napig jól érezhető nem csak a hazai, de a nemzetközi szakmai életben is.

David J. Anderson Kanban módszere öt tulajdonságon alapul.

  1. Jól látható munkafolyamat. Legyen ismert és mindenki számára látható, hogy milyen folyamatlépéseken keresztül állítjuk elő a végterméket. A megvalósítás alatt álló funkciók, szolgáltatások állapota legyen jól nyomon követhető ebben a munkafolyamatban.
  2. Folyamatban lévő munka mennyiségének korlátozása. Egyszerre a lehető legkevesebb termék funkción dolgozzunk. Ez lényegében az egydarabos áramlásra való törekvés. Minél kevesebb feladattal foglalkozunk egyszerre, annál jobban tudjuk fókuszálni az erőforrásainkat, így rövidebb idő alatt tudunk működő eredményt szállítani.
  3. Az áramlás mérése és javítása. Folyamatosan figyeljük a fejlesztés alatt lévő funkciók áramlását az egyes munkafolyamatok között. Mérjük ezek átfutási idejét és folyamatosan tegyünk intézkedéseket azért, hogy a folyamatot tovább gyorsítsuk.
  4. Világosan definiált folyamat szabályok. Legyen egyértelműen meghatározott, hogy milyen feltételek teljesülése esetén kerülhet át a fejlesztett funkció az egyik munkafolyamat lépésből a másikba. Pl. milyen feltételek esetén tehetik a fejlesztők az általuk fejlesztett funkciót „Tesztelhető” státuszba?
  5. Modelleken alapuló optimalizálás. Ismert modellek, módszerek alkalmazásával mérjük és módosítsuk a folyamatainkat. Több ilyen modell is létezik. Ezek közül a célzott veszteség keresés (a lean szemlélet 7 veszteség célpontja), Theory of Constraints, Systems Thinking.

A Kanban módszer tehát a folyamatokra koncentrál a csapatok helyett. Ellentétben a Scrum keretrendszerrel, aminek az erőssége a csapatokban rejlik.

Mindkettőből a legjobbat

Időről időre fellángolnak a viták a Scrum és a Kanban modell hívői között, hogy melyik is a jobb módszer.

Scrum és Kanban ellentétek

A Kanban több ponton is látszólagos ellentmondásba kerül a Scrum alapelveivel. Ezek közül a legismertebbek:

  • Folyamatos áramlás a sprintek helyett. A Kanban szerint a sprintek körüli események (sprint tervezés, retrospective, sprint review) felesleges akadályokat gördítenek a tökéletes áramlás útjába.
  • Nem kellenek kereszt-funkcionális csapatok. A Kanban azt javasolja, hogy nagyobb átszervezés nélkül kezdjünk bele a hatékonyság javításába. A fenti öt alapelv betartása mellett, a jelenlegi helyzetből induljunk ki. Nincs feltétlenül szükség kereszt-funkcionális csapatokra, hiszen minden szakértői team egyszerre kevés feladaton fog dolgozni, a folyamatos áramlás mellett össze fogják hangolni a munkájukat.

Ez a két pont szöges ellentétben áll a Scrum legfontosabb szabályaival, innen a látszólagos kibékíthetetlen ellentét.

Előnyben a Scrum

Saját tapasztalataink alapján a Scrum nehezebben „eladható” módszer, ugyanakkor sokkal nagyobb arányban vezet jól látható eredményekre mint a Kanban. (A legtöbb agilis tanácsadó és coach megerősíti ezt.) Ennek oka, hogy sokkal több egyszerű szabályt vezet be és azokat nagyon szigorúan betartatja. Ha sikerül jó Scrum csapatokat felépíteni, akkor azok ereje elkezdi hajtani az egész szervezetet. A Kanban legfontosabb eleme a folyamatban lévő munkamennyiség korlátozása, amit viszont a legtöbb „kezdő” cég nem tart be.

A Scrum kereszt-funkcionális csapatairól nem érdemes lemondani. Nem minden esetben könnyű a csapatok kialakítása, a felelősségi körök meghatározása, de szinte soha sem lehetetlen.

Scrumban: a nyerő páros

Egyre több cég aknázza ki a két modell együttes előnyeit. Az általuk követett modellben valódi kereszt-funkcionális Scrum csapatokat hoznak létre, amelyek viszont a Kanban modellt követik a sprintjeiken belül. A Scrum táblájuk sok oszlopot tartalmaz, jól meghatározott szabályok alapján válthatnak státuszt a kártyák. A csapat figyel arra, hogy egyszerre a lehető legkevesebb feladaton dolgozzon, de azokat a lehető leggyorsabban juttassa elkészült állapotba. Ezek a csapatok gyakran rövid, egy hetes sprinteket alkalmaznak, amelyek sprint ceremóniáit (tervezés, retrospective) viszonylag rövid idő alatt meg lehet tartani.

Ha többre kíváncsi

A két modell összehasonlításáról és szimbiózisáról megjelent könyv az Adaptive Consulting tanácsadói által készített magyar fordításban szabadon letölthető az Adaptive Consulting Kft. honlapjáról: Kanban és Scrum, mindkettőből a legjobbat címmel.

Ha kipróbálná

A két modell együttes alkalmazására tervezett agilis projektmenedzsment rendszer a ScrumMate, amelyet három felhasználóig díjmentesen használhat.