Scrum
Wielu z nas zastanawia się jaką rolę pełni Scrum. Czym on właściwie jest i do czego służy? Gdzie się go stosuje i jakie są jego narzędzia?
Aby wszystkie wątpliwości zostały rozwiane, zapraszam do przeczytania artykułu poniżej.
Czym jest Scrum i na czym polega?
Scrum jest metodą wywodzącą się z Agile i opartą na jej zasadach. Scrum jest niewątpliwie jedną z najpopularniejszych metodyk zwinnych w zarządzaniu projektami z branży IT. Scrum ułatwia nam tworzenie nowego produktu, głównie związanego z oprogramowaniem. Jednak nie jest powiedziane, że musi to być jedynie oprogramowanie. Produktem może być dowolna rzecz, która pełni dla nas ważną, wartościową rolę.
Scrum składa się przede wszystkim z określonych wydarzeń ograniczonych czasowo. Czas pełni wówczas istotną rolę, ponieważ dzięki temu możemy uniknąć zbędnych dyskusji, a w zamian tego zająć się dostarczaniem przyrostu produktu co iterację.
Role w zespole Scrum’owym
Składają się na nie trzy istotne role, bez których proces tworzenia nie byłby możliwy. Razem noszą jedną wspólną nazwę Zespołu Scrum (po ang. Scrum Team), na który kolejno składają się:
- Zespół Deweloperski (ang. Development Team)
Jego zadaniem jest dostarczenie działającego produktu. Do jego cech wlicza się przede wszystkim to, że jest on cross-funkcjonalny oraz cross-komponentowy. Oznacza to, że dany zespół zawiera w sobie ludzi posiadających niezbędne umiejętności do stworzenia produktu. Zespół Deweloperski, aby funkcjonował prawidłowo, musi składać się z odpowiedniej liczby osób w swoim zespole. Jest tutaj zalecana liczba nie więcej niż 9 osób. Kiedy zespoły są małe, nawet w postaci 3 osób, jest udowodnione, że działają na najwyższych obrotach, a przez to są bardziej produktywne. Zalecane jest, aby cały zespół siedział stale w jednym pomieszczeniu, ponieważ ułatwi to ich wzajemną komunikację. Istotną rolę w tym punkcie pełni również komunikacja z Product Ownerem oraz Scrum Masterem. Członkowie Zespołu Deweloperskiego są całkowicie do niego przypisani. Warto również nadmienić, że nie pełnią oni formalnych ról, np. w postaci bycia analitykiem czy liderem menagerów. Każdy charakteryzuje się określoną specjalizacją i umiejętnościami.
Zespół Deweloperski musi sam organizować, mierzyć sobie czas pracy oraz dobierać do niej odpowiednie narzędzia. Głównie zajmuje się rozwiązywaniem tych problemów, które znajdują się w jego zasięgu. - Scrum Master
To do niego należy praca oraz wspieranie Zespołu Deweloperskiego oraz Product Owner’a. Jego rolą jest upewnianie się, czy współpraca tych dwóch organizacji odbywa się na odpowiednim poziomie oraz komunikacji – Scrum Master musi dbać o efektywność pomiędzy nimi. Często oferuje pomoc, jednak nie odpowiada na określone pytania wprost, tylko odpowiednio je nasuwa i podpowiada, aby członkowie zespołu sami do niego doszli.
Scrum Master jest przede wszystkim odpowiedzialny za odpowiednio efektywne wdrożenie, a następnie promowanie podejścia Agile. Do jego zadań należy również chronienie zespołu przed różnymi szkodliwymi czynnikami. Poprzez swoją obserwację zespołu pomaga dostrzec te elementy, które są niezauważalne na pierwszy rzut oka. Zatem Scrum Master dba o każdy detal. - Product Owner
Można go określić, jako klienta zespołu, który przedstawia swoją wizję na uzyskane oczekiwania względem zespołów. Skupia się głównie na biznesowych aspektach projektu. Zajmuje się powiększaniem zysków z inwestycji. Odpowiada również za współpracę z Zespołem oraz Scrum Master’em i odpowiednią komunikację między nimi. Product Owner zajmuje kluczową rolę, ponieważ do jego obowiązków należy ustalanie zadań w Rejestrze Produktowym. Jego wizja danego produktu musi być stale aktualizowana i sprawdzana pod kątem nowych, możliwych oczekiwań. Product Owner decyduje o wdrożeniu oraz o zakończeniu prac nad produktem.
Pozostałe osoby, które nie pełnią żadnej roli kolejno w Zespole Deweloperskim, Scrum Masterze oraz Product Ownerze są nazywani interesariuszami. Do grupy interesariuszy wliczają się użytkownicy oraz klienci, a także pozostali pracownicy firmy.
Wydarzenia Scrum’owe
Dzielą się na kilka obowiązkowych spotkań, których nie można przeoczyć. Są to między innymi:
- Sprint, zwany inaczej iteracją. Jest to czas pracy zespołu przeznaczony na tworzenie kolejnego przyrostu danego produktu. Sprint w razie potrzeby może prosić o pomoc Scrum Master’a oraz Product Owner’a. Każda Iteracja posiada w sobie wewnętrzny cel, a także zawiera wszystkie inne wydarzenia. Zwykle Sprint trwa od tygodnia do czterech.
- Planowanie Sprintu, które polega na ustaleniu danych celów. Spotkanie składa się z dwóch części. Pierwsza z nich ma za zadanie odnalezienie odpowiedzi na pytanie co ma powstać i co jest do zrobienia. Druga część opiewa na pytaniu jak praca ma zostać wykonana.
- Codzienne spotkania, odbywające się każdego dnia, mające na celu synchronizowanie wzajemnej pracy zespołów.
- Porządkowanie Rejestru, w którym Product Owner i zespół zajmuje się porządkowaniem Rejestru Produktu i poprawia elementy, które mogą się znaleźć w następnej Iteracji. W ten sposób muszą być gotowe na Planowanie Sprintu.
- Przegląd Sprintu, który odpowiada za omówienie kwestii związanych produktem. Spotkanie zwykle nie trwa dłużej niż 2-4 godziny.
- Retrospektywa jest drugim spotkaniem, które kończy Sprint. W tym punkcie zespół szuka sposobów, które mogą przydać się w usprawnieniu pracy.
Narzędzia(Artefakty) Scrum’a
- Śledzą i planują postęp pracy. Składają się na niego:
Przyrost Produktu – jest to produkt rozszerzony o nowe możliwości, który powinien dostarczyć Zespół na koniec Sprintu. - Rejestr Produktowy – lista potrzeb, za którą zarządzaniem odpowiada Product Owner. Zespół Deweloperski powinien dostarczyć jej kolejne części w Sprintach.
- Rejestr Sprintu – składają się na niego elementy pochodzące z Rejestru Produktu przekazywane do Sprintu.
