2016-04-27

W sytuacjach, kiedy liczy się czas, a równocześnie konieczne jest stałe dostosowywanie się do bardzo zmiennego otoczenia skuteczniejsi są ci, którzy potrafią odejść od tradycyjnych metod zarządzania projektem. Zwinne metodyki SCRUM mogą przynieść świetne rezultaty, pod warunkiem, że zlecający porzuci podejście typu „zlecam i biernie oczekuję efektów” i zdecyduje się na systematyczną współpracę z zespołem wykonawczym.

W klasycznym modelu realizacji projektu klient zlecający pracę angażuje się na początku przedstawiając oczekiwania. Jego aktywność wzrasta ponownie dopiero przy odbiorze zlecenia. W metodyce SCRUM zaangażowanie klienta jest rozłożone równomiernie na cały czas trwania projektu. Wynika to z przyjętego w tej metodzie założenia, że zamiast inwestować czas we wstępną pogłębioną analizę projektu (którego kształt i tak potem może ulec zmianie) dzieli się go na etapy (sprinty), bardzo szybko przechodząc do realizacji poszczególnych modułów. Wymaga to jednak stałej interakcji w trójkącie klient (Produkt Owner) – koordynator zespołu realizującego (Scrum Master) – zespół deweloperski.   

Metodyka SCRUM jest zaliczana do zwinnych metodyk prowadzenia projektu, zgodnych z Manifestem Agile:

  • Ludzie i interakcje ponad procesy i narzędzia.
  • Działające oprogramowanie ponad obszerną dokumentację.
  • Współpraca z klientem ponad formalne ustalenia.
  • Reagowanie na zmiany ponad podążanie za planem.

SCRUM doskonale sprawdza się w projektach informatycznych (choć nie tylko), w których zmieniane są założenia, nie można wszystkiego przewidzieć i potrzebne są szybkie reakcje na zmiany.

Stosowanie metodyki SCRUM przynosi wiele korzyści. Najważniejsze z nich to:

Skrócenie czasu realizacji projektów - do startu projektu potrzebny jest jedynie ogólny zarys produktu i funkcjonalności, jakie ma udostępniać. Szczegóły dopracowywane są w trakcie jego wytwarzania.

Elastyczność niezbędna w zmiennym środowisku - w obliczu szybko zmieniającego się rynku, projekt i wymagania dotyczące produktu mogą ewoluować w trakcie co nie koniecznie musi się wiązać z obciążaniem klienta dodatkowymi kosztami.

Przejrzystość i brak niespodzianek - klient na bieżąco wie, co się dzieje z projektem, widzi fakty a nie prezentacje i demo. Ma wpływ na kształt projektu na każdym etapie.

Przy realizacji projektu w metodyce SCRUM mamy do czynienia z trzema rolami: Właściciela Produktu, Scrum Mastera i Zespołu Deweloperskiego.

Właściciel Produktu (Produkt Owner) – klient – jest odpowiedzialny za wszystkie aspekty biznesowe przedsięwzięć realizowanych w Scrumie. Patrzy na projekt z szerszej perspektywy niż zespół projektowy. Formułuje i komunikuje wizję produktu oraz zapewnia, że produkt jest budowany w odpowiedniej kolejności (maksymalizacja wartości biznesowej). Ustala priorytety realizowanych funkcjonalności. Właściciel Produktu aktywnie współpracuje z Zespołem Deweloperskim i Scrum Masterem. Jest samodzielny i decyzyjny we wszystkich aspektach, związanych z rozwojem produktu. Dysponuje czasem, aby uczestniczyć w spotkaniach SCRUM-owych. Uwaga - Właściciel Produktu nie musi mieć kompetencji informatycznych. Musi wiedzieć, jakie ma oczekiwania. Może posiłkować się doradcami (np. końcowym użytkownikiem).

Scrum Master dba o to, żeby zespół stosował wartości, zasady i praktyki Scruma. Pełni rolę coacha. Usuwa przeszkody, które utrudniają efektywną pracę zespołu. Służy mu zamiast nim zarządzać. Chroni go przed wpływami zewnętrznymi. Wspiera Właściciela Produktu w zakresie znajomości Scruma.

Zespół Deweloperski (The Team) jest interdyscyplinarny i sam organizuje swoją pracę w sprincie. Członkowie zespołu sami decydują o tym, jak zdefiniują zadania i jak podzielą pracę. Do nich należy szacowanie czasochłonności zadań, identyfikacja ryzyk i blokad oraz informowanie o tym Scrum Mastera. Zespół zobowiązuje się do wytworzenia kompletnej części produktu w czasie sprintu.

Jak wygląda sprint? Jest to ustalony, powtarzalny etap, na koniec którego dostarczana jest gotowa funkcjonalność, przetestowana i możliwa do zweryfikowania przez Właściciela Produktu. Długość sprintu trwa od 2 do 4 tygodni i zależy od dostępności klienta, wielkości zespołu, specyfiki prac do wykonania, doświadczenia zespołu.

Sam sprint przebiega w rytmie codziennych spotkań (tzw. daily meetings). Są to 15 minutowe spotkania Zespołu, prowadzone przez Scrum Mastera. Służą dziennemu planowaniu prac przez członków Zespołu i informowaniu o postępie prac. Mogą w nim uczestniczyć wszyscy interesariusze projektu, jednakże prawo głosu mają wyłącznie członkowie Zespołu Deweloperskiego. Idealnie byłoby, gdyby Właściciel Produktu był obecny, ale nie jest to koniecznością. Każdy z członków Zespołu odpowiada na 3 pytania:

  1. Co zrobiłem od ostatniego spotkania?
  2. Czym będę się zajmował?
  3. Czy jest coś, co utrudnia mi efektywną pracę?

Częstym problemem występującym w metodyce SCRUM jest brak zaangażowania po stronie klienta (Właściciela Produktu). To niestety radykalnie ogranicza jej skuteczność. W wielu sytuacjach klienci są za bardzo przyzwyczajeni do postawy „zlecam i mnie to nie interesuje”. Obawiają się również większej odpowiedzialności, mają opory przed systematycznym poświęceniem czasu na współpracę z zespołem realizującym projekt. Pojawia się też problem z decyzyjnością „Właściciela Produktu”. Wszystko to może powodować wstrzymywanie prac zespołu, a w konsekwencji - obniżenie zaangażowania, aż do frustracji członków zespołu w skrajnych przypadkach.

Praktyka pokazuje, że warto poważnie podejść do współpracy w ramach tej metodyki. Dobrze jest zapewnić sobie zespół doradców i zarezerwować z góry czas na krótkie, ale systematyczne kontakty ze Scrum Masterem oraz zespołem developerskim. Środowisko, w którym wszyscy działamy, staje się coraz bardziej konkurencyjne i coraz silniej wymusza porzucanie konwencjonalnych metod zarządzania projektami na rzecz tych efektywniejszych. 

Monika Tumidaj – PKO BP Finat