Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

15. diel - Metodika SCRUM Nové

V minulej lekcii, Úvod do vývoja softvéru , sme si uviedli bežné problémy pri vývoji softvéru a ich možné riešenie. Teraz už vieme, aký je rozdiel medzi tradičnou a agilnou metodikou.

V dnešnej lekcii preberieme metodiku SCRUM. Ide o agilnú metodiku, ktorá sa dá aplikovať na vývoj softvéru, ale aj na ďalšie projekty s rôznym zameraním. Táto metodika je veľmi populárna a dokazuje to až 40 % spoločností, ktoré ju pre svoje projekty využívajú.

Táto lekcia je súčasťou kurzu Metodiky vývoja softvéru.

Metodika SCRUM

SCRUM je cudzie slovo pochádzajúce z anglického športu rugby, kde výraz scrum (mlyn), značí hráčsku formáciu. Názov bol takto zvolený, pretože dáva dôraz na tímovú spoluprácu. Toto je dôležité, pretože pri riadení projektov pomocou SCRUMu existujú malé tímy (okolo 10 ľudí v každom tíme), ktoré rozhryzujú svoju prácu na úlohy zvládnuteľné v časovo daných iteráciách (tieto iterácie sa nazývajú šprinty). Členovia tímov spolu veľmi blízko spolupracujú. Tomu je docielené napríklad fyzickou kolokáciou na pracovisku, blízkou spoluprácou online, alebo dennými Face-To-Face meetingmi. Metodika SCRUM uznáva prístup, v ktorom platí, že problém nemôže byť plne pochopený, alebo definovaný vopred. Sústredí sa na to, ako maximalizovať tímovú schopnosť dodávať výsledky rýchlo, ako rýchlo reagovať na nové vznikajúce požiadavky a ako sa adaptovať na novo vznikajúce technológie a zmeny na trhu.

Rola v tíme

V SCRUM metodike existujú 3 hlavné role:

  • SCRUM master – Tento člen je zodpovedný za odstránenie prekážok v tíme, ktoré by bránili dokončeniu úlohy. SCRUM master nie je tradičný projektový manažér alebo team leader. Má za úlohu byť akýmsi prostredníkom medzi svojim tímom a nežiaducimi vplyvmi. To znamená, že tím usmerňuje a dohliada nad tým, aby sa SCRUM proces využíval tak, ako bolo naplánované a tím dodržiava vopred dohodnuté pracovné procesy.
  • Product owner – Má byť akýmsi hlasom zákazníka. Zameriava sa hlavne na biznis stránku projektu a nerieši technické záležitosti (akým spôsobom má byť splnenie požiadavky docielené). Jeho úlohou je prezentovať to, čo zákazník od svojho produktu chce a čo by malo byť výsledkom vývoja. Je veľmi dôležité, aby Product owner rozumel obom stranám. Musí byť schopný plne porozumieť potrebám zákazníka a tieto potreby potom pretlmočiť svojmu tímu.
  • Team member (tiež Development team) – Klasický pracant. Je to člen v tíme, ktorý plní vopred stanovené úlohy, ktoré vedú k zvýšeniu hodnoty výstupu v každom šprinte. Každý Team member si berie úlohy z " nástenky ", na ktorých pracuje tak dlho, kým ich nesplní. Až potom si z nástenky môžu vziať ďalšiu úlohu. Týchto členov je v SCRUM tíme okolo siedmich. Títo členovia tímu by sa nemali príliš meniť, pretože postupom času "dospievajú" a lepšie si rozumejú. To je veľmi dôležité pre tímovú spoluprácu:
.<> Úloha v scrum teamu - Testovanie softvéru podľa ISTQB - Testovanie softvéru podľa ISTQB

SCRUM Development Process

Načrtli sme si, o čom je SCRUM a že každý v tíme má svoju rolu. Ako ale takýto vývoj v SCRUMe vyzerá? Podobne ako pri metodike Rapid Application Development sa všetko točí dookola. Zo začiatku príde "hlavná úloha", ktorú by sa malo na konci dosiahnuť. Tím (môže to byť aj viac tímov) začne pracovať na časti úlohy. Tú časť potom prezentuje zákazníkovi, zákazník nám dá feedback a nové požiadavky. Toto sa opakuje stále dookola, kým nie je hotové. Takéto behy sa v SCRUM metodike nazývajú šprinty:

SCRUM sprint - Testovanie softvéru podľa ISTQB - Testovanie softvéru podľa ISTQB

Beh na krátku trať

Šprint je časový úsek, ktorý trvá pevne stanovený čas (často sú to dva týždne) av ktorom sa pracuje na splnení daných požiadaviek. Na začiatku šprintu prebieha plánovanie, v ktorom sa preberá rozsah práce, požiadavky a cieľ, ktorý sa má počas šprintu dosiahnuť. Počas prvej polovice takého plánovania celý SCRUM tím vyberá požiadavky, v ktorej veria, že môžu byť splnené. V druhej polovici dochádza k analýze práce, ktorá je potrebná na splnenie vopred diskutovaných požiadaviek. Akonáhle je táto práca vyhodnotená, môže dôjsť k vráteniu niektorých požiadaviek do takzvaného pomyselného vreca, pretože tím neverí, že by dokázal tieto požiadavky splniť v danom šprinte.

Schôdzky každý deň?

Počas šprintu dochádza k takzvaným Daily Scrumom, čo sú vlastne denné meetingy. Tieto meetingy by sa mali konať vždy na rovnakom mieste av rovnakom čase a trvajú presný stanovený čas (približne 15 minút). Tieto meetingy začínajú presne na čas, aj keď niektorí z tímu nie sú prítomní. Všetci členovia Team members musia na meeting prísť pripravení. Vítaný je každý, avšak vystupovať by mali predovšetkým členovia Team members. Na každom meetingu každý z Team members odpovedá na 3 dôležité otázky:

  • Čím som včera prispel k splneniu našej úlohy?
  • Čo plánujem urobiť dneska, aby som prispel k splneniu našej úlohy?
  • Vidím nejaké prekážky, ktoré by mohli mne alebo členovi tímu zabrániť v splnení našej úlohy?
Akákoľvek prekážka spomínaná na tomto meetingu by mala byť zachytená SCRUM masterom a odovzdaná vopred dohodnutému človeku, ktorý by mal počas dňa (mimo tento denný meeting) pracovať na vyriešení. Počas meetingu by nemala nastať žiadna detailná diskusia. Denné meetingy slúžia iba na zodpovedanie vyššie spomínaných otázok. Akonáhle daily scrum skončia, členovia tímu sa môžu stretnúť a ďalej prediskutovať veci spomínané na daily scrumu viac do hĺbky. Týmto post daily scrum schôdzkam sa tiež hovorí after party.

Pre projekty, kde na jednom produkte pracuje viac SCRUM tímov sa organizuje takzvaný Scrum Scrumov. Je to meeting, na ktorom sa stretnú zástupcovia jednotlivých tímov a podobne, ako na klasickom daily scrumu, prezentujú, čo ich tím dokázal.

Po úspešnom závode nie je vyhrané

Na konci šprintu sa dejú dve udalosti:

  • Sprint review meeting a
  • Sprint retrospective meeting.
Sprint review meeting v sebe obsahuje predstavenie úspešne dokončenej práce a práce, ktoré bola plánovaná, ale nesplnená. Ďalej sa prezentujú výsledky práce zákazníkom (väčšinou nejaká demo verzia, podobne ako u metodiky Rapid Application Development) a preberá sa, na čom by sa malo pracovať ďalej:
SCRUM - Testovanie softvéru podľa ISTQB - Testovanie softvéru podľa ISTQB

Na Sprint retrospective meetingu sa členovia tímu obzerajú za práve zdolaným šprintom. Hľadajú a súhlasia na opatreniach, ktoré majú za úlohu vylepšiť existujúce procesy. Pri tomto procese nastávajú tri otázky:

  • Čo počas šprintu išlo dobre?
  • Čo počas šprintu nešlo dobre?
  • Čo by sa mohlo zlepšiť, aby bola produktivita v ďalšom šprinte lepšia?
Vďaka svojej úlohe SCRUM master tento meeting veľmi zjednodušuje, pretože je jeho prácou dávať počas šprintu na tieto veci pozor.

Záver

SCRUM metodika je moderné riešenie pre vývoj softvéru, ale aj metodikou pre riešenie iných projektov. Najväčšiu rolu v nej hrá tím, v ktorom má každý člen pevne priradenú rolu. To môže byť najväčšia výhoda, ale aj najväčšia hrozba, pretože tím je len taký silný, ako jeho najslabší článok.


 

Predchádzajúci článok
Úvod do vývoja softvéru
Všetky články v sekcii
Testovanie softvéru podľa ISTQB
Článok pre vás napísala Jana Zimčíková
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity