Szymon Dyrlaga wpis utworzony wpis edytowany
Czym jest Scrum?
Powrót do listy wpisówSpis treści:
Ostatnio na blogu pojawił się tekst o tym, jaką drogę przeszedł FreshMail w kierunku Agile. Teraz postaram się w prostych słowach opowiedzieć, czym jest Scrum oraz przedstawić jego główne założenia.
Żeby było ciekawiej, piszę ten tekst jako członek zespołu marketingowego, w którym zostałem Scrum Masterem. Opowiem Ci, dlaczego zaczęliśmy testować Scruma i jak to u nas wygląda.
Zacznę jednak od teorii. Scrum to stworzone przez Kena Schwabera i Jeffa Sutherlanda ramy postępowania, mające na celu pomóc wytwarzać produkty w sposób efektywny i kreatywny. Wywodzi się on z tak zwanych zwinnych (agile’owych) metod programowania, choć teraz bardziej precyzyjne jest określenie: zwinnych metod zarządzania projektami.
Scrum co prawda został wymyślony na potrzeby programistów, ale jego ramy są na tyle uniwersalne, że mogą być stosowane w różnych branżach. U nas wykorzystujemy go nie tylko w IT, ale również w dziale marketingu oraz w dziale obsługi klienta.
Scrum i jego założenia
Scrum Guide, czyli spisany przez twórców metody przewodnik, wprowadza mnóstwo pojęć, które na początku mogą być nieco niezrozumiałe. Dlatego postaramy się opisać je najprościej, jak tylko potrafimy.
Role w zespole
Zgodnie z metodą nad rozwojem produktu pracują Zespoły Scrumowe. Zespoły są uprawnione do tego, by same organizowały sposób, w jaki pracują.
Jednym z członków zespołu reprezentującym interesy biznesu jest Właściciel Produktu (Product Owner), ale nie pełni on roli wydającego rozkazy satrapy, a lidera, który pomaga zespołowi obrać właściwy kierunek, by osiągnął założony cel, czyli zmaksymalizować wartość dostarczanego produktu. Właściciel Produktu jest też odpowiedzialny za Backlog, czyli zbiór wszystkich zadań i zmian, które należy wykonać, by doprowadzić do zrealizowania projektu.
Przewidziana jest też rola Scrum Mastera, który wdraża Scruma w organizacji, a następnie dba, by był rozumiany i stosowany w praktyce. Pomaga też Zespołowi Scrumowemu w samoorganizacji i usuwa przeszkody, które ograniczają postęp pracy.
Jak wygląda praca w Scrumie?
Pracuje się w sprintach, czyli następujących po sobie, równych etapach (np. dwutygodniowych), w trakcie których przewidziane są pewne wydarzenia scrumowe.
Wydarzenia scrumowe
Planowanie Sprintu
Na początku każdego sprintu odbywa się Planowanie Sprintu, na którym zespół priorytetyzuje zadania, ocenia ich poziom skomplikowania i wybiera spośród wszystkich znajdujących się w Backlogu te, które powinien wykonać w danym Sprincie, by osiągnąć jego cel. A celem zawsze jest pewien przyrost produktu. Czyli jeśli nasz projekt ma się składać np. z pięciu głównych działających funkcji, to celem sprintu może być ukończenie jednej z nich.
Daily Scrum
Jest to wydarzenie scrumowe, które odbywa się codziennie na początku dnia pracy. Jest to czas, w którym członkowie zespołu omawiają, co udało się zrobić wczoraj, co planują na dzisiaj, z jakimi przeszkodami się spotkali lub jakie zagrożenia widzą na drodze do realizacji celu sprintu. Ma to zapewnić dobry przepływ informacji między członkami zespołu oraz zażegnanie problemów i zagrożeń, jakie widzą poszczególne osoby.
Zespół najczęściej spotyka się przy zawieszonej na ścianie tablicy, na której rysuje się tabelę podzieloną na wiersze z członkami zespołu oraz kolumny z etapami realizacji zadań (zaplanowane, w trakcie, do sprawdzenia, skończone).
Na tablicy nakleja się karteczki odpowiadające konkretnym zadaniom i po kolei przenosi się je do kolejnych etapów. Taka prezentacja pozwala zwizualizować bieżący stan prac, a sam proces przekładania kartek daje samopoczucie kończenia pewnych zadań i pokazuje, jak zespołowi idzie praca w kierunku zrealizowania celu sprintu.
Przegląd Sprintu
Spotkanie, podczas którego zespół przedstawia interesariuszom (np. zarządowi lub klientom zewnętrznym), co udało mu się osiągnąć. Jednocześnie zbiera informacje zwrotne o tym, co zespół powinien zrobić dalej, by zwiększyć dostarczaną wartość.
Retrospektywa
Jest to spotkanie, na którym Zespół Scrumowy ma okazję do przeprowadzenia inspekcji swoich działań i opracowania planu usprawnień, który zostanie wcielony w życie w najbliższym Sprincie.
Scrum w naszej firmie
Scrum w naszej firmie testowany był już od dłuższego czasu przez IT. I działał! Słyszeliśmy, że metoda ta sprzyja lepszej współpracy zespołu, planowaniu i przejrzystości zadań. Pracując w firmie zwinnej, jedynym słusznym podejściem było przetestowanie tego u siebie, czyli w marketingu. Wprowadziliśmy Scruma i stopniowo dostosowaliśmy go do specyfiki swojej pracy. Teraz postaram się streścić, jak mniej więcej to u nas wygląda.
Jak to u nas działa?
Przykładowo startuje duży projekt marketingowy.
Już na samym początku wiemy, jakie elementy będą niezbędne do jego wykonania. Oczywiście zdajemy sobie sprawę, że w trakcie trwania projektu przyjdą nam do głowy różne inne pomysły, coś nie pójdzie po naszej myśli lub z pewnych rzeczy świadomie zrezygnujemy po przetestowaniu. Jednak od czegoś należy zacząć. Na przykład musimy stworzyć landing page, który później będziemy promować na wiele różnych sposobów. Na to składa się dużo pomniejszych zadań.
Wszystko to mamy dokładnie rozpisane w Backlogu w narzędziu, z którego korzystamy (jak np. Asana czy YouTrack).
Rozpoczyna się sprint.
Podczas Planowania decydujemy, jakie zadania będziemy wykonywać w ciągu najbliższych dwóch tygodni. Pomaga nam w tym Właściciel Produktu, które pilnuje priorytetów i podpowiada, które projekty i zadania są kluczowe dla firmy, a które mogą nieco poczekać. Jeżeli wiemy już, że nasz projekt rozpoczyna się w tym sprincie, wybieramy zadania, które muszą powstać jak najwcześniej. Zwłaszcza takie, bez których niemożliwe jest rozpoczęcie prac nad innymi elementami.
Na przykład zanim powstaną pierwsze grafiki, należy napisać do nich teksty i wymyślić koncepcję. Zanim powstanie strona internetowa, dobrze jest przygotować makietę itd.
Dodatkowo oceniamy wszystkie zadania pod względem skomplikowania, wykorzystując Ciąg Fibonacciego, i przypisujemy je do konkretnych osób, które będą je wykonywać. Zadanie dostaje jeden punkt, gdy jest w stanie wykonać je jedna osoba i nie jest zbyt skomplikowane. Im więcej osób musi nad nim pracować lub im więcej jest niewiadomych, tym większą wartość mu przyznajemy. Wiemy, ile punktów zespół jest w stanie wykonać w trakcie dwutygodniowego sprintu. Gdy suma punktów z zadań zaplanowanych jest równa tej liczbie, kończymy Planowanie. Pozostałe rozpisane zadania zostają na kolejne sprinty.
Agile Board
W YouTracku mamy wirtualną tablicę, na której są poszczególne etapy realizacji zadań. Jeżeli więc zaczęliśmy pracę nad jednym z nich, ustawiamy mu status “w trakcie”, a jak go zakończymy, dajemy “skończone”.
Oprócz tego mamy też tablicę zawieszoną na ścianie, przy której spotykamy się codziennie rano. Odzwierciedla ona stan tej wirtualnej, z tym że dodatkowo zadania są przypisane do rubryk konkretnych osób. Są na niej naklejone kartki z zadaniami, które po planowaniu drukujemy z YouTracka.
Widzimy na jakich są etapach, mówimy o ewentualnych przeszkodach, jakie napotkaliśmy przy ich realizacji i decydujemy, co zrobić z nim dalej. Mówimy też sobie nawzajem, czego potrzebujemy od pozostałych osób, by zakończyć swoje zadanie.
Ostatniego dnia sprintu organizujemy Przegląd Sprintu, na którym obecne są osoby z zarządu oraz koleżanki i koledzy z innych działów, zainteresowani naszymi zadaniami. Podczas tego spotkania prezentujemy efekty wykonanej pracy i zbieramy informacje zwrotne. Po nim gromadzimy się całym zespołem na Retrospektywie, którą zaczynamy od przeglądu wypracowanych usprawnień z poprzedniego sprintu. Czy zostały one wprowadzone w życie? Czy zadziałały? Co robimy z nimi dalej?
Następnie skupiamy się na zagadnieniach z bieżącego sprintu, zastanawiamy się, które z nich wymagają poprawy i razem dyskutujemy nad rozwiązaniem. Wymyślone przez nas udoskonalenia staramy się wprowadzić w życie w kolejnym sprincie. Jeżeli jest to możliwe, przypisujemy je do ochotników, których zadaniem jest dopilnowanie, by się zadziały.
Ponadto mamy Podsumowanie Sprintu, które nie należy do wydarzeń wymienionych w Scrum Guidzie, ale jest bardzo pomocne. Na zakończenie sprintu omawiamy, jakie zadania zostały zrealizowane, ale przede wszystkim skupiamy się na tych, które jeszcze nie zostały ukończone i ustalamy, co robimy z nimi dalej.
A skoro o pracy mowa, może chcesz dołączyć do zespołu w agile’owej firmie, z fajnym biurem, w którym czekają na Ciebie luźna atmosfera, możliwości rozwoju w wybranym przez Ciebie kierunku i same satysfakcjonujące wyzwania? :)