Spis treści
- Scrum — co to jest?
- Jak działa Scrum?
- Role w Scrum
- Zasady
- Mity na temat Scrum
- Gdzie Scrum może się sprawdzić?
- Czy (i dlaczego) warto?
- Czy naprawdę jest tak kolorowo?
- Podsumowanie
Scrum — co to jest?
Słysząc tę nazwę, nie sposób uniknąć odniesień do Agile. Co to jest i w jaki sposób obydwa pojęcia odnoszą się do siebie? Postaram się uporządkować nieco pojawiający się gdzieniegdzie bałagan pojęciowy i przekazać Ci konkretną wiedzę, przydatną w dokonywaniu zmian we własnej firmie.
Agile to tzw. zwinne podejście do tworzenia oprogramowania. Posiada swój własny manifest oraz zasady, które w jego ramach powinny być przestrzegane. Ogólna idea ma prowadzić do implementacji metody pracy nad projektem, która pozwoli na szybkie reagowanie, sprawne wykonywanie kolejnych kamieni milowych związanych z danym produktem, motywację oraz nieskrępowaną współpracę pomiędzy różnymi specjalistami/działami, a także maksymalną prostotę procesu. Bardzo ważna jest tutaj samoorganizacja zespołu — w kolejnych etapach zespół powinien analizować wszelkie możliwości poprawy wydajności i wprowadzać pomysły w życie.
W zarysowanym powyżej kontekście koncepcji Agile Scrum wpisuje się widocznie w założenia programowania zwinnego. Powstał on w głównej mierze jako metoda tworzenia produktów IT. Chodzi w nim przede wszystkim o sprawną pracę nad projektem, stałe dostarczanie działających części lub funkcjonalności tworzonego produktu, a także optymalizację działań zespołu i ciągły nadzór nad wykonywanymi zadaniami. To wszystko powinno stać się zupełnie jasne po omówieniu szczegółowych zasad Scruma, o której już za chwilę. Ready, steady...
Jak działa Scrum?
Sama metodyka Scrum nie jest zbyt skomplikowana. Najtrudniejsza w tym wszystkim jest integracja podanych informacji i wdrożenie metody w praktyce. Podstawą jest dokładne zrozumienie idei, poszczególnych etapów, a także roli każdego z uczestników projektu. Dla optymalnego działania niezbędne jest również bezwzględne przestrzeganie reguł, które znajdują się w oficjalnym Scrum Guide. Kto zatem bierze udział w procesie i jak on przebiega?
Role w Scrum
Product Owner
Właściciel produktu odpowiada, jak sama nazwa wskazuje, za proces powstawania danej rzeczy (może to być zarówno program, strona internetowa, jak i inne produkty, nie tylko z branży IT). Tworzy on listę poszczególnych zadań do wykonania w ramach projektu i koordynuje działanie zespołu realizującego całe przedsięwzięcie.
Zespół
Jego członkowie tworzą produkt, wykorzystując swoje umiejętności w danej dziedzinie (np. programiści kodujący stronę www). W ich przypadku najważniejsze jest optymalne dobieranie zadań oraz przestrzeganie zasad rządzących frameworkiem.
Scrum Master
Nadzoruje cały proces i dba o to, by reguły Scrum były w pełni przestrzegane przez wszystkie zaangażowane osoby.
Zasady
Metodologia Scruma stanie się bardziej zrozumiała, jeśli spojrzysz na poniższą grafikę. Jak wyglądają kolejne kroki i jakie zadania czekają na zespół projektowy (włącznie z Product Ownerem oraz Scrum Masterem)?
- Product Backlog — kreowany przez Product Ownera (w porozumieniu z pozostałymi członkami zespołu projektowego). Jest to lista zawierająca wszystkie działania niezbędne do stworzenia danego dzieła. Najczęstszą (i bardzo dobrze sprawdzającą się w rzeczywistości projektowej) praktyką jest układanie wszystkich części w kolejności od najważniejszych, do coraz mniej istotnych. Trzeba tez wziąć tutaj pod uwagę ich złożoność. Wszystko musi być zaplanowane w ten sposób, by zespół mógł wykonać w pełni wszystkie zaplanowane na ten etap zadania.
- Sprint Planning — spotkanie, na którym ustalany jest przydział obowiązków dla członków zespołu wykonującego określony produkt. Chodzi o to, by zadania z Product Backlog przeanalizować, ustalić, ile z nich da się zrobić podczas jednego sprintu oraz jak je rozłożyć, by po jednej iteracji stworzyć pewną działającą całość.
- Sprint Backlog — lista zadań odnoszących się do jednego sprintu
- Sprint — okres, w którym zadania ze Sprint Backlog są wykonywane przez zespół. Kończy się wykonaniem funkcjonalnej części ostatecznego produktu. Powinien trwać od 1 do 4 tygodni. Konkretna liczba zależy od wielu czynników, w tym stopnia skomplikowania projektu oraz „rozmiaru” poszczególnych zadań.
- Daily Scrum — codzienne spotkania (często w postaci standup meeting, czyli na stojąco, by uzyskać maksymalne skupienie na omawianym zagadnieniu), na których określa się dotychczasowe postępy, ujawnia powstające problemy i ustala sposoby ich pokonywania.
- Przegląd (Sprint Review) — zespół w ramach sprintu tworzy funkcjonalność lub część produktu, która podlega ocenie. W skład zespołu oceniającego mogą wchodzić zarówno członkowie ekipy projektowej, inne osoby z firmy, jak i sami interesariusze. Bardzo ważne jest tutaj przekazanie jasnego feedbacku, który pozwoli na uzyskanie informacji, czy praca nad produktem idzie w dobrą stronę, czy potrzebne są jakieś poprawki.
- Increment (przyrost) — w pełni ukończona część produktu, a w języku scruma — jego przyrost. Jest to oceniony i przetestowany wynik działania pojedynczego sprintu, który przeszedł etap przeglądu.
- Retrospekcja — jeden z ważniejszych etapów całej operacji, ponieważ decyduje o dalszych postępach. Podczas Sprint Retrospective analizuje się wszystkie etapy powiązane z danym sprintem i wyciąga wnioski na przyszłość — co można zrobić lepiej, jak zoptymalizować proces, w jaki sposób przydzielić następne zadania. Chodzi o to, by następna iteracja przebiegła jeszcze sprawniej.
Praca nad produktem obejmuje określoną liczbę sprintów, aż do ostatecznej finalizacji projektu.
Przykład
Firma dostaje zlecenie wykonania sklepu internetowego dla marki sprzedającej ręcznie szyte worko-plecaki. Product Owner sporządza listę wszystkich działań niezbędnych do wykonania całej, w pełni funkcjonalnej strony internetowej, czyli Product Backlog (np. strona główna, konkretne podstrony, blog). Następnie członkowie zespołu oceniają realnie swoje możliwości i w czasie spotkania tworzą swój Sprint Backlog, z którego powstaje lista konkretnych zadań na następne 2 tygodnie (tyle trwa w naszym przypadku jeden sprint). Załóżmy, że w skład tych zadań wchodzi zakodowanie szablonu strony, konfiguracja narzędzi i podstawowe funkcjonalności, pozwalające poruszać się swobodnie po głównej stronie. Zespół deweloperski rozpoczyna działanie, omawiając codziennie wszystkie ważne kwestie na Daily Scrumach. Po 2 tygodniach zespół przedstawia produkt na danym etapie, który podlega przeglądowi i ocenie. Rezultatem jest główna strona z gotowym szablonem i podstawowymi funkcjonalnościami, do której w kolejnych sprintach dobudowane zostaną następne moduły. Ostatnim etapem jest Retrospekcja, czyli kompleksowa ocena przebiegu sprintu, która wpływa na organizację następnej iteracji. Zespół zbiera się ponownie i dobiera kolejne zadania z Product Backlog.
Mity na temat Scruma
Warto jeszcze przytoczyć parę mitów lub błędnych intuicji dotyczących Scruma, które mogą pojawić się na samym początku przygody z tym konstruktem.
- Scrum to nie jest metoda przyspieszania pracy — choć ma służyć również temu celowi. Kiedy jednak wyjdzie się od tego warunku, można mieć trudności z właściwą implementacją frameworka. W głównej mierze chodzi o to, by zapewnić dobrą współpracę pomiędzy członkami zespołu oraz jasną ścieżkę postępowania, która pozwoli uzyskać stały przyrost wartości danego produktu.
- Scrum nie określa metod i narzędzi służących do wykonania koniecznych zadań — to bardzo ważne w kontekście zrozumienia całej idei. Scrum to pewnego rodzaju rama, w której mogą zmieścić się różne style i tryby pracy. Ważne jest tylko to, żeby przestrzegać wyznaczonych reguł.
- Scrum nie daje kontroli nad całym projektem — nie jest to więc system do zarządzania projektami. Skupia się on wyłącznie na kolejnych sprintach. Efektem jest oczywiście gotowy produkt, jednak do pełnej kontroli wykonania całego, gotowego produktu scrum nie wystarczy. Z jego pomocą można stworzyć konkretne funkcjonalności i dokładać je do istniejącej części na zasadzie przyrostu.
Gdzie Scrum może się sprawdzić?
Z racji swojej specyfiki Scrum wykorzystywany jest najczęściej w branży IT, w której praca nad aplikacją, stroną internetową, grą itd. doskonale wpisuje się w omówione powyżej zasady. Kolejne etapy dokładają następne części, cechy, możliwości, a klient ma okazję śledzić powstawanie zleconej pracy. Gdzie jeszcze można z powodzeniem wcielać w życie ten framework?
Obszerne źródło informacji stanowi raport Scrum Master Trends 2019, który zawiera dane pochodzące od 2100 osób pracujących jako Scrum Master z 87 krajów na całym świecie. Według niego poza firmami zajmującymi się oprogramowaniem oraz usługami internetowymi (gdzie pracuje 33% badanych) scrum wykorzystywany jest w firmach:
- finansowych i ubezpieczeniowych (16%),
- consultingowych (10%),
- dostarczających rozwiązania z zakresu inżynierii oraz technologii (7%),
- telekomunikacyjnych (5%),
- transportowych (4%).
Oczywiście część osób pracujących w branżach niezwiązanych z IT może pracować w działach rozwijających oprogramowanie dedykowane dla danej firmy, a takich danych raport nie przekazuje. Nadal jednak ujawnia on dużo, w kontekście potencjalnego wykorzystania zwinnego podejścia do zarządzania projektem.
Czy (i dlaczego) warto?
Można by pewnie dużo i niezwykle kwieciście pisać o tym, jak Scrum oddziałuje na funkcjonowanie firmy, ale najlepiej posłużyć się danymi. Oczywiście dane, jak to dane, każdy ma swoje. Dlatego opieram się na informacjach z pierwszej ręki, tj. z raportu 2017-2018 State of Scrum Report for Agile Professionals, w którym przebadano 2000 praktyków tego frameworka. Jakie ciekawe dane można w nim znaleźć?
- 97% respondentów zamierza kontynuować korzystanie ze Scruma w przyszłości,
- 85% twierdzi, że Scrum stale poprawia jakość pracy nad projektami,
- 71% wskazuje, że jego stosowanie doprowadza do dostarczania wartości dodanej dla klientów,
Ważne jest w tym miejscu zaznaczenie, że zalety stosowania nowej organizacji mogą być widoczne dopiero po pewnym czasie. Badania (np. te lub te) wskazują, że stosowanie zasad Scrum, prowadzi w dłuższej perspektywie do krótszego czasu i mniejszych kosztów związanych z tworzeniem danego produktu, a także zwiększa dokładność i transparentność pracy (przy większej satysfakcji z jej wykonywania).
Czy naprawdę jest tak kolorowo?
O ile prawidłowa implementacja zasad Scrum może mieć zbawienne skutki dla niektórych firm, nie jest to rozwiązanie wszystkich problemów i, co ważniejsze, nie jest dla każdego. Dodatkowo wdrożenie może okazać się dużym wyzwaniem. Raport przytaczany w poprzednim paragrafie wskazuje np., że 51% praktyków wskazało, że implementacja Scruma okazało się trudnym zadaniem, 44% z nich zaznaczyło, że problemów przysporzyła transformacja z tradycyjnego systemu Waterfall. Dodatkowe problemy, jakie pojawiły się w raporcie, to: brak jasnych zasad i wyznaczników, którymi zmierzyć można stopień powodzenia wykonania danego projektu, trudności w motywacji zespołu czy brak zaufania do nowego systemu. Tutaj widać jak na dłoni, dlaczego przy wdrażaniu zmienionej organizacji pracy niezbędny jest Scrum Master czuwający nad prawidłowym przebiegiem, budujący morale członków całego zespołu i wyjaśniający wszystkie sporne kwestie.
Podsumowanie
Scrum to niezwykle ciekawy koncept, który może znacznie poprawić funkcjonowanie firmy nastawionej na model projektowy, dlatego jest chętnie wykorzystywany m.in. przez Software House'y oraz agencje interaktywne. Powyższe informacje powinny pozwolić Ci w pełni zrozumieć, czym jest Scrum, jakie są jego zasady i dlaczego warto się nim zainteresować. Nie jest to oczywiście jedyna zwinna metoda, jednak z pewnością króluje w kwestii popularności. Stosując sprytne rozwiązania, wspomagające pracę nad projektem możesz osiągnąć bardzo dobre, a przede wszystkim długotrwałe efekty.