Scrum Poker: Saját fejlesztésű JIRA plugin a ShiwaForce-tól

A fejlesztési feladatok méretének viszonylag pontos meghatározása nem könnyű feladat, pláne nem, ha olyan új feladatról van szó, amelyhez hasonlót még nem, vagy csak részben végeztünk. A becsléshez azonban segítségül hívhatjuk a Scrum Poker kártyákát, és a ShiwaForce új fejlesztését, mellyel még érdekesebbé tehetőek ezek a megbeszélések.

A Scrum Poker JIRA add-on elnyerte az Atlassian fődíját az Atlassian Codegeist nemzetközi versenyen! Ezúton köszönjük a támogatást és a szavazatokat!

http://scrumpoker.shiwaforce.com

A szoftverfejlesztés erősen épít az egyéni tapasztalatra. A fejlesztőcsapatokon belül – és ez így van rendjén – pedig sokszintű tudással rendelkeznek a kollégák.
Egy-egy feladat értékelésekor nagyon nehéz – valójában nem is lehetséges – pontosan megállapítani, hogy az (kinek) milyen komplexitású, mennyi ideig fog tartani a fejlesztés.

Az üzleti oldal pedig ezt várja el a fejlesztőktől: mondják meg, mikorra lesz kész a funkció, mennyi erőforrás szükséges hozzá.

Nem tudunk mást tenni, mint becsülni.

Az agilis módszertanokban – a Scrum-ban különösen – mindig is jelen volt és van ez a szoftverfejlesztőket gyakran feszélyező bizonytalanság.

“Nem tudjuk pontosan, hogy az egyes lépések meddig fognak tartani. Egyáltalán ki mit ért azon, hogy a felhasználót a portálon be kell léptetni? Mit is mondtál, mi a határidő? Áh, szóval többnyelvű felület szükséges… Nos, akkor…”

Erre kiváló megoldás, ha egy számskálát (Story Point) hívunk segítségül, és megpróbáljuk egymással összevethetővé tenni, hogy kinek mennyire tűnik bonyolultnak az adott feladat, ki, mennyit dolgozna rajta.

A Fibonacci-skála

Egy egyszerű lineáris skála nem segít (1,2,3,4,…), mert ebből nem derülnek ki a nagyságrendi különbségek, nem teljesen világos hogy mi a különbség egy 2-es vagy 3-as pontszámot kapott feladat között.

fibonacci

A Fibonacci-skálát viszont használhatjuk: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34… hiszen a számok közötti nagyobb távolság miatt itt már egyszerűbb észrevenni a nagyságrendi különbségeket.

A könnyebb érthetőség érdekében nézzünk egy példát!

Adott egy feladat: egy készülőben lévő portálhoz kell megvalósítani a felhasználó bejelentkeztetését.

A feladat Péter szerint 2-es nehézségű, vagyis kb. 2-3 óra alatt teljesíthető. Szerinte ez egyszerű: a webes form már kész is van, bekérjük a felhasználó nevét és jelszavát, összevetjük az adatbázisban tároltakkal, és vagy beléptetjük, vagy elutasítjuk. Készen is vagyunk.

Ugyanez a feladat Bence szerint 8. Bence ugyanis úgy gondolja, hogy az adott feladat olyan elemeket is tartalmaz, amikre Péter nem gondolt:

  • elfelejtett jelszó kezelése
  • elfelejtett felhasználói név kezelése
  • mindezekhez email template-ek készítése

És még sorolhatnánk. A kérdések alapján tisztul a kép, és vagy nő a story bonyolultságának értéke, vagy újabb story-k keletkeznek.

Csapatszinten a becsült értékek még jobban eltérhetnek egymástól. Ezért a sprint tervezésekor a csapattagok leülnek, végigmennek a sprint backlog-on és story-nként közösen megbeszélik, hogy ki mit is ért az adott story-n, és vajon ez mennyi erőforrást vesz igénybe.. A megbeszélés (estimation) célja, hogy a végén a csapat minden tagja egyetértsen a pontszámmal amit az adott feladat kapott.

Hogyan kivitelezhető ez a gyakorlatban?

Az estimation során segítségül hívjuk a Scrum Poker kártyákat. Egy csomag kártya többször is tartalmazza a Fibonacci-számokat, így a csapat minden tagja kaphat egy sorozatot.

poker

Az estimation során a Scrum Master megkérdezi a fejlesztőket, hogy milyen komplexitásúra becsülik a story-kat. A kártyák használatával a csapattagok komplexitás-szerinti becslést adnak az adott feladatra, majd a nagyon eltérő becsléseket további tisztázó kérdésekkel és újabb szavazó körrel közös értékre hozzák. A végén közösen megállapodnak egy komplexitás számban.

A módszer nem szuper-pontos, tudományos, de működik.

Lehet ezt valahogy érdekesebbé tenni, automatizálni?

Igen. :) A ShiwaForce.com-nál kifejlesztettük ennek a korábban papírkártyákon alapuló segédeszköznek az elektronikus változatát: a fejlesztők Androidos vagy iOS-es eszközökön egy mobil alkalmazás segítségével szavazhatnak a virtuális kártyákkal.
A megoldás használható önmagában, vagyis kvázi a papírkátyák kiváltására, de létezik egy JIRA-val integrált verzió is. Így a szavazatok bekerülnek az agilis szoftver-fejlesztői közösségek által kedvelt és támogatott rendszerbe is.

Íme, egy kis ízelítő:

Ha a látottak alapján megtetszett a megoldásunk, töltsd le és kezd el használni. Számítunk visszajelzésedre! A részletek megtalálhatók a scrumpoker.shiwaforce.com oldalon.

http://scrumpoker.shiwaforce.com