Scrum Guide 2016 cz. 2/3
Dzisiaj opowiem trochę o wydarzeniach w Scrumie. Po kolei tak jak przedstawia to Scrum Guide będą to:
- Sprint
- Sprint Planning
- Daily Scrum
- Sprint Review
- Sprint Retrospective
Sprint jest opisany w Scrumie jako czas, w którym odbywają się wszystkie pozostałe wydarzenia. Pierwsze pytanie, jakie mi się nasunęło, patrząc na wcześniejszą listę to: „Ok, a kiedy pracujemy?” Być może Ciebie też to zastanawia. Spróbuję odpowiedzieć na to pytanie.
Jak mówi Scrum Guide, każde z wydarzeń, które opiszę, jest okazją do inspekcji i adaptacji. Chodzi o sprawdzanie swojej pracy na każdym możliwym kroku i decydowanie co można zrobić lepiej. Zdarza się, że zespoły rezygnują np. z Daily Scruma, czyli krótkiego codziennego spotkania. Ono wydaje się zaburzać ciągłość pracy. Czy tak faktycznie jest? Trzeba przetestować w praktyce.
Wymienione wydarzenia powinny odbywać się o stałej porze i w stałym miejscu. Zapobiega to marnotrawienia czasu na przygotowania, czy oczekiwaniu na któregoś z członków zespołu.
O co chodzi w tych Sprintach?
One są jak wybijanie rytmu w muzyce. Bez rytmu muzyka byłaby kakofonią dźwięków. Ładnie porównałem? To jeszcze jedno. Być może pływasz lub przynajmniej wiesz, jak to działa. Czysta fizyka. Rytmicznie ruszasz w wodzie nogami i rękami. I oddychasz. Wszystkie te czynności wykonujesz w bardzo określonym rytmie. Jego nagła zmiana, słabiej poruszona jedna z rąk, zachłyśnięcie się, powodują o wiele wolniejsze przebycie długości basenu. Jeden sprint to pełny ruch ramion, nóg i jeden oddech. Potem od razu następuje kolejny i kolejny. Jeśli ta sekwencja pozostaje niezaburzona, bez problemu powinieneś dopłynąć do końca basenu. Może nawet zrobisz takich długości 20, 30 czy 50.
Przewodnik po Scrumie zaleca, żeby każdy z takich sprintów trwał maksymalnie miesiąc.
To pozwala na proste utrzymanie regularności pracy w firmie. Kolejny Sprint następuje od razu po zakończeniu poprzedniego. Omawianie projektów, planowanie, poprawianie odbywa się w ramach Sprintu, dlatego pomiędzy tymi okresami nie ma żadnych przerw. Wyjątkowo sprint może zostać przerwany, jeśli jego cel stanie się nieaktualny. Taką decyzję podejmuje tylko Właściciel Produktu.
W trakcie trwania Sprintu skupiamy się przede wszystkim na osiągnięciu Celu Sprintu. Zakładamy, że w ciągu miesiąca przykładowo zaprojektujemy, zdobędziemy materiały i uszyjemy nowy model kurtki. Ma spełniać ona ustalone na początku założenia:
- wygodna,
- przeciwdeszczowa,
- mieści klucze, portfel, czapkę i paczkę chusteczek higienicznych.
Podczas sprintu nie zmieniamy tych założeń, że jednak może nie musi być przeciwdeszczowa, bo z innego materiału będzie lepiej wyglądała. Może jeszcze dorzucimy kieszeń na notes i takie zakładki gdzie można włożyć długopisy. Nie znaczy to, że w ogóle nie możemy dokonywać modyfikacji. Te planujemy i wdrażamy w następnym Sprincie, pracując już na wstępnym modelu kurtki.
Podczas sprintu nie obniżamy założonej jakości. Jeśli zaplanowaliśmy kurtkę z materiału nieprzemakalnego, to taki model musimy odszyć. Dopiero mając zebrane wszystkie informacje odnośnie tego, co udało nam się zrobić w zakończonym okienku czasowym i czego się nie udało, możemy decydować, co jesteśmy w stanie zmienić. W trakcie odszywania wstępnego modelu okazuje się, że materiał wodoodporny jest droższy, niż zakładaliśmy. To powoduje, że kurtka będzie droższa niż założony budżet. W naturalnym odruchu wprowadzenie tańszego materiału wydaje się najlepszym rozwiązaniem. Jednak mając wiedzę na temat wszystkich elementów, może się okazać, że np. lepszym pomysłem jest rezygnacja z dodatkowych kieszeni. Wtedy również zmieścimy się w budżecie i rozwiążemy większy problem klienta. W ten właśnie sposób możemy, za zgodą osoby zarządzającej produktem, wprowadzić zmiany.
Taka forma pracy w określonych interwałach sprawia, że praca staje się bardziej przewidywalna. Wręcz jesteśmy zmuszeni do inspekcji tego, co wykonaliśmy. To z kolei sprawia, że mamy więcej szans na ciągłe poprawianie naszego Produktu.
Dlaczego sprint ma trwać maksymalnie 4 tygodnie?
Są sytuacje, w których kuszące może wydawać się wydłużenie sprintu. Wtedy tylko raz na dłuższy czas robimy planowanie, retrospektywny i te wszystkie inne mało istotne rzeczy. Przecież istotą wykonywania pracy jest… praca. Zgadzam się ze stwierdzeniem, że do wykonania czegoś potrzebna jest praca. To jest element konieczny. Pozostałe takie jak planowanie, sprawdzanie, codzienne omawianie postępów są dodatkiem. Jednak ten dodatek sprawia, że
- nie wykonujemy pracy na marne,
- kontrolujemy postępy,
- dążymy bezpośrednio do celu.
Być może masz już pomysły, co może pójść nie tak, gdy wydłużymy czas sprintu.
- cel sprintu może się zdezaktualizować,
- zwiększa się złożoność zadań,
- wzrasta ryzyko popełnienia błędów,
- wzrasta ryzyko ponoszenia niepotrzebnych kosztów, gdyby efekt sprintu był nieakceptowalny.
W krótkich sprintach łatwiej jest o przewidywalność wynikającą z naszego doświadczenia. W dłuższych sprintach przewidywanie czasu pracy to loteria.
Oczywiście są sposoby na szacowanie czasu pracy i są one coraz lepsze i dokładniejsze, jednak to trochę jak z prognozą pogody. Na kilka dni do przodu jesteśmy w stanie ją przewidzieć dość dokładnie. Jednak ufanie w prognozę pogody na miesiąc w przód, jest co najmniej nierozsądne.
Przejdźmy przez wydarzenia w Sprincie. Pierwszym jest Planowanie Sprintu.
„Plany są do niczego, planowanie jest wszystkim”
Powyższy cytat przypisywany jest gen. Dwightowi Eisenhowerowi 34 prezydentowi Stanów Zjednoczonych.
Stanowi on całkiem dobre podsumowanie tego, czym jest Planowanie Sprintu. Tu nie ma miejsca na omawianie najdrobniejszych szczegółów. Planowanie Sprintu polega w dużej mierze na określeniu najważniejszych punktów na drodze do naszego Celu oraz wybraniu tego, co będziemy robić w kilku najbliższych dniach. Możemy ograniczyć się nawet tylko do jednego dnia w przód. Zalecany czas na Planowanie to 8 godzin dla miesięcznego Sprintu.
Jak wygląda Planowanie Sprintu?
Zacznijmy może od tego, kto za to Planowanie jest odpowiedzialny?
Jeśli już trochę wiesz o Scrumie, to pewnie domyślasz się, że chodzi o cały Zespół Scrumowy. To prawda. Jednak odpowiedzialność za przygotowanie Planowania spada na Scrum Mastera i Właściciela Produktu. To oni mają za zadanie poprowadzić Planowanie, przygotować Backlog Produktu, czyli rejestr funkcjonalności do wdrożenia i zagwarantować, że uczestnicy będą w stanie sformułować Cel.
Na Planowaniu mogą być osoby spoza zespołu. Zwinność nie polega na zamykaniu się na inne spojrzenie na zagadnienia, a zaproszenie na takie spotkanie klienta może pokazać otwartość zespołu na współpracę.
Planowanie Sprintu ma swoją określoną fabułę i cel. Omawiamy konkretne tematy:
- Dlaczego Sprint ma wartość? Szukamy możliwości zwiększenia wartości i użyteczności produktu, nad którym pracujemy.
- Co jesteśmy w stanie ukończyć w tym konkretnym Sprincie. Pamiętajmy, że celem sprintu nie jest rozgrzebanie funkcjonalności tylko ich otwarcie i zakończenie.
- Sposób wykonania pracy. Każdy element, którym chcemy zająć się w trakcie najbliższego Sprintu, ma być poznany na tyle, żeby dało się go ukończyć w ciągu jednego dnia. Jeśli tak nie jest, można go podzielić na mniejsze kawałki. Ta decyzja należy do osoby wykonującej daną pracę.
Wydarzenie nr 2. Daily Scrum
– Naprawdę? Mamy to robić codziennie?
– Nie. Możemy raz na tydzień.
2 tygodnie później…
– A możemy tak codziennie tylko omówić, na jakim etapie jesteśmy, ale tak bez tego Daily Scruma?
– Możemy… Tylko to właśnie jest Daily Scrum.
Codzienne 15-minutowe wydarzenie, jakim jest Daily Scrum, to po prostu sprawdzanie postępów. Dzięki niemu wiemy, czy idziemy do przodu, czy potrzebujemy skorygować kurs. Odbywa się ono codziennie o tej samej porze i w tym samym miejscu. Efektem Daily Scruma jest plan na następny dzień roboczy.
Wydarzenie nr 3. Sprint Review
Inspekcja efektów pracy — Przegląd Sprintu. Brzmi trochę groźnie. To etap, na którym oceniamy naszą pracę i pokazujemy interesariuszom rezultaty w celu uzyskania informacji zwrotnej.
To podobna sytuacja do prowadzenia samochodu na autostradzie. Teoretycznie jedziemy prosto. Jednak jechanie prosto wymaga od nas ciągłego delikatnego korygowania kierunku. Te mikroruchy kierownicą często niezauważalne dla nas samych, bo wykonywane niemal mimowolnie ratują nam życie i pozwalają dojechać do celu. Żeby to wszystko działało, nasz mózg musi dostać informację, że zbliżamy się do linii bocznej. To właśnie taka informacja od interesariuszy. Dzięki niej możemy wykonywać naszą pracę, nie marnując jej. Jedziemy prosto do Celu.
Podczas Sprint Review mamy możliwość dostosowania Backlogu Produktu, czyli naszego rejestru funkcjonalności do wdrożenia. Powyższy opis powinien Ci uzmysłowić, że Sprint Review to nie prezentacja, na której pokazujecie, co fajnego zrobiliście. To bardziej spotkanie przy kawie, na którym wytykacie sobie błędy, chwalicie się tym, co wyszło dobrze i dajecie sobie nawzajem rady, co można zrobić lepiej.
Wydarzenie nr 4. Ostatnie. Sprint Retrospective.
Na nasze to będzie Retrospektywa Sprintu. Kolejne trudne słowo, które oznacza coś, co jest następstwem Przeglądu Sprintu. Podczas tego spotkania możemy zaplanować sposoby na podniesienie jakości i efektywności naszej pracy.
Jak to zrobić?
Przede wszystkim oceniamy nasz ostatni Sprint. Jak pracowaliśmy, jak się porozumieliśmy między sobą, czy mieliśmy odpowiednie narzędzia, prawidłowo ułożone procesy i dobrze określoną Definicję Ukończenia Sprintu. Co to takiego? To opis tego, kiedy możemy uznać, że Cel naszego sprintu został osiągnięty. Jeżeli chcemy uszyć kurtkę, to przykładową Definicją Ukończenia będzie zrealizowanie punktów:
- ma rękawy,
- ma przód, tył i boki,
- wszystkie elementy są wykończone, pozaszywane i pozszywane,
- można ją zapiąć,
- chroni przed deszczem,
- wszystkie elementy, z których miała składać się kurtka, są przyszyte w odpowiednich miejscach,
- kurtka jest przetestowana przez wybraną osobę.
To my jako zespół ustalamy jakie warunki musi spełniać nasz cel, żeby można było go uznać za ukończony. W przypadku kurtki to dość oczywiste i intuicyjne. W przypadku większych projektów już taka Definicja Ukończenia jest ważną częścią powstawania produktu.
To jest czas na omówienie nie tyle błędów, które popełniliśmy w trakcie produkcji, ile ich przyczyn. Sprawdzamy, czy nasze założenia co do produktu były dobre, jakie problemy się pojawiły podczas Sprintu i jak je rozwiązaliśmy, lub nie udało nam się ich rozwiązać. Celem Retrospektywy jest znalezienie usprawnień, które możemy wprowadzić w kolejnym Sprincie, w celu uniknięcia problemów i opóźnień. Można te ustalenia za zgodą Właściciela Produktu włączyć do naszego Backlogu.
Mam dla Ciebie coś jeszcze. Powyższy wpis jest jednym z moich pierwszych. Cała historia powstania bloga opiera się na dwóch filarach.
- Agile po prostu mnie wciągnęło. Chcę iść tą drogą. Rozwijać swoją firmę i w przyszłości inne.
- Do pisania bloga popchnęło mnie uczestnictwo w “szkole” HeyEdu. Niezwykłej szkole. Tutaj nie masz klasycznych nauczycieli. Uczysz się sam, a stoi nad Tobą Asystent — Trener Personalny Wcześniejszej Emerytury. On podpowiada Ci, z jakich materiałów korzystać i jakie dalsze kroki wykonać, żeby Twoja edukacja była jak najskuteczniejsza. I najważniejsze! Jak widzisz na powyższym przykładzie, uczysz się przez działanie.
Jeśli chcesz przekonać się, czym jest HeyEdu i poznać swojego Asystenta, to możesz się zapisać przez ten link:
Najpierw przejdziesz krótki test, żeby określić, jak lubisz się uczyć i jaki jest Twój cel. Potem zaczynasz swoją Wielką Przygodę.
Tak, dostanę za to kasę. Całe mnóstwo. 😉
Pozdrawiam,
Wieczny student – Rafał.
Hej! Chcesz więcej?
Pozostałe wpisy dotyczące Scrum Guide znajdziesz pod linkami: