Metodyka SCRUM - czym jest i jakie są etapy wdrożenia?

Metodyka SCRUMW świecie nowoczesnych technologii i szybkiego tempa życia projektowanie i wdrażanie produktów wymaga szczególnego podejścia. Nikt samodzielnie nie jest w stanie osiągnąć takich efektów, jakie są dziełem dobrze zorganizowanego zespołu pracowników. Żeby jednak było to możliwe potrzebna jest odpowiednia metodyka pracy. Jedną z nich jest właśnie SCRUM.

Początki wprowadzenia tego terminu sięgają końca lat osiemdziesiątych ubiegłego wieku. Dwóch Japończyków, Hirotaka Takeuchi i Ikujiro Nonaka opisało wówczas nowe podejście do rozwoju produktu komercyjnego. W oparciu o przykłady z życia stworzyli koncepcję, której celem jest zwiększenie szybkości i elastyczności dostarczania gotowego produktu klientowi.

Wdrożenie SCRUM

Na potrzeby niniejszego artykułu posłużmy się analogią natury militarnej. W całym procesie wyróżniamy takie elementy i osoby jak:

Produkt
Jest to np. strona internetowa dla klienta z branży sprzętu żeglarskiego (misja do wykonania).

Product Owner
Właściciel produktu, reprezentant klienta. Osoba, która posiada konkretne informacje jak ostateczny produkty ma wyglądać i funkcjonować. Tworzy listę elementów (product backlog), które w tym przypadku strona internetowa ma zawierać i co bardzo ważne szereguje je od najważniejszych do tych mniej istotnych np. stworzenie zakładek: strona główna, oferta, formularz kontaktowy, mapa, blog (taki generał, który wytycza główne cele misji).

Zespół Deweloperski
W naszym przypadku będzie to grafik, który zaprojektuje wygląd witryny. Specjalista UX będzie czuwał nad rozmieszczeniem poszczególnych elementów interfejsu pod kątem użyteczności dla Internauty. Copywriter stworzy treści na stronę. Programista napisze odpowiednie skrypty i aplikacje działające po stronie serwera. Specjalista SEO/SEM zadba o to, aby finalna strona znalazła się wysoka w wynikach wyszukiwarek (grupa doborowych komandosów, z których każdy posiada indywidualne zdolności i predyspozycje konieczne do wykonania misji).

Scrum Master
Pilnuje zachowania procedur, dba o komunikację w zespole, usuwa ewentualne przeszkody (kapitan kierujący działaniami żołnierzy w terenie).

1. SPRINT PLANNING MEETING

Spotkanie, na którym zespół deweloperski niczym komandosi na odprawie dostaje konkretne wytyczne odnośnie misji do wykonania - stworzenia funkcjonalnej strony www. Obecne jest kierownictwo klienta, Product Owner i Scrum Master. Dyskutowane są pomysły i koncepty dotyczące produktu. Elementy z listy product backlog zamieniane są na konkretne zadania do wykonania np. grafik zobowiązuje się zaprojektować ogólny layout strony, wskazuje ile potrzebuje na to czasu i ewentualnie czy posiada wszystkie potrzebne narzędzia. Określany jest sprint backlog - czas operacyjny na wykonanie zadania. Jest ustalany w równych jednostkach, przeważanie od 1 do 4 tygodni.

2. DAILY STAND-UP

Kapitan, co 24h łączy się przez radio ze swoimi żołnierzami w celu zbadania postępów wykonywanej misji. W naszym przypadku Scrum Master prowadzi codzienne odprawy, aby zapoznać się z progresem podejmowanych działań przez zespół. Spotkania te są bardzo ważne w kontekście całego procesu dostarczania produktu, ponieważ już na samym początku można usuwać ewentualne przeszkody w pracy deweloperów (przykład z życia - praca jednego członka zespołu została zastopowana na dłuższy czas, ponieważ nie otrzymał odpowiedniej czcionki od grafika). Scrum Master niczym Mariusz Max Kolonko sprawdza na jakim etapie są prace i co konkretnie każdy z członków zespołu zrobił na swoim poletku. Spotkania tego typu dają gwarancję, że praca nie utknie w martwym punkcie. Odbywają się tak jak nazwa wskazuje "na stojaka" (pozycja mało komfortowa), czas jest ograniczony do niezbędnego minimum, poruszane są wyzwanie, przed jakimi staje zespół i rzeczowo omawiane najważniejsze kwestie.

3. GOTOWY PRODUKT

Misja została wykonana z powodzeniem, nieprzyjaciel został unieszkodliwiony a komandosi opanowali budynki wroga. Strona internetowa działa w sposób prawidłowy. Product owner jest zadowolony, może ewentualnie wskazać minimalne sugestie i elementy, które nie były uwzględnione w podstawowym backlog’u np. dodanie zakładki z akcesoriami około żeglarskimi - noże termiczne do cięcia tworzyw sztucznych. Zespół w krótkim czasie wdraża stosowne poprawki. Dodatkowo przeprowadzana wśród członków zespołu jest retrospekcja. Omawiamy poszczególne elementy strony internetowej, które mogliśmy zrobić lepiej lub inaczej, zbieramy feedback i wyciągamy wnioski na przyszłość.

W teorii metoda SCRUM wydaje się łatwa i przyjemna do wprowadzenia. W praktyce możemy jednak napotkać na szereg przeszkód. Jedną z kluczowych kwestii, jeżeli decydujemy się na metodykę SCRUM jest jasne sprecyzowanie umiejętności każdego członka zespołu deweloperskiego. Każdy z nich musi wiedzieć dokładnie, jaka jest jego rola, co ma do zrobienia i za co odpowiada. Drugim dużym wyzwaniem dla Scrum Mastera jest zmiana nawyków naszych komandosów. Człowiek jest, bowiem tak stworzony, że korzysta już z utartych schematów i bardzo trudno zmienić jest jego sposób działania w codziennej pracy. Oprócz tego warto zwrócić uwagę na niedostateczne czasami zaangażowanie Product Ownera, co może skutkować rozbieżnościami w kontekście oczekiwań klienta do produktu a finalnym produktem. Warto rozmawiać, ponieważ brak komunikacji to również jeden z najczęstszych problemów związanych z wprowadzaniem SCRUM.

Komentarze

AgileAdept
W Scrumie poprawna nazwa wydarzenia to Daily Scrum, a nie Daily Standup. Wbrew powszechnej opinii nie musi ono wcale przebiegać na stojąco ;)
http://agileadept.pl/
Scrum Master
Od 2020 roku już nie ma Zespołu Deweloperskiego , a Deweloperzy