A Scrum jelentése – Mi a Scrum?

A Scrum megszületése óta és mind a mai napig a legelterjedtebb agilis keretrendszer. Népszerűségét jól bizonyítja, hogy a Scrum szót olykor az agilitás szinonimájaként használják, ez viszont sajnos számos félreértéshez vezet. Fontos tehát tisztázni a két fogalom közötti különbséget és azok pontos kapcsolatát.

Mi a Scrum keretrendszer?

A Scrum egy egyszerű, pehelysúlyú keretrendszer, amely konkrét válaszokat ad arra a kérdésre, hogyan valósítsuk meg az agilis értékeket, alapelveket és az agilis gondolkodásmódot a termékfejlesztés során. Ha ezek az agilitással kapcsolatos fogalmak még nem ismerősek számodra, azt javasoljuk, olvasd el Az agilis jelentése című cikkünket, mielőtt továbbmennél.

Mit jelent az, hogy keretrendszer?

Ahogy a kifejezés sugallja, a Scrum nem egy részletes, előíró, a termékfejlesztés legapróbb mozzanatait is meghatározó szabályrendszer vagy módszertan. A Scrum megalkotóinak bevallott célja, hogy egy olyan eszközt biztosítsanak a termékfejlesztő csapatok számára, amely a legszélesebb körben, a legkülönbözőbb iparágakban használható. Így, bár az agilitáshoz hasonlóan a szoftveriparban született, a közhiedelemmel ellentétben a Scrum sem tartalmaz semmilyen szoftverfejlesztési vagy programozási technikát. Pusztán egy olyan termékfejlesztési módszertan keretét, főbb sarokpontjait határozza meg, amelyekkel tehát az agilitás a gyakorlatban is megvalósítható. Mik ezek a sarokpontok?

– A Scrum értékek
– A szerepkörök, azaz a termékfejlesztés elengedhetetlen résztvevői, feladataik és felelősségeik
– Az események, azaz a termékfejlesztés során, meghatározott időnként rendszeresen megrendezett formális események, azok célja és felépítése
– és a Scrum munkaanyagok, azaz a keretrendszer működtetése során előálló, értékes eredmények (mint pl. maga a termék)

A Scrum és az agilis kapcsolata

Azért különösen fontos különbséget tenni az agilis és a Scrum között, mert a felhasználási területük nem esik egybe. Azon szervezeteknek és csapatoknak, akiknek értékes lehet az agilis gondolkodásmód és az agilis megközelítés, csak egy részénél adottak azok a körülmények és előfeltételek, amelyek a Scrum sikeres használatához elengedhetetlenek. Tehát, az általános iskolából ismert sablont felelevenítve, kijelenthetjük, hogy minden scrumos csapat agilis, de nem minden agilis csapat Scrumozik. (A biztonság kedvéért megjegyezzük, hogy viszont nem minden csapat scrumos, aki azt mondja magáról.) A jó agilis tanácsadó ezért soha nem Scrumot „ad el” az ügyfélnek, hanem minden esetben megkeresi azt az agilis keretrendszert, ami az adott ügyfél számára a legmegfelelőbb.

Cikkünk végén kitérünk arra, hogy milyen előfeltételei vannak a Scrum bevezetésének.

A Scrum útmutató

Az Agilis kiáltvánnyal ellentétben a Scrum hivatalos leírása (játékszabálya), a Scrum útmutató vagy angolul Scrum guide egy szerzői jogvédelem alatt álló, rendszeresen frissített dokumentum. Szerzői Jeff Sutherland és Ken Schwaber, a mai napig aktív tanácsadók, akik saját személyes tapasztalataik alapján tartják karban a Scrum útmutatót. A keretrendszer változásainak fő okai:

– Tisztázás. Különösen az első verzióknál volt szükség a keretrendszer bizonyos elemeinek pontosítására, alaposabb magyarázatára.
– Általánosítás. A Scrumot használó csapatok és iparágak számának növekedésével egyre jobban látszik, mik azok a megközelítések, megfogalmazások, amik az IT-hez kötnék a keretrendszert, melyek azok a pontok, ahol még általánosabb megközelítésre, megfogalmazásra van szükség.
– Egyszerűsítés. A Scrum célja a minimálisra szorítani a keretrendszer előíró jellegét, ezért megalkotói folyamatosan keresik azokat a pontokat, amelyeken tovább egyszerűsíthető a keretrendszer. Ez részben jó hír, hisz minél egyszerűbb a keretrendszer, annál könnyebb megérteni és átlátni (A Scrum Útmutató aktuális verziója mindösszesen 16 oldal). Az egyszerűség hátránya viszont, hogy nagy szabadságot ad, így a keretrendszer alkalmazása az egyedi helyzetekre gyakran sokkal nehezebb, ezért elengedhetetlen a tapasztalt tanácsadó segítsége.

A Scrum útmutató legújabb verziójának változásairól írt cikkünkben erről a témáról többet is olvashatsz.

Mi a Scrum csapat?

A Scrum csapat vagy Scrum team egy kicsi (maximum tízfős), állandó tagokból álló termékfejlesztő csapat. Ahogy jeleztük, a Scrum keretrendszer nem használható minden környezetben. A Scrum használatának egyik legfontosabb előfeltétele a közös célok érdekében együtt dolgozó, dedikált tagokból álló csapat.

A Scrum három szerepkört definiál, ők együtt alkotják a Scrum teamet.

Scrum team

Product Owner

Egyetlen személy, a termék egyszemélyi üzleti felelőse. Az ő felelőssége eldönteni, hogy mit fejleszt a csapat.

Scrum Master

Egyetlen személy, a csapat és a teljes szervezet edzője, a módszertan alapos ismerője. Ő felelős a termékfejlesztés folyamatának hogyan-jáért.

Developerek (Fejlesztők)

A termékfejlesztés technikai feladatait végrehajtó szakemberek. Az ő felelősségük minden technikai döntés, illetve a termék elkészítése.

Az egyes szerepkörökről bővebben a Scrum tréningünkön tanulhatsz.

Hogyan működik a Scrum termékfejlesztés?

A Scrum rövid (maximum egy hónapos), azonos hosszúságú időszeletekre bontja a fejlesztést. Egy-egy ilyen időszelet neve a sprint, az egyes sprintek célja pedig egy önálló, értékes, potenciálisan kiadható termékinkrementum előállítása. A hagyományos módszertanokkal ellentétben tehát, ahol csak a termékfejlesztés végén állt elő az ügyfél számára átadható, értékes termék, a Scrum használatával minden egyes sprint során, tehát a legrosszabb esetben is legalább havonta egyszer előáll egy új, kiadható, értékes termékverzió.

Increments

Forrás: https://usercontent.one/wp/www.scrumbeginner.com/wp-content/uploads/2021/03/Scrum-sprint-increment-scaled.jpg

A Scrum előfeltételei közül a második az, hogy ilyen rövid időszeletekben valódi ügyfélérték, valóban kiadható, eladható termék előállítható legyen. Más megfogalmazásban: előfeltétel, hogy a termék inkrementálisan (fokozatosan növekedő értékességű szeletekben) szállítható legyen. A legegyszerűbb ezt két példán keresztül megérteni. Egy telefonos játék könnyedén szállítható inkrementálisan: az első verzióban kevesebb pálya van és még csak a gép ellen lehet játszani, de már így is jól szórakozhatunk vele. A később érkező frissítések új pályákat és kétszemélyes játékmódot is tartalmaznak, tovább növelve a játék értékét. Nem jó ötlet viszont inkrementálisan szállítani egy háromszáz fős rendezvényen a lasagne-t, ha ez azt jelenti, hogy először minden vendég kap öt tésztalapot, fél óra múlva egy-egy tálka marharagut, később besamelt, és a végén megérkezik a reszelt parmezán is. Nemcsak az egyes részszállítások nem értékesek, ha a vendégek megkapták az étel összes elemét, akkor sem fogják tudni azt élvezettel elfogyasztani.

Ha egy csapattól azt halljuk, hogy az ő terméküket nem lehet inkrementálisan fejleszteni és szállítani, előfordulhat, hogy tévednek, és csupán meg kell találni a feladat, a termék megfelelő lebontását. A fenti példában, a háromszáz fős rendezvényen a felszolgálás is könnyen megoldható inkrementálisan, csak kicsit máshogy kell gondolkodni. Szállítsunk teljes értékű ételt, de körönként csak a résztvevők egy részének. Például negyedórás eltolással ötven-ötven fő számára. Máris lebontottuk a feladatot kisebb, értékes részletekre.

Mikor és kinek ajánljuk a Scrumot?

Eddig két fontos előfeltételét ismertük meg a Scrumnak: a dedikált és állandó csapatot és az inkrementálisan szállítható terméket. A harmadik legfontosabb előfeltétel a becsülhetőség. Annak érdekében, hogy a csapat ilyen kis időszeletekben tudjon szállítani, elengedhetetlen, hogy elég jó pontossággal megbecsülhető legyen egy-egy részfeladat nagysága. Példák nem jól becsülhető feladatokra:
– ismeretlen okú hiba kijavítása. Ha például beázik a plafonom, annak lehet nagyon egyszerű megoldása (a felső szomszéd elutazott, és elfelejtette elzárni a csapot a fürdőben, felhívom, hogy jöjjön haza), és nagyon komplex is (falbontás, csőcsere, stb.)
– azon kutatási jellegű feladatok, ahol az egyes kísérletek várható időigénye megbecsülhetetlen.

Ismét hangsúlyozzuk, hogy bár komoly előfeltételei vannak a Scrum használatának, nem minden környezet alkalmatlan a Scrum bevezetésére, ami annak látszik. Gyakran csak új nézőpontból kell megközelíteni a kérdést.

Elengedhetetlen előfeltétel viszont, hogy a teljes szervezet részt vegyen a bevezetésben, aktívan támogassa azt és elkötelezett legyen a siker iránt.

Scrum és Kanban – Mi a különbség?

A Scrum leggyakoribb alternatívája az agilis működést szintén lehetővé tevő Kanban módszertan. A fő különbség a két eszköz között, hogy míg a Scrum egy szigorú időszeletekre osztott fejlesztést valósít meg, fix csapattal és rendszeres szállítással, a Kanban a fejlesztést egy folyamatosan etetett automataként közelíti meg, az automata elején rendszeresen érkeznek be a feladatok, és a végén sorra esnek ki a megoldások. A Kanban még a Scrumnál is kevésbé előíró. A két eszközről bővebben korábbi, Kanban vagy Scrum? Melyiket válasszam? című cikkünkben olvashatsz.