Czym jest Scrum?

Co to jest Scrum?

Nie można zacząć mówić o Scrumie bez zarysowania metodyki Agile, na której to Scrum bazuje. Agile opiera się na elastycznym, zwinnym procesie wytwarzania oprogramowania ujętym w iteracjach. W przeciwieństwie do kaskadowego podejścia, które ukierunkowane jest na stały, ciągły proces realizowany wg wcześniej ustalonej ścieżki Agile pozwala na szybkie otrzymywanie informacji zwrotnych, a co za tym idzie łatwiejszą adaptację zmian czy ulepszeń. Praca, która jest podzielona na cykle ma zadanie dostarczać określone funkcjonalności w krótszych okresach czasu jednocześnie sprawnie reagując na potencjalne zmiany w kontekście biznesowym, czy technologicznym. Mniejsze zadania w krótszych cyklach charakteryzują się lepszą efektywnością na tyle skutecznie, że wiele firm z sektora IT wybiera właśnie Agile jako sposób zarządzania projektami, korzystając przy tym z różnych podejść takich jak: Kanban, Lean System Development (LSD), Feature Driven Development (FDD). Jak pokazuje raport State of Agile z 2022 roku SCRUM jest najczęściej stosowanym rozwiązaniem wśród firm reprezentujących zwinne podejście do zarządzania projektami (jego użycie deklaruje 87% ankietowanych).

Definicja Scruma po raz pierwszy została przedstawiona Kena Szwabera i Jeffa Sutherlanda w 1995 roku podczas konferencji OOPSLA. Posługując się słowami autorów „Przewodnika po Scrumie”: „Fundamentem Scruma jest empiryzm i koncepcja lean. Istotą empiryzmu jest to, że wiedza wynika z doświadczenia, a decyzje podejmowane są na podstawie tego, co można zaobserwować. Koncepcja lean ogranicza straty i koncentruje się na tym, co najważniejsze”. Podstawy Scruma są wypadkową doświadczenia, chęci minimalizowania strat i skupienia na celu. Natomiast wektorami dalszych działań są reguły, wartości, ceremonie i artefakty opisane we wspomnianym już kompendium wiedzy o Scrumie.

Charakterystyka Scruma

Wyróżnia się 3 główne filary Scruma pozwalające na skuteczne i sprawnie działanie w duchu metodyki Agile:

  • Transparentność – praca i jej efekt powinien być widoczny dla osób ją wykonujących, bez przejrzystości nie jest możliwa inspekcja.
  • Inspekcja – inspekcja bez przejrzystości prowadzi do błędów, częsta inspekcja na podstawie 5 spotkań Scrumowych ułatwia wykrycie potencjalnych problemów.
  • Adaptacja – jest możliwa poprzez inspekcje pozwalające na korektę źle działających procesów lub elementów produktu.

Jednak samo prowadzenie projektu na podstawie ram postępowania określanych w Scrumie nie jest gwarantem sukcesu. By Scrum mógł przynosić pożądane efekty, ważne jest również wyznawanie 5 wartości: Zaangażowania, Skupienia, Otwartości, Szacunku i Odwagi. Wartości te, opublikowanie po raz pierwszy w 2016 roku w „Przewodniku po Scrumie” stanowią kierunek i dopełnienie wspomnianych wcześniej filarów, dzięki czemu zwiększa się szansa na powodzenie projektu.

Artefakty Scruma

Niezbędnymi narzędziami potrzebnymi do wprowadzenia wspomnianych 3 filarów Scruma (Transparentności, Kontroli, Adaptacji) w życie są tzw. Artefakty, czyli kluczowe informacje wykorzystywane przez zespół Scrumowy i interesariuszy do opracowywania produktu. Jako główne artefakty Scrum w metodyce Agile wymienia się: 

  • Backlog Produktu – jest to dynamiczna i uporządkowana lista wszystkich elementów związanych z opracowywanym produktem. W skład Backlogu wchodzą nowe funkcje, wymagania i ulepszenia jako efekt wyjściowy wprowadzonych danych takich jak analiza biznesowa, wymagania rynku, czy analiza konkurencji.
  • Backlog Sprintu – zawiera wybrane elementy pochodzące z Backlogu Produktu, ale skupiające się na osiągnięciu Celu Sprintu w danej iteracji. Duże zadania są dzielone na mniejsze, możliwe do wykonania elementy sprintu, i rozdysponowywane poszczególnym członkom zespołu. W przypadku, gdy zespół nie jest w stanie ukończyć powierzonych zadań w trakcie danego sprintu, niezrealizowane zadania trafiają do Backlogu, by wrócić do realizacji w kolejnych iteracjach.
  • Przyrost produktu – stanowią wszystkie elementy dostarczone klientowi zrealizowane w trakcie ostatniego sprintu jak również przyrosty produktu osiągnięte w poprzednich iteracjach.

Artefakty w Scrumie mają na celu zwiększenie wydajności pracy zespołu, dlatego istotne jest, żeby członkowie zespołu mieli do nich dostęp oraz aby Scrum Master i Product Owner na bieżąco monitorowali ich zawartość.

Praca w Scrumie

Za serce Scruma uważany jest sprint, czyli skończona iteracja, której efektem jest produkt lub jakaś funkcjonalność z produktem związana. Natomiast sam zespół tzw. Zespół Scrumowy stanowi formę kooperacji pomiędzy właścicielem produktu reprezentującym klienta - Product Ownerem, trzymającym pieczę nad poprawnie wdrażanymi ideami Scruma - Scrum Masterem oraz zespołem deweloperskim odpowiedzialnymi za dostarczenie produktu. Z założenia zespół deweloperski jest posiadaniu wszystkich potrzebnych umiejętności do tego, by docelowy produkt powstał, jednak w jego skład nie wchodzą, jak mylnie nazwa sugeruje, tylko deweloperzy, ale również testerzy, czy osoby pełniące inne funkcje np. designerzy. 

Praca w Scrumie zorganizowana jest wokół konkretnych wydarzeń ograniczonych czasowo w duchu idei osiągania przyrostu przynajmniej raz w miesiącu. Rozróżniamy następujące rodzaje spotkań:

  • Sprint Planning – planowanie sprintu polega na określeniu, nad czym zespół będzie pracował, w jaki sposób oraz co pragnie osiągnąć. Plan sprintu jest efektem wspólnej pracy całego zespołu Scrumowego, a jego zwieńczeniem jest Cel Sprintu.
  • Daily Scrum – 15-minutowe spotkanie cykliczne dla zespołu deweloperskiego w celu rewizji dotychczasowej pracy oraz priorytetyzacji kolejnych zadań. Dobrze przeprowadzone Daily pozwala na szybką reakcję zespołu w przypadku napotkania trudności lub blokerów, by nie nie stracić z oczu Celu Sprintu i maksymalizować szansę na jego osiągniecie.
  • Backlog Refinement –spotkanie mające na celu porządkowanie i uaktualnienie Backlogu Produktu. Polega na przygotowaniu zadań usytułowanych najwyżej w Backlogu do realizacji, a jeśli istnieje taka potrzeba, podzieleniu ich na mniejsze części lub ponownym ustrukturyzowaniu ich wg priorytetów.
  • Sprint Review – spotkanie odbywające się pod koniec sprintu polegające na prezentowaniu członkom zespołu oraz interesariuszom zadania ukończone w danej iteracji.
  • Sprint Retrospective – spotkanie określane niekiedy manifestacją 3 filarów Scruma. U jego podstaw leży refleksja nad ukończonym sprintem i wnioski wyciągnięte z tychże rozważań. Retrospektywa weryfikuje przebieg sprintu, wskazuje możliwe ulepszenia, określa akcje i działania, które jako konkluzja spotkania mają być ujęte w przyszłości.

Skalowanie Scruma

Cytując twórców „Przewodnika po Scrumie” „Scrum jest lekki, łatwy do zrozumienia i trudny do opanowania” i choć w wielu przypadkach okazuje się świetnym rozwiązaniem, istnieją firmy, w których nie działa tak, jak powinien. Alternatywnym podejściem może być np. wdrożenie techniki Scrum of Scrums, czy SAFe (Scaled Agile Framework) tzw. Scalowany Scrum.

Scrum of Scrums – metodyka SoS po raz pierwszy została wdrożona w 1996 roku przez Jeffa Sutherlanda i Kena Szwabera jako odpowiedź na problem skoordynowania wielu jednostek biznesowych. Wprowadzenie SoS ma za zadanie ułatwić współpracę wielu zespołom, które mają dostarczyć złożone rozwiązania.

SAFe – podobnie jak SoS ma zastosowanie w bardziej skomplikowanych projektach rozpisanych na wiele lat, w których uczestniczy duża liczba osób. SAFe pozwala na wdrożenie zwinności na poziomie korporacyjnym i organizację pracy opartą na wielu działach. Dean Leffingwell i Drew Jemilo po raz pierwszy 2011 roku opublikowali ramy postępowania SAFe. Charakterystyczną cechą SAFe jest fakt, że, mimo że koncepcje i słownictwo bazuje na Scrumie to reprezentuje w pewnym stopniu również klasyczne podejście do tworzenia produktu.

Podsumowanie

Jak zostało już wspomniane na samym początku artykułu, Agile jako najpopularniejsza metodyka oferuje różne warianty, które w zależności od struktury, liczebności zespołu, charakterystyki projektu, czy natury samego produktu można adaptować. Oprócz Scruma i SAFe wyróżnić można jeszcze inne wariacje na podstawie metodyki zwinnej np. LeSS (Large Scale Scrum) czy (Nexus). Istnieje wiele kombinacji możliwych do wdrożenia adekwatnie do potrzeb i możliwości danego przedsiębiorstwa w celu zwiększenia produktywności i przyśpieszenia dostarczania produktu. Jednak nie sama metodologia decyduje o sukcesie, lecz odpowiednie jej wdrożenie i dobra asymilacja w struktury organizacji.