Scrum jest iteracyjną (występują w niej sprinty) i przyrostową metodyką należącą do grupy metodyk zwinnych (Agile).
Role w Scrumie:
Jeśli chodzi o pojęcie ról w Scrumie, myślimy głównie o Scrum Team – osobach bezpośrednio poświęcające się w pracę w Scrumie. Są to Product Owner, Scrum Master oraz Development Team.
- Product Owner – reprezentuje interesariuszy i użytkowników projektowanego systemu. Jest odpowiedzialny za definiowanie zakresu prac, pilnowanie opłacalności biznesowej, wyznacza też priorytety zadań.
- Scrum Master – broni Zespół przed zewnętrznymi wydarzeniami, mającymi wpływ na pracę zespołu.
- Development Team – samoorganizujący się zespół, którego celem jest realizacja zadań zawartych w Sprint Backlogu. Przyjmuje się, że każdy z członków zespołu bierze zadania według zdefiniowanego przez Product Ownera priorytetu, a następnie własnych preferencji.
Pamiętać trzeba też o otoczeniu zespołu Scrumowego – pojawiają się tutaj osoby, które są zaangażowane w projekt.
- Others – osoby zainteresowane projektem, ale nie mające na niego bezpośredniego wpływu. To przed nimi Scrum Master chroni Development Team. Są to w szczególności członkowie zarządu, eksperci firmowi, członkowie innych zespołów, czy przyszli użytkownicy systemu.
Ciekawym zobrazowaniem podziału pomiędzy Scrum Teamem a Innymi w projekcie, jest historia o prosiaku i kurczaku. Dotyczy ona pomysłu założenia knajpy o nazwie „Jajka na bekonie”. W takiej sytuacji, prosiak, aby osiągnąć cel, musi się poświęcić, kiedy kurczak jest tylko zaangażowany.
Scrumowe artefakty:
- User Story – wymaganie biznesowe, odpowiednio zdekomponowana funkcja systemu, zapisana w postaci zrozumiałej historyjki użytkownika.
- Product Backlog – zbiór wszystkich User Stories zorganizowanych w zadania.
- Sprint Backlog – zbiór zadań stanowiących zakres przypisanego im Sprintu. Wykonanie wszystkich zadań ze SB jest celem poszczególnych Sprintów.
Wydarzenia, procesy Scruma
- Sprint – jest to jedna iteracja tworzenia systemu, ograniczona czasowo (od 1 tygodnia do 1 miesiąca). Każdy z nich ma swój Sprint Backlog, z którego Development Team bierze i realizuje zadania.
- Sprint Planning – każdy Sprint zaczyna się od planowania zadań – zespół wycenia pracochłonność poszczególnych User Stories, a Product Owner decyduje, które z nich trafią do Sprint Backlogu.
- Daily Scrum – codzienne, maksymalnie 15 minutowe spotkanie członków Scrum Team’u, podczas którego opowiadają oni, co zrobili w ramach realizacji celu Sprintu, co będą robić, oraz jakie napotkali przeszkody w realizacji zadań.
- Sprint Review – Przegląd stanu systemu na koniec Sprintu zakończone prezentacją (demo) wyniku Sprintu przed klientem.
- Sprint Retrospective – spotkanie prowadzone po Sprint Review, mające na celu podsumowanie minionego Sprintu, wskazanie jego słabych i mocnych stron, z uwzględnieniem pomysłów mających na celu usprawnienie prac w przyszłym Sprincie.
Best practices
- Rozmiar zespołu Scrumowego – od 3 do 9 osób.
- Długość Sprintu – od 1 tygodnia do 1 miesiąca.
- Scrum of Scrums – technika, w której każdy zespół scrumowy.
- Głosowanie nad różnymi usprawnieniami na Sprint Retrospective.
- Wyznaczenie ścieżki krytycznej sprintu i priorytetyzacja zadań