Hlavní navigace

Metodika vývoje - Scrum

9. 11. 2009 12:31 (aktualizováno) | Martin Popelák

Pro naši metodiku vývoje jsme si vybrali Scrum. Scrum je agilní metodika, ve které vývoj probíhá v iteracích. Délka iterace by měla být pevně dána (v rozmezí 14 dní až 1 měsíc), ale je možné mít i delší iteraci, aby se stihly dokončit všechny naplánované úlohy.

Intersprintová porada

Naše iterace trvá zpravidla 14 dní. Začátku iterace předchází pravidelná Intersprintová porada, která je rozdělena na 3 části:

  • organizační záležitosti – hodnocení komunikace mezi členy týmu, připomínky k vývoji, technické novinky
  • hodnocení uplynulého sprintu
  • naplanování a stanovení cílů pro příští sprint – podle priority je z backlogu vybrána funkcionalita, kterou v aplikaci potřebujeme

Před Intersprintovou poradou probíhá brainstorming všech členů týmu nad novou funkcionalitou, kterou by naše aplikace měly poskytovat. Každý člen týmu má možnost přednést svoje nápady a tím ovlivnit celý projekt. Nápady jsou zapsány do backlogu, aby se následně časově nacenily a přiřadila jim priorita.

Z každé porady vzniká zápis, který se objeví na naší wiki.

Denní meeting

Denní meeting se koná každý den v 10:00. Všichni členové týmu během něj bez vyzvání odpoví na 3 otázky:

  • Co jsem udělal od posledního Scrum Meetingu? Člen týmu zhodnotí co se mu povedlo udělat. Výstupem by měl být otestovaný kód, hotový dokument, návod atp, který je prezentován ostatním
  • S čím jsem měl během řešení úkolu problém, co se mi naopak povedlo vyřešit? S čím se vývojář, webový kodér, content manager atd potýkal, jaké problémy řešil, co mu zabránilo dokončit úkol, případně co šlo hladce.
  • Co hodlám do dalšího Scrum Meetingu udělat? Člen týmu udělá před ostatními závazek, co chce stihnout do příštího Denního meetingu, kterého se bude účastnit.

Jednou z nejpodstatnějších vlastností Scrumu je fakt, že úkoly vývojářům nikdo nepřiděluje, v podstatě si je vybírají sami.

Požadavky na odevzdaný kód

  • musí být zdokumentovaný
  • musí dodržovat pravidla MVC (restful architektura)
  • musí být otestovaný
  • musí být lokalizovaný

Výhody Scrumu

Za výhodu Scrumu považuji možnost rychle reagovat na vývoj projektu. Díky krátkým iteracím je snadné se zaměřit na problémové části aplikace a ty urychleně řešit.

Vzhledem k nedireketivnímu způsobu vedení vývoje, který Scrum podporuje, má každý člen možnost realizovat svoje nápady.

Na začatku projektu ani neexistují přesné role v týmu, ty se až časem vykristalizují podle toho ve které oblasti se chce každý člen realizovat.

Nevýhody Scrumu

Podle mě největší nevýhodou Scrumu je, že nikde není definováno technické pozadí metodiky, narozdíl například od eXtrémního Programováni. Proto jsme do naší metodiky například museli přidat část o Test Driven Development. Dnes již nový kód vzniká pomoci Test First Developmnet. Vývojář nejdřív napíše testy a pak teprve programuje.

Scrum je vyžaduje motivované a aktivní členy týmu, které není vždy jednoduché najít, na druhou stranu je pak mnohem jednodušší s těmito lidmi spolupracovat.

Zdroje