Jak zarządzać ryzykiem w metodykach zwinnych?

30.04.2020 Angelika Siczek
człowiek trzymający pisak na tle z napisami sugerującymi metodykę zwinną

Znasz powiedzenie: bez ryzyka nie ma zabawy? Podobnie jest z projektami – nie ma takich, przy których nie ponosilibyśmy ryzyka. Okazuje się jednak, że ponad połowa projektów kończy się niepowodzeniem. Inne z kolei nie kończą się w założonym terminie lub znacząco przekraczają zakładany budżet. Dlaczego tak się dzieje?

Wysuwającą się na pierwszy  plan przyczyną jest z pewnością niedostateczna uwaga, której zbyt mało poświęca się na identyfikację, ocenę i środki zaradcze przed wystąpieniem ryzyka. Czasem nawet w ogóle nie bierze się pod uwagę możliwości pojawienia się problemów z realizacją założonych projektów. Z tego też powodu warto zastanowić się nad aspektem zarządzania ryzykiem. W szczególności warto bliżej przyjrzeć się metodykom zwinnym, które są wśród czołówki najpopularniejszych podejść do tworzenia oprogramowania. Jednak, aby wytłumaczyć, na czym to polega, musimy cofnąć się do początku, czyli do zarządzania ryzykiem w tradycyjnych metodykach zarządzania projektem, a także dowiedzieć się, jak w ogóle takie zarządzanie wygląda.

Czym jest zarządzanie ryzykiem?

To termin uniwersalny niezależnie od przyjętej metodyki projektowej. Zarządzanie ryzykiem polega na identyfikacji, szacowaniu i reagowaniu na potencjalnie istniejące zagrożenia w trakcie trwania całego projektu.  Jest ciągłym procesem, niezbędnym niezależnie od przyjętego trybu pracy – kaskadowego lub zwinnego.

Zarządzanie ryzykiem – tradycyjne metodyki zarządzania projektem

W metodykach klasycznych (np. Prince2 lub PMBok) zarządzanie ryzykiem określa się jako cykl podzielony na kilka etapów. W ich skład wchodzi więc na bieżąco aktualizowany rejestr potencjalnych problemów (możliwego ryzyka) oraz plany reakcji (unikania lub minimalizacji zagrożeń). Podczas etapu planowania uwzględnia się również konieczność tworzenia rezerw finansowych i czasowych, podczas których będzie można wyłonić obecne zagrożenia.

W każdej fazie cyklu zarządzania ryzykiem możemy skorzystać z różnych technik i narzędzi, które pomogą nam rozwiązać problem i zrealizować założenia projektu. Zadaniem tego typu narzędzi jest także zrealizowanie funkcji poszczególnych etapu zarządzania ryzykiem. Sposobów ich adaptacji jest wiele, zarówno w MPBok, jak i w Prince 2. Warto pamiętać, że w klasycznych metodach projektowych nie można wydzielać poszczególnych etapów zarządzania ryzykiem. Musi to być proces ciągły powtarzalny na wszystkich etapach realizacji, pomimo ich kaskadowego modelu.

Agile – zarządzanie ryzykiem

W Agile, jako w metodyce zwinnej, zarządzanie ryzykiem jest wpisane na stałe jako jeden z elementów realizacji. Dzieje się tak, ponieważ tego typu podejście iteracyjne umożliwia dokładne śledzenie prac, co z koeli ułatwia szybką reakcję i zmniejsza potencjalne koszty wystąpienia ryzyka. Co więcej, metodyki zwinne charakteryzują się większym stopniem odpowiedzialności całego zespołu za powodzenie projektu – zorientowaniem na działania i stale uwidacznianymi zagrożeniami wynikającymi z łączenia sfery technologii oraz biznesu.

Dowiedz się więcej, na czym polega Agile Scrum!

Zależnie od wyboru metodyki zwinnej (jej rodzaju) wyróżniamy różne podejścia w zarządzaniu ryzykiem. Pierwszym jest podejście aktywne (AgilePM i DSM) oraz podejście lekkie (SCRUM, XP, Lean). Jakie są pomiędzy nimi różnice?

metodyka zwinna Agile

Zarządzanie ryzykiem w Agile  – podejście aktywne

Z pozoru może wydawać się, że podejście aktywne w metodykach zwinnych wygląda tak samo, jak to obecne w metodykach tradycyjnych. W pierwszym etapie identyfikuje się zagrożenia oraz ocenia je pod kątem ich siły. Następnie planuje się i wdraża działania związane z wyłonionymi ryzykami, aby móc je monitorować. W takim procesie można wyłonić więc  trzy etapy.

1. Identyfikacja – ocena

Identyfikacja ryzyka powinna być przeprowadzana przez wszystkie osoby działające w projekcie. Zaangażowany powinien więc być Product Owner, sponsorzy, developerzy oraz przyszli użytkownicy. Podczas działań warto skorzystać ze źródeł poprzednich projektów, np. lessons learned, rejestru ryzyk oraz technik typu warsztaty fecylitowane.  Warto również zastosować metodę estymacji – Planning Poker.

Końcowym efektem prac podczas obowiązkowego spotkania uczestników projektu powinna być opracowana lista potencjalnych zagrożeń. Dzięki niej ustalicie priorytety w identyfikowaniu ryzyka oraz ocenicie ich znaczenie dla całego projektu.

2. Planowanie – działanie 

Za sprawą planowania działań jesteś w stanie przygotować właściwe reakcje na konkretne ryzyka w odpowiednim czasie.  Nie trzeba robić tego wszystkiego od razu, co może być również niemożliwe. Tego typu działania mogą mieć miejsce w trakcie cyklicznych spotkań zespołu projektowego. Podobnie jak w metodykach klasycznych mogą w tym miejscu wystąpić działania takie jak: akceptacja, unikanie, łagodzenie i przeniesienie.

W Agile podczas etapu realizacji zaplanowanych działań wyróżnia się dwa sposoby na włączenie tego procesu. Pierwszy polega na wydzieleniu odpowiedniej ilości czasu na identyfikację, ocenę i reakcję na ryzyka w iteracji. Z kolei drugi jest stworzeniem dodatkowych User Stories i wzięcie ich pod uwagę jak wszystkich innych wymagań (nadanie im odpowiedniego priorytetu i szacowanie wartości).

3. Monitorowanie

Monitorowanie, czyli kontrola ryzyka, powinno odbywać się na bieżąco lub w odpowiednio określonych odstępach czasu. Kluczowe zagrożenia, przedstawione np. w postaci rejestru występującego ryzyka, powinny być widoczne dla całego zespołu przez cały okres trwania projektu, a także uaktualniane po każdym zakończonym sprincie. Dzięki temu monitorowanie ryzyka nie będzie dla nas aż tak kosztowne. Pamiętaj, że zmiany w ryzykach mogą być także uwzględnione w postaci wykresu (Risk Burndown Chart) obrazującego status ryzyk na przestrzeni kolejnych iteracji.

Zarządzanie ryzykiem w Agile – podejście lekkie

Czym charakteryzuje się podejście lekkie w Agile? Przede wszystkim stawia na niwelowanie zagrożeń dzięki częstym dostawom produktów. Na przykład dodawania kolejnych fragmentów kodu lub funkcjonalności, a także poprzez regularne kontakty z klientem. W końcu otoczenie projektu podlega ciągłym zmianom, a dzięki takim rozwiązaniom możemy szybko wyeliminować czynniki ryzyka. Tego typu podejście opiera się o założenie, że zyski z zarządzania ryzykiem są niewspółmierne do nakładów potrzebnych, by prowadzić taki proces. Z tego też względu podejście lekkie zakłada eliminacje zagrożeń na podstawie procesów zwinnych. Zalicza się do nich:

  •  Codzienne spotkania zespołu (daily zespołu) – umożliwiają zidentyfikowanie i wyeliminowanie typowe ryzyka związane ze sprintem.
  • Retrospekcje sprintów – dzięki nim usprawnia się proces i usuwa zagrożenia.
  • Prace z Backlogiem – szczególnie tzw. „pielęgnowanie” umożliwia uniknięcie ryzyka powiązanego z niewłaściwą interpretacją wymagań.
  • Przyrostowe dostarczanie produktu – w tym także jego prezentacje użytkownikom końcowym, dzięki którym można szybko sprawdzić, czy tworzone funkcjonalności odpowiadają na ich wymagania.
  • Code review – to eliminacja błędów i dbanie o czystość kodu na poziomie działań developerów.

W podejściu lekkim zarządzanie ryzykiem przyjmuje nieco „lekką formę”. Jednak cały proces ma się pod ścisłą kontrolą. Tego typu rozwiązanie ma jednak znaczną zaletę. Nie występuje w nim wzrost kosztów i opóźnienia, które mogą pojawić się w podejściu Active Agile i w metodykach klasycznych. Dzieje się tak, ponieważ zagrożenia i powiązane wymagania nie są specyficzne na początku całego procesu. To klient podczas realizacji może doprecyzowywać je podczas poszczególnych sprintów, dodatkowo zgłaszając uwagi i wnioski na koniec każdej iteracji.

Zwinne zarządzanie ryzykiem

Zwinne zarządzanie ryzykiem posiada mnóstwo zalet. Jednak nie wszystko można za jego sprawą uwzględnić. Często nie jesteśmy w stanie przewidzieć zagrożeń wynikających m.in. ze zmian w finansowaniu całego projektu lub tych związanych z aktualną sytuacją rynkową. Tego typu sytuacjami nie jesteśmy w stanie zarządzać przez krótkie iteracje lub dostarczanie wartości swoim klientom.

Jednak mimo to zawsze należy zdecydować się na zarządzanie ryzykiem. Niezależnie od wyboru podejścia. Tylko dzięki świadomemu zarządzaniu ryzykiem będziemy mogli ograniczyć lub wyeliminować zupełnie zagrożenia w realizacji projektu. Szczególnie te łączące się z technologią i z zakresem wykonywanych prac. Jeśli więc zależy Ci na powodzeniu przedsięwzięcia, zrób wszystko, aby bez przeszkód doszło ono do skutku!

Masz pytanie?

Napisz do nas

    PDF, DOC, DOCX, JPG lub PNG (max 5MB)

    *Wymagane







    Andrzej-kurs-programowania

    Andrzej Szylar

    Chief Executive Officer

    E-mail:

    andrzej.szylar@univio.com
    Aleksandra

    Aleksandra Bielawska-Clegg

    HR Business Partner

    E-mail:

    Michal

    Michał Duława

    New Business Developer

    E-mail:

    Katarzyna

    Katarzyna Zajchowska

    Marketing Partner

    E-mail: