Czym jest Scrum? Framework Scrum wyjaśnienie!
Scrum to zwinna metoda zarządzania projektem i jego realizacji. Dokładniej mówiąc, Scrum to framework – czyli szkielet – do zarządzania procesem. Początkowo Scrum był stosowany głównie w tworzeniu oprogramowania. Obecnie jednak Scrum jest wykorzystywany w najróżniejszych dziedzinach do zarządzania projektami – wszędzie tam, gdzie zespół pracuje nad produktem lub usługą. Czy to w e-commerce, branży IT czy zwinnym rozwoju sprzętu – wszędzie tam znajdziemy zastosowanie zwinnego zarządzania projektami według Scrum.
Zamiast, jak dotychczas w klasycznym planowaniu projektów czy produktów, szczegółowo określać każdy aspekt, w Scrum wiele decyzji, a wraz z nimi odpowiedzialność, przekazuje się zespołowi i zaangażowanym rolom. U podstaw tego podejścia leży przekonanie, że:
-
mamy świadomość, że przed nami wiele niewiadomych i nie jesteśmy w stanie przewidzieć każdego problemu, oraz
-
ufamy, że zwinny zespół lepiej poradzi sobie z rozwiązywaniem pojawiających się problemów. Z tego samego powodu Scrum Team podczas Sprint Planning Meeting zobowiązuje się do dostarczenia rezultatu dla klienta, a nie do wykonania listy zadań czy wymagań.
Scrum Team
Scrum opiera się na samoorganizujących się i wielofunkcyjnych zespołach. Samoorganizacja oznacza, że nie ma lidera zespołu, który decyduje, kto nad jakim zadaniem pracuje. Takie decyzje Scrum Team podejmuje wspólnie. Wielofunkcyjność z kolei oznacza, że zespół posiada wszystkie kompetencje niezbędne do dostarczenia uzgodnionego rezultatu na koniec Sprintu i że każdy członek zespołu jest do tego potrzebny.
Scrum Team, oprócz deweloperów czyli ról wykonawczych, uzupełniany jest przez dwóch dodatkowych członków. Scrum Master pełni rolę coacha procesowego i wspiera każdego członka zespołu w lepszym zrozumieniu Scrum oraz ciągłym doskonaleniu się za pomocą procesów w Scrum. Product Owner reprezentuje klienta i użytkowników, będąc ich przedłużeniem, i jest przede wszystkim odpowiedzialny za produkt.
Eventy Scrumowe
Aby optymalnie koordynować pracę Scrum Teamu, przewidziano szereg spotkań scrumowych z jasno zdefiniowanymi celami. Każdy Sprint – czyli etap, w którym powstaje przyrost (Inkrement) finalnego produktu – rozpoczyna się od Sprint Planningu. Celem Sprint Planning Meetingu jest wspólne wypracowanie Sprint Backloga na podstawie Product Backloga, poprzez wybór poszczególnych elementów Backloga, które spełniają Definition of Ready. Celem Planningu jest to, aby zespół mógł przez cały Sprint pracować nad wymaganiami priorytetyzowanymi przez Product Ownera i żeby nie pojawiały się żadne dodatkowe wymagania.
Praca w ramach Sprintu jest chroniona – dlatego w tym krótkim okresie nie wolno nakładać na zespół żadnych dodatkowych zadań z zewnątrz. Dzięki temu metoda Scrum zapewnia, że zespół realizuje priorytetowe zadania i nie reaguje na doraźne zakłócenia. Wyjątkiem są sytuacje krytyczne w firmie, takie jak na przykład awaria systemu IT czy zablokowanie kont marketingowych w GoogleAds, które i tak uniemożliwiają dalszą pracę Scrum Teamu.
Podczas Sprintu członkowie zespołu spotykają się codziennie na Daily Scrum, czyli Daily Standup. Ten rytuał jest ograniczony czasowo do 15 minut. Tematy, których nie da się omówić w tym czasie, są poruszane na osobnych spotkaniach. Daily Standup Meeting służy do synchronizacji zespołu i pracy. Najczęściej odbywa się bezpośrednio przed Scrum Boardem zespołu, aby każda User Story ze Sprintu była widoczna – co w zasadzie odpowiada liście zadań (to-do) danego Sprintu.
Na końcu każdego Sprintu odbywają się dwa kolejne spotkania. Podczas Sprint Review Meeting wykonana praca, czyli jej rezultat, jest prezentowana Product Ownerowi, interesariuszom, a czasem nawet klientom, i zbierany jest feedback. Ten feedback stanowi podstawę dla Backlogu na Sprint Planning Meeting kolejnego Sprintu.
Podczas Sprint Retrospektywy analizowany jest sposób, w jaki zespół pracował. Celem jest odkrycie słabych punktów i wdrożenie działań naprawczych, aby osiągnąć ciągłe doskonalenie procesów pracy.
Kiedy stosuje się Scrum?
Scrum to metoda zwinna, która podobnie jak Kanban czy często wspominany tak zwany "model Spotify" służy do uproszczenia procesu rozwoju funkcjonalności i daje możliwość reagowania na szybko zmieniające się warunki. W przeciwieństwie do na przykład Kanbana, Scrum wymaga wspomnianych już wyżej ról, a przede wszystkim podziału ról, aby mógł funkcjonować.
W Scrum Guide zasada stojąca za rolami oraz sama metoda są wyjaśnione w prosty i zrozumiały sposób. Zwinne zarządzanie projektami opiera się przede wszystkim na wspomnianej wyżej samoorganizacji oraz przestrzeganiu procesu Scrum.
Agile to ponadto pojęcie nadrzędne, które na nowo strukturyzuje ogólny sposób pracy w firmach i zmienia podejście do wyzwań. Zamiast od samego początku próbować wszystko zrozumieć i uwzględnić w procesie rozwoju, w podejściu Agile otwarcie uznaje się, że nie wiemy wszystkiego i że wiedza jest zdobywana dopiero w trakcie rozwoju.
Dzięki temu Developerzy mogą szybko reagować na zmieniające się wymagania i tworzyć nowe Product Backlog Items, jeśli zajdzie taka potrzeba. Za pomocą limitów WIP (Work-in-Progress) zapewnia się dodatkowo, że praca odbywa się w sposób skoncentrowany i ukierunkowany, a deweloperom nie są ciągle przydzielane nowe zadania, które nigdy nie zostały wcześniej priorytetyzowane.
Jak Scrum pomaga w rozwoju produktów?
Product Backlog i każdy pojedynczy Increment produktu, czyli każdy wpis w Product Backlogu, pomaga zbliżyć się do wyznaczonego celu. Wizualny Burn-Down Chart pomaga zespołowi deweloperskiemu w wizualizacji wykonanych zadań.
Zaletą tej wysokiej przejrzystości jest to, że szybko można rozpoznać, czy i przede wszystkim kiedy mogą pojawić się potencjalne przeszkody. Jeśli proces się zatrzymuje, Scrum Master może wcześnie interweniować i pomóc zespołowi deweloperskiemu, a jeśli Product Owner dostrzeże wyzwanie w rozwoju produktu, można się nim zająć już w następnym Sprincie.
Ważnymi elementami w zarządzaniu projektami Scrum są, obok Definition of Ready, która określa, czy User Story może trafić do Sprintu, także Definition of Done zespołu oraz kryteria akceptacji Product Ownera, które decydują o tym, kiedy User Story może zostać dostarczona klientowi lub użytkownikowi. Ponadto na pierwszym planie stoją funkcjonalności opracowanych features.
Praca zwinna odnosi się zatem przede wszystkim do wartości dla klienta i korzyści, które są dostarczane z każdym celem Sprintu.
Jak można nauczyć się Scruma?
Aby opanować Scruma, istnieje wiele dróg: możesz czytać książki i artykuły, uczestniczyć w szkoleniach lub wymieniać się doświadczeniami z doświadczonymi praktykami Scruma.
W Agile Academy oferujemy kompleksowe szkolenia dotyczące frameworka Scrum. Oprócz przygotowania do certyfikacji Scrum Alliance i Scrum.org opracowaliśmy również nasz własny, nowoczesny program certyfikacji: Certified by Agile Academy. Nasze certyfikaty są ważne dożywotnio, zorientowane na praktykę i podążają za jasną ścieżką rozwoju — Understand → Apply → Teach.
Nasze kursy obejmują intensywne szkolenia na żywo oraz elastyczne kursy online, z których niektóre są bezpłatne. Podczas tych szkoleń poznasz różne role, wydarzenia i artefakty Scruma oraz dowiesz się, jak praktycznie wdrożyć Scruma w projektach. Ponadto dajemy Ci wgląd w inne zwinne frameworki, takie jak Kanban i Design Thinking, aby pogłębić Twoje zrozumienie metod zwinnych.