Tömören és világosan a Scrumról

post-thumb

Ha az ember igazán el akar mélyedni a Scrum módszer rejtelmeiben, egy egyszerű kereséssel rengeteg részletes forrást talál, többségében persze angolul. De jobban jár, ha egy emészthető terjedelmű összefoglaló révén előbb megismerkedik a Scrum alapjaival, és csak aztán veti bele magát az olvasásba, videónézésbe. Ebben segít az alábbi bejegyzésünk: lehetőség szerint tömören áttekintjük a Scrum legfontosabb fogalmait. Elolvasása után könnyebb lesz megkeresni, megszűrni és megérteni a Scrum lényegét részleteiben feltáró információkat.

Mi a Scrum, és miben lehet hasznunkra?

Anélkül, hogy hosszas historikus fejtegetésekbe bonyolódnánk, annyit nem árt tudni, hogy a Scrum fogalma a nyolcvanas években született meg mint a szervezetek tudásbővítésének olyan keretrendszere, amely alkalmas a folyamatos, ciklikus innovációra. Ily módon pedig nagyszerűen hasznosítható egyebek mellett a termékfejlesztésben. Nem sokkal később kiderült, hogy a szoftverfejlesztésben különösen hatékony – az esetek többségében sokkal hatékonyabb, mint a hagyományos waterfall metódus, melyben elkülönülő kollektívák egy lineáris folyamat részeként adják át egymásnak a feladatokat.

A Scrum elsősorban azzal újított, hogy munkafázisokat jórészt egymással átfedésben szervezte meg, és állandó, szoros együttműködést írt elő a részt vevő szakembereknek. Ezzel elérte, hogy a fejlesztés során a közösség együtt mozogjon, akárcsak az egymásnak feszülő rögbicsapatok a scrum (magyarul tolongás) néven ismert játékhelyzetben.

A Scrum a gyakorlatban

A folyamat 1-4 hetes ciklusok ismétlődéséből áll, melyek leírhatók három lépésben:

  1. A product owner (terméktulajdonos) meghatározza a termékhez szükséges funkciók fontossági sorrendjét (backlog).
  2. A scrum team a listából kiválasztja az adott fejlesztési szakaszban (úgynevezett sprintben) megvalósítandó elemeket, és működő szoftveregységet hoz létre.
  3. Az érdekelt felek megvizsgálják az eredményeket, és ezekhez igazítják a következő sprintet.

Mindez azért működik jól, mert a rendszer a folyamatos tanuláson és a változó tényezőkhöz való alkalmazkodáson alapul. Számot vet azzal, hogy a projekt kezdetén a csapat nincs birtokában a sikerhez szükséges összes információnak, hanem az időközben megszerzett tapasztalatok révén fejlődik. Ezt pedig a feladatok ismételt újrapriorizálása és a rövid ciklusok teszik lehetővé.

A Scrum főbb szereplői

Product owner. Egyetlen személy, aki teljes egészében átlátja a terméket, melynek létrehozásáért felelős, beleértve annak üzleti jelentőségét, a piaci követelményeket és az ügyféligényeket. Ennek megfelelően képes irányítani a fejlesztőcsapatot, rangsorolni a teendőket és tartani a kapcsolatot a megrendelővel.

Scrum master. Közvetlenül a fejlesztőcsapat gördülékeny működéséért felel. Pontosan érti, amin az egyes tagok éppen dolgoznak, coach-ként segíti őket, ugyanakkor betartatja a Scrum rendszer szabályait. Feladata az is, hogy elhárítsa a hatékony munkavégzés akadályait, optimalizálja a körülményeket.

Scrum team. Önszerveződő, általában 3-9 főből álló fejlesztőcsapat. A közös tapasztalatok alapján megpróbálja megbecsülni, hogy a rendelkezésre álló idő alatt mennyi feladat végezhető el, így saját maga tervezi meg a következő sprintet. Ideális esetben a szakmai kompetenciák változatosak, és a tagok egymást is képzik.

A Scrum főbb elemei

Product backlog. Az elérendő cél és az ahhoz szükséges követelmény- és teendőlista együttese, melyet a product owner kezel, biztosítva, hogy elérhető, áttekinthető és mindenki számára világos legyen. Sohasem végleges, szüntelenül változik a fejlesztés során: ha szükséges, új tételekkel bővül, és a korábban felvittek is változhatnak, finomodhatnak.

Sprint backlog. Egy adott sprint (fejlesztési szakasz) sorvezetője. Szerepel benne az elérendő cél, a product backlogból ehhez kiválasztott elemek, valamint cselekvési terv a megvalósítás módjára. A fejlesztők maguk készítik el a sprint tervezése alkalmával, később pedig rendszeresen frissítik, kiegészítik az új tapasztalatokkal. Kellően részletes ahhoz, hogy naponta követhető legyen a haladás.

Daily stand up. A fejlesztőcsapat által minden munkanap elején megtartott, lehetőleg 15 percnél nem hosszabb megbeszélés. Fenntartja a fókuszt, teret ad a produktív kommunikációnak, segíti a gyors döntéshozatalt, továbbá szükségtelenné teszi a munkanapot megszakító egyéb össz-meetingeket. Ami nem jelenti azt, hogy a fejlesztők ezen kívül ne kommunikálnának egyénileg vagy kisebb csoportokban, ha szükséges.

Sprint review. A sprint végén a csapat bemutatja az elkészült funkciókat. Több egyszerű prezentációnál: az érdekelt felek közösen értékelik a fejlesztés helyzetét, azonosítják a korábban esetleg nem ismert tényezőket, meghatározzák a továbbiakban követendő irányt. Egy egy hónapos sprint után legfeljebb négy órán át tart.

Sprint retrospective. A fejlesztőcsapat belső, a sprintet értékelő konzultációja, célja a munka minőségének és hatékonyságának javítása. A tagok értékelik az egyéneket, interakciókat, folyamatokat, eszközöket. Megbeszélik, mi ment jól, milyen problémákba ütköztek, hogyan oldották meg őket, min és hogyan lehetne javítani. Egy egy hónapos sprint után legfeljebb három órán át tart.

A Scrum három pillére

Ne felejtsük el, hogy míg a felsorolt szerepkörök és események megadják a kereteket, önmagában nem elegendőek a Scrum-működés eléréséhez. Tartsuk szem előtt a következő három értéket:

Átláthatóság. Az elérendő cél, az odavezető folyamat és a teljesítendő feladatok mind legyenek láthatók a megrendelők és a munkát elvégzők számára.

Felülvizsgálat. A folyamat előrehaladását a megállapított célokhoz képest rendszeresen és gondosan kell felülvizsgálni, hogy észlelhessük a nemkívánatos eltéréseket.

Alkalmazkodás. Ha a fejlesztés bármilyen szempontból nem elfogadható irányba tart, ki kell igazítani, a károk minimalizálása érdekében minél előbb. A jó scrum team képes azonnal alkalmazkodni, amint felismerte a problémát.

- TesterLab -

Megosztás: