Scroll to top
en pl

Scrum – zarządzanie projektami


Radoslaw Kosiec - 28 czerwca 2019 - 0 comments

Elementy metodyki Agile w zarządzaniu projektami są wykorzystywane w niemal każdej firmie. W pracy codziennie można spotkać się z takimi zwrotami jak: “umieść to zadanie w backlogu”, “będziemy nad tym pracować podczas następnego sprintu”, “omów to ze Scrum Masterem”. Frazy związane z metodyką Agile są wszechobecne, a znajomość i stosowanie zasad pracy w technice Scrum przyniesie korzyści dla całego zespołu.

W tym artykule opisane będą podstawy zarządzania projektami, zgodnie z metodyką Agile i Scrum.

Zarządzanie projektami w metodyce Agile

W 2001 roku 17 programistów spotkało się w kurorcie Snowbird w Utah, aby jeździć na nartach, pić gorące kakao i rozmawiać o niestandardowych rozwiązaniach zmiany uciążliwych praktyk, z którymi wiąże się tradycyjny proces wytwarzania oprogramowania. Jeff Sutherland – obecnie uważany za ojca metodyki Agile – i jego współtowarzysze stworzyli legendarną publikację – Manifest programowania w metodyce Agile (Agile Software Development Manifest).

Chociaż frazy charakterystyczne dla metodyki Agile mogą brzmieć nieco niezrozumiale, ich stosowanie wcale nie wymaga specjalistycznej wiedzy z dziedziny IT.

Tradycyjne metodyki zarządzania projektami, takie jak Waterfall, PMI PMBOK i PRINCE2, cechują się sztywnymi zasadami i wysokim poziomem kontroli. W tym przypadku na początku projektu określa się zarys przebiegu wszystkich etapów projektu, a pracownik otrzymał wszystkie niezbędne informacje oraz wytyczne dotyczące wymagań dla danego projektu. 

W myśl koncepcji Agile, tradycyjne metodyki zarządzania projektami są uciążliwe, restrykcyjne i niedostosowane do dzisiejszych sposobów pracy. Zespoły muszą pracować szybko i wydajnie oraz wykazywać elastyczność w dostosowywaniu się do zmieniających się wymagań projektu. 

Agile w zarządzaniu projektami dopuszcza możliwość wprowadzania zmian i wyżej ceni szybkie dostosowanie się do nich, niż sztywne trzymanie się planu.

Zamiast zakładać, że trzeba „zrobić coś raz, a dobrze”, metodyka agile zachęca do pracy nad małym fragmentem projektu, aby szybko móc uzyskać opinię o każdym etapie, ocenić co funkcjonuje dobrze, a co nie i ewentualnie wprowadzić ulepszenia. Ten proces krótkich i powtarzających się cykli pracy nazywany jest iteracją.

Jim Highsmith, jeden z autorów manifestu Agile, wyjaśnia:

“Aby odnieść sukces w nowoczesnej gospodarce, agresywnie wkroczyć w erę e-biznesu, handlu elektronicznego i internetu, firmy muszą pozbyć się swoich “zasad Dilberta” dotyczących sposobu pracy i niejawnej polityki.”

Dilbert nie pozostawił tej uwagi bez komentarza – rzucił cień na zarządzanie projektami w metodyce Agile:

Zasady zarządzania projektami w Agile

Podstawową wartością w zarządzania projektami w metodyce Agile jest koncepcja „inspekcji i adaptacji”, co oznacza, że wprowadzanie zmian jest mile widziane na każdym etapie zaawansowania projektu. Manifest Agile Software Development zawiera dwanaście zasad:

  1. Satysfakcja klienta jest najwyższym priorytetem. Można o to zadbać dostarczając klientowi wartościowe produkty w odpowiednich terminach.
  2. Przyjmuj zmieniające się wymagania. Akceptuj zmiany nawet na zaawansowanym etapie projektu – pomożesz klientowi uzyskać przewagę nad konkurencją.
  3. Aktualizuj oprogramowanie i dostarczaj nowe rozwiązania często – raczej co kilka tygodni niż co kilka miesięcy.
  4. Dbaj o ścisłą współpracę między zespołem biznesowym i zespołem programistów.
  5. Twórz projekty przy wsparciu zmotywowanych osób, które zasługują na zaufanie w kwestii powierzonych zadań.
  6. Rozmowa twarzą w twarz jest najlepszą  i najbardziej efektywną formą komunikacji.
  7. Działające oprogramowanie jest podstawową miarą postępów w projekcie.
  8. Proces tworzenia oprogramowania powinien być zrównoważony. Rozwój powinien być zrównoważony. Powinieneś być w stanie utrzymywać tempo pracy zespołu na stałym poziomie.
  9. Zwracaj uwagę na wysoką jakość rozwiązań technicznych i dobry design produktu.
  10. Prostota jest niezbędna. Staraj się nie generować dodatkowego nakładu pracy tam, gdzie nie jest to konieczne. 
  11. Najlepsze architektury, rozwiązania i projekty powstają w dobrze zorganizowanych zespołach.
  12. Zespół powinien regularnie kontrolować jakość i efektywność swojej pracy, aby móc dostosować się do zmieniających się wymagań.

Zalety metodyki Agile

Statystyki, które obrazują sukces firm wdrażających zarządzanie projektami w metodyce Agile, mówią same za siebie. Według Project Management Institute:

  • 75% organizacji pracujących w Agile osiągnęło swoje cele biznesowe,
  • 65% projektów zostało ukończone na czas,
  • 67% ukończonych projektów zmieściło się w zaplanowanym budżecie.

Wyniki te są wyższe niż osiągane przez firmy, które nie stosują metodyki Agile. Te same badania pokazują, że w organizacjach korzystających z Agile, przychody rosną o 37% szybciej, a zyski są o 30% wyższe w porównaniu z firmami pracujących w innych modelach.

Zarządzanie projektami w metodyce Agile jest tak popularne, ponieważ bardzo przypomina prawdziwe życie. Biznes szybko się zmienia, ustalenia również cały czas się zmieniają, a zespoły muszą być w stanie szybko dostosować się do tych zmian. Retrospekcja – dwunasta zasada opisana w Manifeście – pomaga zespołom podsumować sukcesy i porażki oraz odpowiednio dostosować swój przepływ pracy do tego podsumowania. Dzięki temu zespoły mogą ciągle wprowadzać ulepszenia, aby pracować jeszcze wydajniej.

Inne korzyści płynące z zarządzania projektami w metodyce Agile:

  • Wczesne i częste testy pozwalają na szybkie wykrycie i eliminację błędów i usterek, zanim staną się one poważnym problemem. 
  • Poziom satysfakcji klienta jest zdecydowanie wyższy, gdy może on aktywnie uczestniczyć w każdym etapie procesu i wprowadzać zmiany.
  • Możliwość niepowodzenia projektu jest zredukowana niemal do 0, ponieważ na każdym etapie dostarczany jest działający produkt.

Zarządzanie projektami w Agile – technika Scrum

Agile nie jest uważany za zwykłą metodykę, ale jest raczej utożsamiany z nadrzędną filozofią lub systemem wartości. Istnieje wiele różnych technik, dzięki którym można wdrożyć zasady Agile w firmie.

Warto pomyśleć o tym w ten sposób: Chrześcijaństwo jest ogromnym parasolem, który odzwierciedla ogólny zestaw wierzeń i zasad. Jest bardzo wiele możliwości praktykowania tych zasad w myśl mniejszych odłamów, takich jak Katolicyzm, Protestantyzm, Prawosławie i innych. Wszystkie te religie mają wspólną bazę, ale różnią się nieco w jej interpretacji i stosowanych praktykach.

Techniki agile są bardzo podobne to tego modelu. Do technik przykrytych parasolem zasad agile należą między innymi: Kanban, extreme programming (XP), crystal oraz dynamic system development method (DSDM). Jedną z najpopularniejszych technik Agile jest Scrum.

Autorzy Manifestu Agile wspólnie pracowali również nad stworzeniem techniki Scrum. Obecnie dostępnych jest wiele kursów, które pozwalają zdobyć certyfikaty Scrum Mastera, np. Scrum Alliance lub Scrum.org, ale tak naprawdę nie jest to konieczne.
Prawie wszystkie zespoły, zarówno w monday.com, jak i w Deviniti, używają pewnej interpretacji Scruma, aby ułatwić sobie zarządzanie projektem i organizację codziennej pracy. Scrum jest prostym, intuicyjnym i ciekawym sposobem na zaplanowanie zadań, które powinny być wykonywane z tygodnia na tydzień.

Zarządzanie projektami w Scrumie – 10 zasad

1. Backlog w Scrumie – stwórz listę wszystkich zadań, jakie musi wykonać zespół.

Przykład monitorowania błędów w Monday.com

Backlog w Monday.com

Najważniejsze są cele projektu – jakie zadania powinny być ukończone, aby je osiągnąć? Dobrą praktyką jest dzielenie dużych, złożonych zadań na mniejsze i bardziej szczegółowe.

Na przykład, w projekcie “Remont domu” jednym z dużych zadań jest pomalowanie salonu. Należy rozbić je na mniejsze czynności, które trzeba wykonać, aby salon został pomalowany:

  • Wybór koloru farby
  • Porównanie ofert i cen wybranych kolorów
  • Stworzenie listy potrzebnych akcesoriów malarskich (podkład, pędzle, wałki, drabina, taśma ochronna, folia malarska itd.) 
  • Zakup farby
  • Zakup akcesoriów malarskich
  • Wyniesienie ruchomych mebli z salonu
  • Przykrycie podłogi i pozostałych mebli folią malarską
  • Zabezpieczenie taśmą krawędzi podłogi, sufitów, framug okien i drzwi oraz innych miejsc, które muszą być osłonięte
  • Pokrycie podkładem lewej ściany
  • Pokrycie podkładem prawej ściany
  • Pokrycie podkładem tylnej ściany
  • Pomalowanie lewej ściany
  • Pomalowanie prawej ściany
  • Pomalowanie tylnej ściany
  • Pokrycie lewej ściany drugą warstwą farby…

W ten sposób łatwiej zrozumieć, dlaczego dzielenie zadań na mniejsze podzadania pozwala na precyzyjniejsze określenie czasu, jaki trzeba poświęcić na realizację każdej czynności. Taki podział umożliwia również ustalenie priorytetów – od razu widać, która czynność jest bardziej istotna i powinna zostać wykonana wcześniej.

Zespół może stosować kilka backlogów równocześnie. Mogą to być zadania dotyczące funkcji produktu, zadania mające na celu “upiększenie” produktu albo lista błędów do naprawienia. Każdy z tych obszarów może być umieszczony w oddzielnej tablicy.

Taki podział na tablice wprowadza przejrzystość, która jest fundamentem optymalnej pracy zespołu. Każdy pracownik może dodać nowe zadania do każdego backlogu i tym samym mieć wpływ na przebieg i rozwój projektu.

2. Sprint (iteracja) w Scrumie – tworzenie tablicy z listą zadań na nadchodzący tydzień lub dwa.

Planowanie sprintu z Monday.com

Wartości zarządzania projektami w metodyce Agile opierają się na estymacji czasu potrzebnego na wykonanie poszczególnych zadań. Scrum zakłada podział pracy na dwutygodniowe sprinty (iteracje). Idea sprintu polega na tym, że tworzy poczucie “odhaczenia” wszystkich zadań z listy. W czasie sprintu pracownik musi skoncentrować się na realizacji tylko tych zadań, które przewidziane są na okres obecnych dwóch tygodni. Co więcej można zaplanować z góry kilka kolejnych sprintów.

3. Planowanie sprintu – przeniesienie zadań z backlogu do tablicy sprintu.

Liczba zadań w sprincie powinna być dostosowana do możliwości zespołu, a także do wagi obszaru backlogu. Na przykład można zdecydować, że 30% sprintu przeznaczy się na naprawianie błędów, 50% na tworzenie nowych funkcji, a 20% na pracę nad innymi ulepszeniami.

Oficjalna scrumowa nazwa na zadania dotyczące określonych dużych obszarów to epika. W przykładzie o projekcie “Remont domu” każdy pokój będzie stanowił oddzielną epikę. To rodzaj kategorii, który pozwoli określić precyzyjnie miejsce poszczególnych zadań. Niektóre firmy używają #tagów do monitorowania epik – dzięki temu możliwe jest filtrowanie konkretnych zadań.

4. Przypisanie właściwej osoby z zespołu do każdego zadania.

Odpowiedzialność motywuje do działania – to jest pewne. Kiedy dane zadanie przypisane jest do konkretnego pracownika, niemal pewne jest, że dołoży on wszelkich starań, aby zadanie zostało w całości zrealizowane. Na koniec każdego sprintu liczba ukończonych zadań jest także miarą indywidualnego wkładu pracy włożonego w projekt. Poza tym często różne osoby w zespole odpowiadają za powiązane zadania, dlatego transparentność odpowiedzialności zdecydowanie ułatwia współpracę.

5. Priorytetyzacja zadań w nadchodzącym sprincie.

W myśl zasad metodyki agile, zadania w projekcie mogą mieć 4 poziomy istotności: krytyczny, wysoki, średni i niski. 

Ponieważ plany mogą się zmienić, a niektóre zadania mogą zająć więcej czasu niż zakładano, może dojść do sytuacji, w której zespół nie będzie w stanie wykonać wszystkich zadań przewidzianych w nadchodzącym sprincie. Wyraźne oznaczenie priorytetu pomoże  pracownikom wybrać zadania, które trzeba zrealizować w pierwszej kolejności. W ten sposób zyskuje się pewność, że zadania o priorytecie krytycznym zostaną wykonane w danym sprincie, a zadania o niższym priorytecie w razie konieczności zostaną przeniesione do kolejnego sprintu.

6. Estymacja czasu realizacji zadań. 

Każde zadanie wymaga oszacowania czasu na jego ukończenie, stopnia skomplikowania i przewidzenia potencjalnych problemów, jakie mogą się pojawić w trakcie realizacji. W klasycznej technice Scrum, miarą wysiłku włożonego w pracę są story pointy, ale dopuszczalne są także inne metody. Można mierzyć czas realizacji zadań w dniach, godzinach lub innej dowolnej jednostce czasu, która najlepiej odzwierciedla potrzeby projektu.

Zdolność precyzyjnego szacowania wymaga praktyki, ale z czasem łatwo się tego nauczyć. Im więcej doświadczenia zdobytego podczas estymacji czasu i wysiłku wkładanego w poszczególne rodzaje zadań, tym bardziej precyzyjne będą kolejne estymacje. Dzięki kolumnom numerycznym w systemie Monday.com, można łatwo uzyskać sumę całego czasu realizacji zadań. Istnieje też opcja dodania lub usunięcia zadania, aby dokładnie zaplanować pracę zespołu w kolejnym dwutygodniowym sprincie.

7. Rozpoczęcie sprintu – komunikacja w zespole.

Technika Scrum zakłada, że ustalenia mogą się zmienić, a nieoczekiwane okoliczności mogą wpłynąć na postęp w realizacji zadania. Jeżeli zadanie utknęło w jakimś punkcie lub opóźnia się jego realizacja, można poinformować o tym zespół aktualizując status zadania. Można także skorzystać z funkcji @mention, aby powiadomić konkretnego pracownika lub wszystkich członków zespołu (@everyone). W ten sposób wszyscy pracownicy będą mieli dostęp do aktualnych informacji o zmianach w projekcie.

8. Daily – codzienne spotkania z zespołem.

Zgodnie z 6 zasadą agile, rozmowy twarzą w twarz jest najlepszą formą zapewnienia optymalnej komunikacji w zespole. Rozpoczęcie dnia pracy od codziennego 10-15-minutowego spotkania z zespołem (daily lub standup) pozwala na szybkie zweryfikowanie, które zadania zostały już wykonane, a które zadania zespół planuje wykonać danego dnia. Jest to także świetna okazja do przedyskutowania i rozwiązania napotkanych problemów lub wspólnego ustalenia dalszych działań w obrębie danego zadania.

9. Retrospekcja – sukcesy i porażki ukończonego sprintu.

Gdy zadania wyświetlają się na zielono, oznacza to, że zostały zrealizowane. Po zakończeniu sprintu pora na podsumowanie – ile zadań udało się wykonać, gdzie pojawiły się problemy i co można zmienić, aby w kolejnym sprincie pracować jeszcze wydajniej. Błędy są nieuniknione, a w myśl zasad agile są doskonałą okazją do nauki i wyciągania wniosków, które pomogą w ciągłym ulepszaniu i optymalizacji pracy zespołu.

10. Kolejność sprintów – przejrzystość zadań. 

Przechowywanie wszystkich kolejnych sprintów w jednej tablicy pozwala na przejrzysty wgląd w ukończone zadania. Jeśli któreś z zadań nie zostało zrealizowane w danym sprincie, wystarczy przenieść je do kolejnego. Jeżeli istnieje potrzeba powrotu do zadania z poprzedniego sprintu, można umieścić je w aktualnym sprincie jednym kliknięciem. Warto dbać także o układ sprintów w tablicy. Lista zadań dla aktualnego sprintu powinna być zawsze na górze tabeli, a listy zadań z minionych iteracji powinny zostać umieszczone niżej.

Korzyści z zarządzania projektami w metodyce Agile

Metodyka Agile została stworzona z myślą o procesie wytwarzania oprogramowania, jednak jest ona na tyle elastyczna, że z powodzeniem mogą korzystać z niej także firmy z innych branż.

Praca zgodnie z zasadami Agile faktycznie zwiększa wydajność i efektywność zespołu. Stosowana pod różnymi nazwami (Scrum lub Agile) – nie ma to jednak znaczenia, ponieważ wszystko opiera się o jedną spójną bazę reguł. Dzięki określeniu liczby zadań, jaka przypisana jest do każdego dwutygodniowego sprintu, można wyznaczyć pracownikom realne cele, które mogą osiągnąć w krótkim czasie. Praca w Scrumie daje poczucie odpowiedzialności i wpływu na poszczególne składowe projektu. Nie można oczywiście zapomnieć o wyższym komforcie pracy i tym wspaniałym uczuciu, które pojawia się, gdy wykonane zadanie podświetla się na zielono. To wszystko sprawia, że pracownicy są bardziej zmotywowani i nastawieni na osiąganie zamierzonych celów w kolejnym sprincie.

O zarządzaniu projektami zgodnie z metodyką Agile oraz o technice Scrum można napisać jeszcze wiele, ponieważ ten artykuł jest tylko wierzchołkiem góry wiedzy o metodykach zwinnych. Mamy jednak nadzieję, że przedstawione tu podstawy pomogą w lepszym zrozumieniu metodyki Agile i jej technik oraz będą miały rzeczywisty wpływ na jakość pracy Twojego zespołu. 

Jeżeli chcesz dowiedzieć się więcej o narzędziach do zarządzania projektami – skontaktuj się z nami. Nasi konsultanci chętnie odpowiedzą na wszystkie pytania.

Related posts