Scrum
A Wikipédiából, a szabad enciklopédiából.
| Ezt a szócikket át kellene olvasni, ellenőrizni a szövegét, tartalmát. Részletek a cikk vitalapján. |
A Scrum egy projektmenedzsment módszertan, az agile szoftver fejlesztés egyik eszköze.
Bár a scrum eredetileg szoftverfejlesztési projektek menedzselésére készült, szoftverkarbantartásra is használják.
Tartalomjegyzék |
[szerkesztés] Kialakulása
- 1986-os cikkükben Hirotaka Takeuchi és Ikujiro Nonaka leírnak egy módszert, ami nagyban felgyorsítja és flexibilisebbé teszi új termékek fejlesztését[1]:
- A tradícionális módszert (vízesés model), amelyben az egymást sorban követő fejlesztési fázisokat más-más szakembercsapat kezeli, a váltófutáshoz hasonlítják, ahol egyszerre csak egy ember fut, és a futók egymásnak adják a stafétát.
- Az új módszert, amiben a fázisok erősen átlapolódnak, és a különböző területeket képviselő szakemberek egy kis csoportja végig, minden fázisban együtt dolgozik, a rögbihez hasonlítják, ahol egyszerre az egész csapat fut, és egymás között passzolgatják a labdát.
- Az esettanulmányok az autóiparból, a fényképzőgép-, számítógép-, és nyomtatógyártásból merítenek.
- 1991-ben DeGrace és Stahl [2] hivatkozott rá először úgy, hogy scrum, amely egy rugby-s szakkifejezés, ami már Takeuchi és Nonaka cikkében is szerepel.
- Ken Schwaber is használt scrum-szerű módszert az 1990-es évek elején. Ezzel egyidejűleg fejlesztett ki Jeff Sutherland egy hasonló módszert az Easel Corporation-nél [3]. Sutherland és Schwaber közös cikkben mutatták be a Scrum-ot az OOPSLA '96-on Austin-ban. Schwaber és Sutherland az azt követő években közösen dolgozott a megjelent írások, a saját tapasztalataik és az szoftveriparban látott gyakorlatok összegyúrásán, melynek eredménye a ma scrum néven ismert módszertan.
- 2001-ben Schwaber könyvet írt Mike Beedle-lel közösen Agile Software Development with SCRUM címmel.
[szerkesztés] Jellemzői
- story - a lényeges funkciók megrendelőközpontú leírása
- product backlog - az implementálandó story, priorizált teendők
- sprint backlog - konkrét feladatok a következő sprintre
- backlog item - teendő
- sprint - egy adott teendő végrehajtására szánt rövid iteráció (2-4 hét)
- scrum - egy rövid napi találkozó, ahol megbeszélik az eredményeket, az akadályokat és a következő teendőket
- sprint planning session - megbeszélés, amelyen a következő sprint teendőit definiálják
- sprint retrospective - ahol minden csapattag reflektál az utolsú sprinttel kapcsolatban
- burn down chart - kimutatás a napi eredményekről a sprint során
Van egy ScrumMaster is, akinek főleg az a feladata, hogy elhárítsa az akadályokat, hogy a csapat elérhesse a sprint célját. A ScrumMaster nem főnök, mert a csapat önszerveződő, hanem a csapat és a zavaró tényezők közötti lökhárító.
Az önszerveződés elősegítése végett a scrum arra ösztönöz, hogy a projekt résztvevői egy helyen dolgozzanak és szóban kommunikáljanak egymással.
Ellentétben a hagyományos, prediktív, tervezős módszerrel a scrum egyik alapelve az, hogy a megrendelő a fejlesztés során meggondolhatja magát azzal kapcsolatban, hogy mit akar. A scrum nem törekszik a probléma teljes megértésére és definiálására, hanem arra törekszik, hogy a csapat gyors legyen és reagáljon a változó követelményekre.
[szerkesztés] Szerepek
A scrum módszertan a szereplőket két csoportra osztja: disznókra és csirkékre. Ez egy állatos viccre alapul[4]:
A disznó és a csirke mennek az utcán. Egyszer csak a csirke megszólal: „Te, nyissunk egy éttermet!” Mire a disznó: „Jó ötlet, mi legyen a neve?” A csirke erre gondolkozik, majd azt feleli: „Nevezzük Sonkástojásnak!” A disznó erre: „Nem tetszik valahogy, mert én biztosan mindent beleadnék, te meg éppen csak hogy részt vennél benne.”
Tehát a disznók mindent beleadnak a szoftver megalkotásába, a csirkék pedig érdekeltek a projektben, de nem érdekli őket annyira, ha az elbukik. A csirkék igényeit, vágyait és ötleteit is figyelembe veszik, de nem hagyják, hogy azok akadályozzák a projektet.
[szerkesztés] Disznók
Azok a disznók, akik a saját sonkájukat viszik a vásárra.
- Terméktulajdonos
- A vásárlót reprezentálja.
- Scrum Master (vagy Facilitator)
- Arra ügyel, hogy a scrum folyamat működjön. Ő tartatja be a szabályokat és ő hárítja el az akadályokat.
- Scrum Team
- Egy 5-9 fős csapat, keresztfunkcionális képességekkel.
[szerkesztés] Csirkék
A csirkék nem részei a scrum folyamatnak, de figyelembe kell venni őket.
- Felhasználók
- Az agilis szoftverfejlsztés egyik fontos aspektusa, hogy bevonják a felhasználót a fejlesztési folyamatba, a tőlük érkező visszacsatolást figyelembe veszik a sprintek tervezésénél.
- Stakeholder-ek
- Azok az emberek, akik kellenek a szoftver létrejöttéhez, de nem vesznek részt közvetlenül a folyamatban. Ez az adminisztrátorokat és az igazgatókat is magába foglalja.
- Tanácsadó szakértők
- Ezek olyan szakértők, akikre nincs szükség minden sprinthez. Egy-egy sprint erejéig válnak csak disznóvá.
[szerkesztés] Adaptív projektmenedzsment
- A megrendelő a fejlesztő csapat részévé válik.
- Gyakoriak a köztes szállítások működő funkcionalitással, a fejlesztés inkrementális. A köztes állapotokat is validálják és ellenőrzik, hogy ne csak a végén derüljenek ki a problémák, legyen idő kijavítani őket.
- Gyakori kockázatelemzés a fejlesztőcsapat részéről.
- Napi státuszmegbeszélés, ahol mindenkit megkérdeznek, hogy:
- Mit csinált tegnap óta.
- Mit tervez holnapra.
- Vannak-e problémái, amik meggátolják a célja elérésében.
- Átlátható tervezés és modularizáció, azaz lássa mindenki, hogy ki miért felel és milyen határidővel.
- Gyakori találkozók, amelyeken figyelemmel kísérik a haladást.
- Semmi problémát nem söpörnek a szőnyeg alá. Mindenkit meghallgatnak, aki felismer és ismertet egy váratlan problémát.
- A munkahely és a munkaidő legyen hatékony. A több munkaóra nem feltétlenül vezet több eredményre.
[szerkesztés] A napi státuszmegbeszélés
Népszerű időpont a státuszmegbeszélésre az ebéd után. A reggeli időpont problémás lehet. Ezek a megbeszélések rövidek, gyakran állva tartják meg tábla előtt. Az emberek gyakran elpillednek az ebédtől, tehát egy élénk állómeeting felfrissítheti őket, vélik a scrum szakértők. Azt is vélik, hogy mindenki dolgozott már ebéd előtt, ezért az emberek nem a privát dolgaikon gondolkoznak éppen, hanem a munkán.
[szerkesztés] Solo Scrum
A scrumot kis csapatokra tervezték. A csapattagok kommunikációját próbálja javítani. Sok szoftverterméket viszont egyetlen fejlesztő készít egyedül, de a scrum elvekből ő is tanulhat, erre találták ki a Solo Scrum nevű változatát a módszertannak.
[szerkesztés] Források
- (PDF) Rising, L., Janoff, N.S. (2000). The Scrum Software Development Process for Small Teams elérés 2007. március 15.
- (PDF) Schwaber, K. Advanced Development Methods. SCRUM Development Process elérés 2006. augusztus 15.
- (PDF) Dr. Sutherland, J. (October 2004) Agile Development: Lessons learned from the first scrum elérés 2006. augusztus 15.
- (video) Jeff Sutherland in Scrum Tuning: Lessons learned from Scrum implementation at Google elérés 2007. december 15.
- (video) Ken Shwaber in Scrum et al. elérés 2008. január 19.
[szerkesztés] Külső hivatkozások
- Scrum in five minutes - elérés 2008. február 7.
- Scrum Alliance - elérés 2008. február 7.
- Scrum et al - Google-ös interjú Ken Schwaber-rel. - elérés 2008. február 7.
- Scrum and XP from the Trenches - elérés 2008. február 7.
- Scrum articles directory - elérés 2008. február 7.
- Agile Alliance's Scrum library - elérés 2008. február 7.
- Agilo For Scrum (Open Source Scrum Tool) - elérés 2008. február 7.
[szerkesztés] Referenciák
- ^ Takeuchi and Nonaka: The New New Product Development Game (Harvard Business Review, Jan-Feb 1986)
- ^ Wicked Problems, Righteous Solutions ([1])
- ^ http://jeffsutherland.com/scrum/FirstScrum2004.pdf
- ^ http://www.scrumforteamsystem.com/ProcessGuidance/Roles/Roles.html


