Fara í innihald

Scrum

Úr Wikibókunum

Scrum er aðferðafræði sem byggir á Agile hugmyndafræðinni og hentar vel til að halda utan um hugbúnaðarverkefni.

Lýsing

[breyta]

Scrum er þekkt aðferðafræði sem vinsæl er í verkefnum sem koma inn á þróun hugbúnaðar. Scrum byggir á Agile hugmyndafræðinni sem gengur út á endurtekningar og sívaxandi þróun, þar sem kröfur og lausnir þróast smám saman. Í Scrum er unnið í svokölluðum ítrunum sem einnig kallast sprettir. Megin markmið Scrum er að gera hugbúnaðarþróunarferlið sem auðveldast og þægilegast fyrir alla þar sem unnið er markvisst að kröfum í smáum skömmtum.

Ferlið

[breyta]
  1. Byrjað er á því að þarfagreina verkefnið og kröfur settar í forgangsraðaðan kröfulista. Út frá hverri kröfu er búin til notandasaga þar sem skýrður er tilgangur hennar og hvernig hún muni gagnast notandanum.
  2. Eftir það er umfang sögunnar metið út frá upphugsaðri mælieiningu sem kallast sögupunktar (e. Story points).
  3. Sögunum er svo forgangsraðað í samráði við eiganda verkefnisins (e. Product Owner) og skipt niður á spretti.
  4. Á hverjum degi er svo haldinn daglegur stöðufundur (e. Daily meeting) þar sem allir hópmeðlimir segja hvað þeir gerðu daginn áður, hvað þeir ætla að gera í dag og hvort það standi eitthvað í vegi fyrir þeim.
  5. Teymið heldur yfirlit yfir verkefnið með gröfum sem nefnast „Burndown”. Þar kemur fram á myndrænan hátt hversu margir sögupunktar/klukkustundir eru eftir af verkefninu/sprettinum.
  6. Í lok hvers spretts er útkoman virkandi útgáfa af hugbúnaðinum.
  7. Í framhaldi tekur teymið stöðuna og rifjar sprettinn upp (e. Sprint retrospective). Þar kemur fram hvað gekk vel, hvað gekk illa og hvað megi gera betur fyrir næstkomandi spretti.
  8. Að lokum tekur við skipulag næsta spretts.

Sprettir

[breyta]

Í scrum er unnið í svokölluðum ítrunum eða sprettum. Sprettur er fyrirfram ákveðið tímabil (2-4 vikur) þar sem unnið er að ákveðnum kröfum sem búið er að deila niður. Forritið er hannað, forritað, prófað og tilbúið í lok hvers spretts. Útkoma hvers spretts er virkandi afurð af hugbúnaðinum.

Núll sprettur

[breyta]

Núll sprettur (e. Sprint zero) er óskráður sprettur í upphafi verkefnis, sem teymið notar til að ákveða forritunarmál, setja upp tæknilegt umhverfi, þjóna, gagnagrunna, o.s.frv.

Sögupunktar

[breyta]

Í Scrum er notast við svokallaða sögupunkta (e. Story points). Sögupunktur er upphugsuð eining sem er notuð innan teymis til að mæla umfang á verkefni. Sögupunktarnir geta verið á margvíslegan hátt, t.d. á bilinu 1, 2, 3, 5, 8, 13, 20, 40, 100 eða Fibonacci röðin; 1, 2, 3, 5, 8, 13, 21, 34, 55, o.s.frv.

Skipulags póker

[breyta]

Skipulags póker (e. Planning poker) er aðferð/leikur til að meta umfang sagna á skilvirkan (og skemmtilegan) hátt. Þar tekur teymið fyrir allar sögur og hver og einn kemur með sitt mat á umfangi sögunnar í sögupunktum. Eftir að allir eru búnir að koma fram með sitt mat er fengin einhver niðurstaða - annað hvort sameiginlega eða út frá verkefnastjóra sem tekur lokaákvörðun um umfang sögunnar.

Hlutverk

[breyta]

Eigandi verkefnis

[breyta]

Eigandi verkefnis (e. Product Owner) er sá aðili sem skilgreinir vöruna og veit hvað á að gera. Hann meðal annars:

  • Veit hvaða útgáfu dagsetningar eru
  • Ábyrgur fyrir að þetta gangi upp fjárhagslega (ROI)
  • Ábyrgur fyrir að raða hlutum í forgangslista
  • Forgangsraðar kröfum eftir hentisemi
  • Samþykkir eða hafnar niðurstöðum vinnu

Verkefnastjóri

[breyta]

Verkefnastjóri (e. Scrum Master) er sá aðili sem kann Scrum best og er tilvalinn til að stjórna verkefninu ásamt Product Owner. Hann meðal annars:

  • Stjórnar verkefninu/hópnum
  • Stjórnar Scrum ferlinu
  • Fjarlægir hindranir og varnar utanaðkomandi áreiti
  • Sér um pappírsvinnu sem fylgir Scrum
  • Stýrir daglegum Scrum fundum

Þróunarteymi

[breyta]

Þróunarteymið samanstendur af þeim sem sjá um að forrita, prófa og hanna hugbúnaðinn. Æskileg stærð teyma eru 5-9 (7±2) manns.

Athafnir

[breyta]

Skipulagning spretta

[breyta]

Skipulagning spretta (e. Sprint planning) er framkvæmd áður en sprettur hefst, annað hvort í lok síðasta spretts eða í byrjun næsta. Kröfur sem teymið sér fram á að klára eru skráðar í svokallaðan „Sprint Backlog”, sem inniheldur allar kröfur fyrir þennan ákveðna sprett í formi notendasagna. Þar á eftir eru kröfurnar brotnar niður í verkþætti og áætlaður klukkustundafjöldi á hvern þeirra.

Yfirferð spretts

[breyta]

Yfirferð spretts (e. Sprint review) er óformlegur fundur sem haldinn er fyrir alla í fyrirtækinu, þar sem teymið kynnir hvað kláraðist í sprettinum og hver staðan á verkefninu er.

Endurskoðun spretts

[breyta]

Endurskoðun spretts (e. Sprint retrospective) er 15-30 mínútna fundur bara fyrir teymið þar sem farið er yfir sprettinn. Þar kemur fram:

  • Hvað fór vel
  • Hvað fór illa
  • Hvað ætti að byrja að gera
  • Hvað ætti að hætta að gera
  • Hvað ætti að halda áfram að gera

Daglegir fundir

[breyta]

Daglegir fundir (e. Daily stand-up meetings) er 15 mínútna fundur innan teymisins í upphafi hvers dags, þar sem hver og einn segir frá:

  • Hvað hann gerði í gær
  • Hvað hann ætlar að gera í dag
  • Hvort eitthvað sé að ganga erfiðlega

Afurðir

[breyta]

Kröfulisti

[breyta]

Kröfulisti (e. Product Backlog) hefur að geyma allar kröfur verkefnisins. Út frá hverri kröfu er búin til notandasaga þar sem kemur fram hlutverk þess sem framkvæmir kröfuna, hver krafan er og hver tilgangur hennar er.

Dæmi: Sem <hlutverk>, vil ég geta <aðgerð>, til þess að <tilgangur>

Sprettaloggur

[breyta]

Sprettaloggur (e. Sprint Backlog) hefur að geyma allar sögur sem áætlað er að teymið klári í sprettinum. Hver saga er brotin niður í verkþætti þar sem áætlaður er klukkustundafjöldi á hvern þeirra.

Burndown

[breyta]

Burndown spretts

[breyta]

Burndown spretts (e. Sprint burndown) sýnir myndrænt yfirlit yfir hversu margir sögupunktar eru eftir af verkefninu. Mjög auðvelt að sjá hvernig heildarframvindu verkefnisins miðar.

Daglegt burndown

[breyta]

Daglegt burndown (e. Daily burndown) sýnir myndrænt yfirlit yfir hversu margar klukkustundir eru eftir á hverjum degi í hverjum spretti fyrir sig.

Afköst

[breyta]

Afköst (e. Velocity) teymisins segja til um hversu marga sögupunkta teymið klárar í hverjum spretti. Í byrjun afkastar teymið einungis um 60% af áætluðum sögupunktum á spretti en fer svo hækkandi og verður sífellt stöðugra eftir því sem teymið lærir meira inn á hvort annað, afköst og getu hinna.

Heimildir

[breyta]

- Bjarni Brynjólfsson, Guðjón Jónsson