unity wiedza

Czas czytania: 7 minut

Zarządzanie ryzykiem w metodykach zwinnych – co warto wiedzieć?

Nie istnieją projekty pozbawione ryzyka. Statystyki przytoczone przez Magazyn Zarządzanie Projektami pokazują, że więcej niż połowa projektów, szczególnie tych dużych, w ogóle się nie udaje. Wiele ambitnych przedsięwzięć nie kończy się w terminie lub przekracza budżet.


Jedną z przyczyn takiej sytuacji z pewnością jest niedostateczna uwaga, jaką poświęca się na identyfikację, ocenę i obsługę ryzyka lub nawet kompletny jej brak mimo wielu potencjalnych zagrożeń w realizacji złożonych projektów.

Dlatego też w dzisiejszym wpisie chciałbym się skoncentrować na zarządzaniu ryzykiem w ujęciu różnych metodologii projektowych, ze szczególnym naciskiem na metodyki zwinne – czyli jedno z najpopularniejszych teraz podejść do wytwarzania oprogramowania.

Jednak aby mieć punkt odniesienia, zacznijmy wpierw od tego, jak do tematu ryzyka podchodzą klasyczne metody projektowe.

Zarządzanie ryzykiem w tradycyjnych metodykach zarządzania projektem 

Niezależnie od przyjętej metodyki projektowej, zarządzanie ryzykiem można rozumieć jako identyfikację, szacowanie i reagowanie na potencjalne i istniejące zagrożenia w trakcie cyklu życia projektu. Jest to proces ciągły, ale niezbędny, bez względu na to czy pracujemy kaskadowo czy zwinnie.  

W metodykach klasycznych, takich jak PMBok czy Prince2, zarządzanie ryzykiem jest pojmowane jako dokładnie zdefiniowany i podzielony na kilka etapów cykl.   

 

W obu przypadkach zazwyczaj mamy do czynienia z elementami takimi, jak aktualizowany na bieżąco rejestr ryzyk oraz plany reakcji, unikania czy minimalizacji zagrożeń. Na etapie planowania zakłada się również tworzenie rezerw finansowych i czasowych przeznaczonych na identyfikację zagrożeń. 

 

 

Każda z tych faz wykorzystuje różne techniki i narzędzia wspomagające lub ułatwiające realizację funkcji, jaką dane stadium ma spełnić w całym procesie zarządzania ryzykiem. Natomiast sposobów adaptacji tych procesów w PMBoK i Prince2 jest tyle, ile projektów i menedżerów nimi kierujących 😉 

Należy tutaj ponownie podkreślić, że zarządzanie ryzykiem w klasycznych metodach projektowych powinno być procesem ciągłym, powtarzanym na wszystkich etapach realizacji mimo ich kaskadowego modelu 

Agile a zarządzanie ryzykiem  

Sprawa zupełnie inaczej przedstawia się w wypadku projektów prowadzonych w metodykach zwinnych. Zarządzanie ryzykiem jest poniekąd wpisane w filozofię Agile i stąd często traktowane jako element naturalny realizacji.  

Przekonanie takie z pewnością może wynikać z tego, że podejście iteracyjne w projekcie pozwala na śledzenie postępów prac z dużą dokładnością, dając możliwość szybkiej reakcji i zmniejszając potencjalne koszty wystąpienia ryzyka. 

Metodyki zwinne cechują się przy tym większą odpowiedzialnością całego zespołu za powodzenie projektu, zorientowaniem na działania oraz stałym uwidacznianiem zagrożeń na linii styku technologii i biznesu.  

W zależności od rodzaju stosowanej metodyki zwinnej można wyróżnić odmienne podejścia do zarządzania ryzykiem: tzw. aktywne (AgilePM, DSDM) oraz lekkie (SCRUM, XP, Lean).  

Rozważmy teraz główne różnice między tymi dwoma spojrzeniami na zagadnienie ryzyka.    

Zarządzanie ryzykiem w Agile: podejście aktywne 

Na pierwszy rzut oka podejście aktywne może do złudzenia przypominać sposoby znane z metodyk tradycyjnych.  

Na początek potencjalne zagrożenia w projekcie powinny zostać odpowiednio zidentyfikowane i ocenione. Następnie należy zaplanować i przeprowadzić działania powiązane ze zidentyfikowanymi ryzykami , a potem także je monitorować. Poniżej prezentuję krótkie omówienie wszystkich tych etapów.

 

Etapy „Identyfikuj & Oceń”

W identyfikację ryzyk powinny być zaangażowane wszystkie osoby mające wpływ na projekt – od Product Ownera, poprzez Sponsorów i Zespół Developerski, a na Użytkownikach skończywszy.  

Warto przy tym wykorzystać dobrze znane z metodyk tradycyjnych źródła z poprzednich projektów jak np. lessons learned, rejestry ryzyk, ale też techniki takie, jak np. warsztaty facylitowane. Jak w przypadku metodyk kaskadowych, w podejściu Active Agile powinniśmy przynajmniej na początku projektu zorganizować spotkanie, którego efektem będzie opracowanie listy zagrożeń.  

Taka ocena ma ułatwić ustawienie priorytetów w zakresie zidentyfikowanych ryzyk oraz oszacować ich wagę. Jedną z najczęściej stosowanych praktyk jest także stosowanie iloczynu prawdopodobieństwa wystąpienia danego zagrożenia oraz konsekwencji, jeśli zagrożenie to się zmaterializuje.  

W odróżnieniu od metodyk tradycyjnych, w aktywnym podejściu Agile zaleca się odwrót od czasochłonnej i kosztownej oceny ilościowej ryzyka. W tym miejscu można natomiast zastosować metodę estymacji często wykorzystywaną w metodykach zwinnych – Planning Poker. Ciekawy opis tej metody pracy można znaleźć np. na blogu ProCognita 

Etapy „Planuj  & Działaj”

Planowanie działań umożliwia przygotowanie właściwych reakcji na konkretne, zidentyfikowane ryzyka w odpowiednim czasie. Taki proces może odbywać się podczas cyklicznych, dedykowanych spotkań zespołu. Tu możliwości działania są podobne, jak w metodach klasycznych: akceptacja, unikanie, łagodzenie oraz przeniesienie.  

Na etapie realizacji zaplanowanych działań, w Agile możemy wyróżnić dwa podstawowe sposoby na włączanie tego procesu. Pierwszy to wydzielenie odpowiedniej ilości czasu na identyfikację, ocenę oraz reakcję na ryzyka w iteracji. Drugi to stworzenie dodatkowych user stories i potraktowanie ich analogicznie jak innych standardowych wymagań – co może oznaczać, że nadajemy im odpowiedni priorytet i estymujemy wartość. 

Etap „Monitoruj

Przedstawienie etapu monitorowania na końcu procesu w grafice nie powinno nas zwieść. Kontrola ryzyka powinna odbywać się w trybie ciągłym lub przynajmniej cyklicznie, w ustalonych przez zespół momentach.  

Kluczowe zagrożenia, przedstawione np. w postaci rejestru ryzyk, powinny być widoczne dla zespołu przez cały okres trwania projektu i aktualizowane po każdym sprincie. Zapewnia to ciągły i stosunkowo mało kosztowny mechanizm monitorowania.  

Zmiany w ryzykach mogą być również przedstawiane w postaci tzw. Risk Burndown Chart, czyli wykresu pokazującego status ryzyk na przestrzeni kolejnych iteracji.  

Zarządzanie ryzykiem: podejście lekkie 

Podczas gdy zarządzenie ryzykiem w Active Agile może do złudzenia przypominać metodyki klasyczne, tzw. „podejście lekkie” stawia na niwelowanie zagrożeń poprzez częste dostawy produktów – czyli np. kolejnych fragmentów kodu lub funkcjonalności, a także regularny kontakt z klientem.  

W stale zmieniającym się otoczeniu projektu pozwala to na eliminowanie czynników ryzyka na bieżąco. Takie podejście w znacznym stopniu opiera się o założenie, że zyski z zarządzania ryzykiem są nieadekwatne do nakładów potrzebnych, by taki proces prowadzić. 

Zamiast tego,  w podejściu lekkim eliminacja zagrożeń następuje w oparciu o procesy zwinne, takie jak: 

  • Codzienne spotkania, czyli tzw. daily zespołu pozwalają identyfikować i eliminować typowe ryzyka związane ze sprintem.
  • Retrospekcje sprintów wpływają na usprawnianie procesów oraz eliminowanie zagrożeń.
  • Praca z Backlogiem, zwłaszcza tzw. „pielęgnowanie” pozwala na unikanie ryzyk związanych z błędną interpretacją wymagań.
  • Przyrostowe dostarczanie produktu, a także jego regularne prezentacje dla użytkowników końcowych pozwalają na szybką weryfikację, czy tworzone funkcjonalności spełniają oczekiwania docelowych odbiorców.
  • Code review, czyli eliminowanie błędów i dbanie o „czystość” kodu na poziomie deweloperskim. 

W podejściu lekkim zarządzanie ryzykiem nadal jest obecne, choć na pierwszy rzut niewprawne oko mogłoby odnieść wrażenie, że nie jest to w pełni świadomy proces.  

Podejście to ma jedną zasadniczą zaletę. O ile zmiany zakresu lub ryzyka z nim związane w metodyce klasycznej lub Active Agile mogą w skrajnych przypadkach powodować wzrost kosztów i opóźnienia, o tyle podejście lekkie nie zna takich ograniczeń. Dzieje się tak, bo zagrożenia oraz powiązane wymagania nie są specyfikowane na początku procesu, za to klient w trakcie realizacji może doprecyzowywać je ze sprintu na sprint, dodatkowo zgłaszając uwagi na koniec każdej iteracji.  

Zamiast podsumowania, czyli ujarzmiając ryzyko w sposób zwinny 

Mimo niewątpliwych zalet zwinnego zarządzania ryzykiem, należy wspomnieć, że podejścia te nie zawsze w pełni mogą uwzględnić zagrożenia wynikające np. ze zmian w finansowaniu przedsięwzięcia czy sytuacji rynkowej. Tymi aspektami nie da się zarządzać poprzez krótkie iteracje czy dostarczanie wartości dla klienta.        

Jednak bez względu na które z powyższych podejść zdecydujemy się w naszym projekcie, jednego możemy być pewni. Świadome zarządzanie ryzykiem pomoże nam ograniczyć lub nawet wyeliminować zagrożenia w realizacji, zwłaszcza te związane z technologią czy zakresem prac.  

Jako specjaliści od realizacji złożonych projektów technologicznych, zawsze pomagamy w doborze odpowiedniej metodologii, aby zminimalizować potencjalne zagrożenia na drodze do realizacji celów naszych klientów.  

Opieramy się przy tym na certyfikatach i doświadczeniu w pracy w najpopularniejszych metodykach projektowych – zarówno tych klasycznych – kaskadowych, takich jak Prince2, ITIL, IPMA czy PMP, czy zwinnych – od AgilePM po Professional Scrum Master. Choć oczywiście najbliżej nam do podejścia Active Agile, chętnie doradzamy i stosujemy inne metodyki, jeśli widzimy, że są one korzystniejsze dla konkretnego projektu. Ale to już temat na inny post 😉 

 

Zapraszamy do kontaktu – dobierzemy nie tylko właściwe technologie dla Twojego projektu, ale również metodykę jego realizacji. 

 

unity

unity

Skontaktuj się z profesjonalnym doradcą IT

Napisz do nas

Wyrażam zgodę na przetwarzanie danych osobowych na zasadach określonych w polityce prywatności. Jeśli nie wyrażasz zgody na wykorzystywanie cookies we wskazanych w niej celach, w tym do profilowania, prosimy o wyłącznie cookies w przeglądarce lub opuszczenie serwisu. więcej

Akceptuj