Termin „Scrum” prawdopodobnie nie jest Ci obcy, jeśli masz styczność lub należysz do zespołu produktowego, inżynieryjnego lub programistycznego. Scrum to ramy postępowania stworzone dla zespołów, aby mogły szybko tworzyć produkty i ich kolejne iteracje, a wdrożenie procesów Scrum pomaga we wspólnej pracy nad rozwiązywaniem złożonych problemów. Nawet jeśli nie pracujesz w wyżej wymienionych zespołach, Scrum może przynieść Ci wiele korzyści. W tym artykule, dowiesz się wszystkich potrzebnych informacji na temat Scruma – czym on jest i dlaczego tak świetnie się sprawdza.
Scrum to ramy postępowania oparte na zasadach Agile, które pomagają zespołom we współpracy i wykonywaniu zadań o wysokim znaczeniu. Jest to schemat wartości, ról i wytycznych ułatwiających zespołom skupienie się na tworzeniu iteracji i ciągłym doskonaleniu.
Tradycyjnie, Scrum odbywa się w sprintach – najczęściej 2-tygodniowych sesjach z określonymi produktami końcowymi. Istnieją jeszcze dwa dodatkowe wydarzenia w Scrumie. Pierwsze z nich to codzienne stand-upy, które, jak sama nazwa wskazuje, odbywają się raz dziennie. Stanowią okazję dla zespołu Scrumowego do 15-minutowego spotkania i skoordynowania codziennych działań. Drugie wydarzenie – retrospekcja sprintu – odbywa się po zakończeniu sprintu. W trakcie retrospekcji, która prowadzona jest przez Scrum Mastera, zespół ma szansę przeanalizować sprint i wprowadzić zmiany na przyszłość.
Czasem słyszy się o Scrumie w odniesieniu do innych metodologii, takich jak Kanban lub Agile. Każde z tych ram postępowania odgrywa inną rolę, jeśli chodzi o sposób współpracy i ciągłego doskonalenia zespołu, niemniej jednak są one również blisko ze sobą powiązane w ramach metodologii „lean”. Oto ich porównanie:
Agile to filozofia zarządzania projektami, która pomaga zespołom w ciągłym doskonaleniu. Zespoły Agile wierzą w iteracyjny i przyrostowy rozwój, który pomaga im w przystosowywaniu się do zmian i radzeniu sobie w niepewnych sytuacjach. Zarówno Scrum, jak i Kanban są podgrupami metodologii Agile. Pojęcie „Agile” ma więc charakter zbiorczy.
Zarządzaj zwinnymi zespołami z AsanąScrum jest jedną z najpopularniejszych metodyk Agile. Jeśli korzystasz ze Scruma, jesteś zespołem Agile. Metodyka Scrum obejmuje jednak dodatkowe role i systemy, które pomagają zespołom w utrzymywaniu zwinności. Podobnie jak w Agile, w Scrum zespoły dążą do ciągłego doskonalenia. Jednak w przeciwieństwie do Agile, który jest bardziej filozofią aniżeli systemem postępowania, Scrum ma określone sposoby, w jakie mogą dążyć do ciągłego doskonalenia – za pomocą narzędzi, takich jak sprinty, stand-upy i retrospekcje.
Struktura Kanban stanowi również podzbiór Agile. Kanban jest wizualnym sposobem na zarządzanie pracą i procesami ciągłymi. Z pomocą narzędzi Kanban, zespoły mogą zwizualizować przechodzenie pracy przez etapy, aż do jej ukończenia. Często osoby używające Scruma wykorzystują do tego tablice Kanban, choć nie są one niezbędnym elementem Scruma.
[Przeczytaj] Kanban a Scrum: jakie są różnice?Termin „Scrum” w aktualnej postaci został po raz pierwszy wprowadzony w 1986 r. w artykule Harvard Business Review The New New Product Development Game, napisanym przez Hirotakę Takeuchi i Ikujiro Nonaka. Takeuchi i Nonaka zapożyczyli nazwę „Scrum” z terminologii używanej w rugby, wyjaśniając, iż „podobnie jak w rugby, piłka podawana jest w ramach zespołu, który przemieszcza się na boisku jako jednostka”.
Scrum został dalej rozwinięty i skodyfikowany przez Kena Schwabera i Jeffa Sutherlanda w 1995 r., gdy opublikowali oni Manifest Agile i Proces rozwoju SCRUM.
Idea Scruma zaproponowana przez Schwabera i Sutherlanda była częściowo odrzuceniem kaskadowego modelu tworzenia oprogramowania. W tym modelu, projekty są dzielone na następujące po sobie fazy, w których produkt(y) każdej z nich odblokowują kolejne fazy pracy. Schwaber i Sutherland uważali, że twórcy oprogramowania mogliby osiągać więcej korzyści dzięki bardziej elastycznemu, iteracyjnemu podejściu, które pozwalałoby im na ciągłe reagowanie na środowisko i dostosowywanie się do niego w celu stworzenia jak najlepszego produktu dla klientów.
Od czasu ich pierwszej publikacji, Schwaber i Sutherland wydali Przewodnik po Scrumie – dynamiczny dokument, który jest przez nich regularnie aktualizowany. Jak można przeczytać w „Przewodniku po Scrumie”, Scrum zachęca „zespoły do przyjrzenia się efektywności, z jaką realizują swoje zadania i zachęca do ciągłego doskonalenia i usprawniania swoich działań”.
Najważniejszą rzeczą, jaką musisz wiedzieć, jeśli zamierzasz wdrożyć Scruma jest to, że opiera się on na systemie ciągłego ulepszania. W Scrumie uznajesz, że nie wszystko musi być wiadome na początku sprintu — i możesz dostosowywać procesy według potrzeb, w oparciu o informacje zdobywane podczas każdego sprintu.
Czym więc tak naprawdę jest Scrum? Co dokładnie będzie robić Twój zespół jeśli będziecie korzystać ze Scruma? Oto, jak wygląda ten proces:
1. Zorganizuj backlog. Aby rozpocząć sprint w Scrumie, lider zespołu (nazywany również Scrum Masterem) wybierze elementy z backlogu, które zespół powinien zrealizować. Aby maksymalnie zwiększyć efektywność sprintu, upewnij się, że Twój backlog produktu jest jasno udokumentowany w jednym miejscu. Rozważ skorzystanie z narzędzia do zarządzania projektami, aby zebrać wszystkie te informacje.
2. Zorganizuj sesję planowania sprintu. Zanim rozpoczniesz sprint, musisz dowiedzieć się, nad czym należy się skupić. Podczas sesji planowania sprintu ocenisz, którymi zadaniami z backlogu powinien zająć się Twój zespół podczas tego określonego sprintu. Aby rozpocząć, wypróbuj nasz bezpłatny szablonu do planowania sprintu.
3. Rozpocznij sprint. Sprint trwa przeważnie dwa tygodnie, choć może być on krótszy lub dłuższy, w zależności od potrzeb Twojego zespołu. Podczas każdego sprintu, Twój zespół będzie pracował nad zadaniami z backloga, które zostały wybrane podczas sesji planowania sprintu.
4. Organizuj codzienne stand-up. Planuj codzienne, 15-minutowe spotkania zespołu Scrumowego. Pozwolą one na zapoznanie się z aktualnie wykonywanymi zadaniami oraz przeanalizowanie nieprzewidzianych czynników blokujących. Aby maksymalnie zwiększyć efektywność codziennych stand-upów, wypróbuj nasz bezpłatny szablon do organizowania codziennych stand-upów.
5. Zaprezentuj swoją pracę podczas przeglądu sprintu. Po ukończeniu sprintu w Scrumie, zespół powinien spotkać się w celu przeprowadzenia przeglądu sprintu. W jego trakcie, zespół Scrumowy zaprezentuje interesariuszom to, co zostało „Ukończone” w celu zatwierdzenia lub inspekcji.
6. Spotkaj się z zespołem w celu omówienia sprintu na retrospekcji sprintu. Po zakończeniu sprintu, poświęć trochę czasu na omówienie jego wyników i ewentualnych usprawnień na przyszłość. Pamiętaj, że Scrum to proces ciągłego doskonalenia – bez obaw próbuj nowych procesów i modyfikuj strategie, jeśli nie są one wystarczająco efektywne dla następnego sprintu. Wypróbuj również nasz darmowy szablon retrospekcji sprintu, aby jak najlepiej poprowadzić to spotkanie.
Zanim wdrożysz Scruma, upewnij się, że wszyscy członkowie zespołu mają wspólne zrozumienie tego, co oznacza „Ukończone”. Jako, że Scrum opiera się na procesie ciągłego doskonalenia, znaczenie „Ukończonego” może nie być oczywiste. W Scrumie nic nie jest perfekcyjne, ponieważ Twój zespół jest elastyczny i w sposób ciągły i iteracyjny dąży do doskonalenia. „Ukończone” nie znaczy więc „nie da się tego zrobić lepiej” – oznacza raczej, że Twój zespół przestanie na razie nad tym pracować.
Oto przykładowe definicje „Ukończonego” dla różnych zespołów Scrumowych:
Produkt jest gotowy do wydania.
Produkt został przetestowany i jest gotowy do wydania w środowisku beta.
Produkt został przetestowany oraz zaakceptowany i może zostać wydany dla wszystkich użytkowników.
Bez względu na to, jaka definicja „Ukończonego” obowiązuje w Twoim zespole, upewnij się, że wszyscy są z nią zaznajomieni. Mając gotową definicję, możesz zapisać ją w centralnym źródle informacji zespołu i często odwoływać się do niej, szczególnie podczas przeglądu sprintu.
Artefakty w Scrumie reprezentują stworzony przez Ciebie produkt – np. narzędzie do rozwiązywania problemów. Scrum wyróżnia trzy artefakty: backlog produktu, backlog sprintu i przyrost produktu.
Backlog produktu to stworzona przez Scrum Mastera lista zadań do wykonania. Lista ta powinna zostać skategoryzowana przez menedżera projektu lub właściciela produktu. Pamiętaj, że nawet jeśli element znajduje się w backlogu produktu, nie oznacza to, że Twój zespół będzie nad nim pracował – elementy znajdujące się w backlogu produktu stanowią raczej propozycje zadań, nad którymi może pracować Twój zespół w ramach sprintu. Właściciele projektu powinni często zmieniać kolejność i aktualizować backlog produktu w oparciu o nowe informacje rynkowe lub te płynące od klientów lub zespołu projektowego.
Backlog sprintu to zbiór zadań lub produktów, do których wykonania zobowiązał się zespół w trakcie sprintu. Elementy te wybierane są z backlogu produktu podczas sesji planowania sprintu i przenoszone do projektu planowania sprintu, jeśli Twój zespół go posiada.
Możliwe, że Twój zespół nie dostarczy wszystkich elementów z backlogu podczas każdego sprintu, a dodawanie elementów do backlogu w jego trakcie stanowi raczej rzadkość. Jeśli jednak zdarza Ci się to dość często, poświęć więcej czasu na fazę planowania sprintu, aby uzyskać jasny obraz zadań do wykonania w trakcie sprintu.
Przyrost produktu to rezultat pracy, który zostanie dostarczony na zakończenie sprintu. Może on obejmować nowy produkt lub funkcję, ulepszenie lub poprawkę błędu albo dowolny, inny element, w zależności od Twojego zespołu. Zaplanuj zaprezentowanie przyrostu podczas przeglądu sprintu. Na tym etapie decyzja o tym, czy zostanie on wydany, czy nie, uzależniona jest od opinii interesariuszy Scruma o przyroście i tego, czy jest on „Ukończony”.
Istnieją trzy główne role w Scrumie:
Właściciel produktu. To osoba odpowiedzialna za backlog produktu. Odpowiada ona za potrzeby użytkownika i skupia się na przekazaniu zespołowi oraz innym interesariuszom wykonawczym historii użytkowników. Dobry właściciel dba o przejrzystość, jeśli chodzi o kolejność pracy do wykonania. Docelowo, powinna to być osoba, która decyduje o gotowości elementu do wydania (i nastawiona na częste wydawanie).
Scrum Master. Scrum Master to osoba, która odpowiada za różne wydarzenia w Scrumie. Jest kimś na kształt menedżera projektu Scrumowego lub koordynatora. Scrum Master powinien usprawniać codzienne stand-upy oraz organizować sesje planowania, przeglądu i retrospekcji sprintu.
Zespół Scrumowy. Jest to zespół skupiający wszystkie osoby pracujące nad sprintem. Zespół powinien być samoorganizujący się i nastawiony na współpracę tak, aby osiągnąć cel Scruma, jakim jest ciągłe doskonalenie.
Istnieje sześć zasad Scruma, które pomogą Ci wdrożyć ramy postępowania Scruma i czerpać z niego korzyści:
Kontrola nad procesami empirycznymi. Zespoły Scrumowe wierzą w przejrzystość, inspekcję i adaptację.
Samoorganizacja. Mimo, że w Twoim zespole Scrumowym będą obowiązywały role i reguły, każdy jego członek jest upoważniony do przejęcia odpowiedzialności za swoje zadania i pracę. Scrum wierzy, że poczucie wspólnej własności wpływa na większą kreatywność i dynamikę w zespole.
Współpraca. Twój zespół będzie dostarczać najlepsze rezultaty jeśli będziecie współpracować ze sobą zarówno w trakcie, jak i po sprincie Scrum.
Priorytetyzacja w oparciu o wartości. Celem sprintu w Scrumie jest dostarczenie najlepszej wartości biznesowej. Aby ją osiągnąć, musisz priorytetyzować pracę od samego początku procesu Scrum.
Technika Time Boxing. Proces Scrum posiada wiele działań ograniczonych czasowo, takich jak sam sprint, codzienne stand-upy lub retrospekcja. Jako, że Scrum opiera się o ciągłe doskonalenie się, warto jest zastosować technikę Time Boxing, aby móc przejść do następnego zadania i usprawnić pracę w przyszłości.
Iteracyjny rozwój. Twój pierwszy produkt w Scrumie nie będzie idealny. Mimo to dzięki tworzeniu iteracyjnemu, Twój zespół będzie mógł jak najlepiej dostosowywać się do potrzeb klientów oraz modyfikować produkt i rezultaty bazując na priorytetyzacji w oparciu o wartość.
Aby jak najlepiej korzystać ze Scruma, zespoły powinny trzymać się pięciu głównych wartości Scrum, które zostały zdefiniowane w „Przewodniku po Scrumie”:
Zaangażowanie: zespół Scrumowy jest jednostką – jego członkowie powinni ufać sobie wzajemnie. Są oni również zaangażowani w sprint w trakcie jego trwania i oddani idei ciągłego doskonalenia w celu znalezienia najlepszego rozwiązania.
Odwaga: podczas Scruma, zespół może napotkać trudne do rozwiązania problemy. Zespoły Scrumowe mają odwagę zadawać otwarte, skomplikowane pytania i odpowiadać szczerze, aby uzyskać najlepsze rozwiązanie.
Skupienie: w ramach każdego sprintu w Scrumie, zespół Scrum będzie pracować w oparciu o backlog produktu. Członkowie zespołu koncentrują się na zadaniach wybranych z backloga, aby na koniec sprintu dostarczyć produkty końcowe.
Otwartość: nie wszystko podczas Scruma uda się perfekcyjnie. Członkowie zespołu Scrumowego muszą być otwarci na nowe pomysły i możliwości, które pomogą im rozwinąć się indywidualnie, a także ulepszą produkt lub proces.
Szacunek: współpraca jest niezwykle istotna w Scrumie, więc aby wspierać ją w zespole, każdy jego członek powinien okazywać szacunek w stosunku do pozostałych członków, Scrum Mastera i procesów w Scrumie.
Scrum nie jest dla wszystkich, ale nie ogranicza się tylko do zespołów tworzących oprogramowania, inżynieryjnych i produktowych. Każdy zespół może wdrożyć Scruma i wykorzystywać proces ciągłego doskonalenia, aby jak najlepiej wykonywać swoją pracę. Oto kilka zalet i wad używania Scruma:
Scrum jest najbardziej efektywny dla zespołów, które chcą tworzyć i wydawać produkty często – niezależnie od tego, czy są to „produkty”, takie jak lub nowe funkcje, czy bardziej nietypowe „produkty” Scruma, takie jak kampanie marketingowe, czy materiały kreatywne.
Zespoły wykorzystujące Scruma są bardziej zwinne i elastyczne. Proces Scrum może pomóc Ci usprawnić pracę zespołową i zwiększyć efektywność w osiąganiu celów. Ponadto zespoły Scrumowe zawsze wiedzą, nad czym dokładnie pracują, ponieważ wybierają zadania z backlogu produktu, a także mają jasny obraz celów, ponieważ mają wspólne zrozumienie, co oznacza stwierdzenie „Ukończone”.
Projekty w Scrumie mogą często borykać się z pełzaniem zakresu, ponieważ proces Scrum akceptuje zmiany, a nawet do nich zachęca. Jeśli jednak zbyt wiele elementów ulega zmianie lub otrzymujesz zbyt wiele rozbieżnych informacji zwrotnych od klientów, możesz nieustannie dokonywać iteracji, nie osiągając przy tym żadnych znaczących wyników.
Rozwiązanie: upewnij się, że cele i przyrost każdego sprintu zostały jasno zdefiniowane. Ponadto upewnij się, że wszyscy członkowie zespołu Scrumowego mają wspólne zrozumienie stwierdzenia „Ukończone”, aby nie wykonywał on pracy po osiągnięciu „Ukończonego”. W razie potrzeby, wprowadź zmiany do procesu kontroli, aby uniknąć tych problemów.
Zespoły Scrumowe uczestniczą w wielu spotkaniach – oprócz regularnie odbywających się sesji planowania sprintu i przeglądów sprintu, biorą udział również w codziennych stand-upach.
Rozwiązanie: jeśli codzienne spotkania Scrumowe nie są zbyt pomocne, spróbuj je zmienić. Śledzenie codziennych stand-upów w projekcie pomoże Ci skupić się tylko na najważniejszych elementach.
Scrum może być trudny (ale nie niemożliwy) do wprowadzenia w zespołach innych, niż produktowe, inżynieryjne lub programistyczne.
Rozwiązanie: jeśli Twój zespół zdecyduje się na wdrożenie Scruma, w dokładny sposób wyjaśnij mu, jak procesy Scrumowe wam pomogą. Jeśli to możliwe, określ bieżące problemy i wskaż wydarzenia w Scrumie, które mogą okazać się pomocne. Ponadto zaplanuj kilka sesji szkoleniowych podczas pierwszych sprintów w Scrumie, aby Twojemu zespołowi łatwiej było osiągnąć sukces.
Najlepsze Zespoły Scrumowe to chętne do współpracy, iteracyjne grupy, które mają jasny obraz pracy do wykonania w ramach każdego sprintu. Aby było to możliwe do osiągnięcia, potrzebujesz centralnego źródła informacji dotyczącego swojej pracy, takiego jak Asana. Dowiedz się, jak zespoły Agile korzystają ze Scruma dzięki Asanie.