Scrum - czym jest i jak działa zwinna metodyka pracy?
Co to jest scrum? Jak pracuje się w metodyce scrum? Definicja scrum.
Scrum to metodologia projektowa określająca zasady działania zespołów tworzących nowy produkt. Scrum powiązany jest z Agile, gdyż daje on narzędzia do zwinnej pracy. Podejście to ma swój początek w IT, więc często produktem, który jest tworzony przy pomocy metodyki scrum, jest oprogramowanie. Produktami mogą być tak naprawdę dowolne rzeczy, które wytwarzane są zespołowo. Scrum skupia się na samoorganizacji zespołu oraz dostarczaniu coraz to lepiej dopracowanych projektów.
Czym jest scrum team, jakie są role w scrum?
Metodyka scrum oparta jest na pracy zespołu, w którym każda osoba ma różne kompetencje uzupełniane przez innych.
Product owner
Osobą, która zna produkt najlepiej i odpowiada za niego, jest product owner. Zbiera on informacje na temat wymagań i oczekiwań, aby utworzyć product backlog. Jest to nic innego jak zbiór zadań, elementów, które zawiera nasz produkt. Lista ta uporządkowana jest od zadań najważniejszych do zadań najmniej ważnych. Hierarchia zadań ustalana jest przez product ownera. Lista zawiera tzw. cel produktu, który określa najważniejszą rzecz.
Deweloperzy, scrum sprint
Następną grupą są deweloperzy, którzy odpowiadają za projektowanie, programowanie, analitykę oraz wytwarzanie produktu. Zespół spotyka się na tzw. spotkaniu planowania sprintu (sprint planning), na którym z listy wybierają zadania, które są w stanie zrobić w ciągu kolejnego cyklu pracy. W efekcie powstaje sprint backlog, który jest zbiorem zadań, które dostarczymy w trakcie trwania danego sprintu. Sprint to cykl czasowy, który ustalamy na wykonanie naszych zadań. Zazwyczaj jest to okres od 1 do 4 tygodni. Sprint daje product ownerowi gwarancję, że wie co dzieje się z produktem. Sprint posiada także swój cel (sprint goal), który określa, co product owner chce osiągnąć w danym sprincie. Wszystkie zadania sprintu powinny zostać ukończone zgodnie z definicją ukończenia, aby uniknąć niezgodności.
Daily standup
Podczas wykonywania zadań ważne jest, aby miał miejsce daily standup. Jest to spotkanie pod koniec każdego dnia, na którym omawiany jest postęp prac, jaki jest plan, nad czym pracujemy oraz jakie problemy ewentualnie napotkaliśmy. Jest to bardzo ważna część pracy nad projektem – robiąc codziennie spotkania, unikniemy opóźnienia. Podczas sprintów obydwa się także porządkowanie backlogu produktu, na który zespół poświęca 5-10% czasu sprintu.
Scrum master – kto to tak naprawdę jest? Obowiązki i zadania scrum mastera
W każdej pracy potrzebny jest ktoś, kto będzie odpowiedzialny za pilnowanie zasad oraz członków zespołu, aby ci pracowali w konkretny, zaplanowany wcześniej sposób. Odpowiedzialny za to jest scrum master, czuwa on nad backlogiem, sprintami oraz daily standupami. Pomaga on zespołowi pracować według nowej metody, kształtując nawyki.
Przegląd sprintu
Każdy sprint kończy się przeglądem sprintu, podczas którego zespół pokazuje, co stworzył podczas danego sprintu oraz zbiera feedback od klienta. Na podstawie tych informacji product owner decyduje o dalszym przebiegu prac, aktualizując backlog. Końcowym punktem jest retrospekcja sprintu, czyli wyciąganie wniosków. W spotkaniu biorą udział product owner, deweloperzy oraz scrum master, podsumowując, co poszło dobrze, co źle, a nad czym warto byłoby popracować w kolejnym sprincie. Celem tego spotkania jest to, aby kolejny sprint był wydajniejszy, lepszy oraz żeby zespół pracował lepiej.
Co daje nam retrospekcja i daily standup
Dzięki retrospekcji i daily standup, podczas kolejnego sprintu znamy produkt o wiele lepiej.
Product owner wie, które zadania są najbardziej wartościowe dla klienta. Zespół uczy się coraz lepiej dobierać zadania i je planować, dzięki czemu sprint i backlogi są coraz to lepsze. Lepiej planujemy zadania i wiemy lepiej, ile jesteśmy w stanie dostarczyć i w jakim czasie.
Podczas pracy w stałych cyklach, eliminujemy zmienne czasowe – łatwiej jest coś zaplanować i szybciej dostarczyć.
Filary scrum, wartości i zasady scrum
Scrum oparty jest o trzy filary empiryzmu.
- Przejrzystość (Transparency) – działania w projekcie są widoczne dla wszystkich. Wiemy jakie zadania są wykonane oraz gdzie są problemy.
- Inspekcja (Inspect) – możliwa jest dzięki przejrzystości, pozwala na analizę zespołu oraz produktu umożliwiając szybkie wykrycie błędów czy możliwości rozwoju funkcjonalności.
- Adaptacja (Adapt) – to zmiany, które dostosowują produkt do aktualnych potrzeb. Możliwa jest zmiana technologii, sposobu pracy czy zmiany w zespole.
Scrum opiera się na pięciu wartościach: zaangażowaniu, skupieniu, otwartości, szacunku oraz odwadze. Bez opierania się na tych wartościach stosowanie scrum nie ma sensu oraz nie przyniesie efektów.
Tablica scrum (scrum board)
Tablica scrum pokazuje, na jakim etapie pracy w aktualnym sprincie jesteśmy. Przebieg sprintu możemy zapisywać na tablicy fizycznej (korkowej, magnetycznej) lub elektronicznej (różnego rodzaju aplikacje np. Asana, Jira, Trelo). To, co znajdzie się na tablicy, zależy od zespołu deweloperskiego.
Aby ułatwić sobie pracę, należy podzielić tablicę na trzy kategorię: To do, In Progress, Done. Do opisywania zadań na tablicy możemy używać karteczek samoprzylepnych, które możemy łatwo przemieszczać oraz edytować.
Zespół deweloperski powinien móc zmieniać wygląd oraz kategorie tablicy, aby czerpać z niej jak największe korzyści.
Scrum a Agile, Scrum Guide 2020
Agile to zbiór zwinnych metodyk pracy nad rozwojem produktu.
Najpopularniejszą metodyka pracy Agile jest właśnie Scrum. Opisany jest on szczegółowo w „The Scrum Guide” (pol. Przewodnik po Scrumie). Sprawdź Scrum Guide 2020.