Dostarczaj na czas – MoSCoW i Timeboxy w Agile Project Management

Do tej pory dużo pisaliśmy o frameworku SCRUM, jaki na co dzień wykorzystujemy podczas tworzenia oprogramowania w VSoft. Postanowiłam jednak przybliżyć nieco koncepcję AgilePM (Agile Project Management) – metodyki zwinnego zarządzania projektami, która może stanowić niejako dopełnienie stosowanego w organizacji podejścia zwinnego, w tym np. SCRUM.

Metodyka ta powstała na bazie podejścia The DSDM Agile Project Framework (ang. Dynamic Systems Development Method) i koncentruje się na znacznie szerszym obszarze niż wiele stosowanych powszechnie podejść zwinnych. Mamy tutaj bowiem kontekst projektowy, a nie tylko dostarczanie określonego produktu, zatem obszarem zainteresowania metodyki są m.in. czas, budżet, ryzyka, czego brakowało mi w innych podejściach.

Zmienne projektowe

Czym się różni podejście DSDM od tradycyjnych? W podejściu tradycyjnym mamy na sztywno ustalony zakres projektu, przez co czas i koszt zazwyczaj podlegają zmianom. W praktyce często powoduje to przesunięcia terminów realizacji, gdyż chcąc sprostać wszystkim wymaganiom klienta i przezwyciężyć pojawiające się po drodze problemy, zwiększa się i pracochłonność i czas realizacji. W podejściu tradycyjnym jakość też jest częściowo zmienną, jeśli testowanie zostaje pozostawione na końcowy etap realizacji prac, co czasem bywa zgubne, gdyż może okazać się, że czasu na prawidłowe przetestowanie lub poprawę zidentyfikowanych błędów jest za mało.

To właśnie to stanowi różnice w dwóch podejściach. W podejściu DSDM tylko zakres projektu jest zmienny, a na stałe ustalone są czas, koszt (budżet projektu) oraz jakość. Aby dostarczyć rozwiązanie na czas i w ustalonym budżecie, stosować należy praktyki MoSCoW oraz Timeboxów. Jakość powinna być uzgodniona już na samym początku projektu, a testowanie ma być zintegrowane z iteracyjnym i przyrostowym budowaniem rozwiązania, a nie pozostawione na ostatni etap projektu.

Priorytetyzacja MoSCoW

Priorytetyzacja MoSCoW jest dosyć znaną techniką, a sprawdza się właśnie głównie przy projektach, gdzie mamy sztywno ustalony termin realizacji. Akronim MoSCoW pochodzi od określeń:

  • Must Have – Musi Być
  • Should Have – Powinno Być
  • Could Have – Może Być
  • Won’t Have this time – Nie Będzie tym razem.

 

Wymagania Must Have, jak sama nazwa wskazuje, muszą być dostarczone. Są one bardzo istotne dla klienta, bez nich rozwiązanie nie ma sensu. Zbiór wszystkich wymagań Must Have stanowi Minimum Usable SubseT (Minimalny Użyteczny Podzbiór), który MUSI zostać dostarczony w wymaganym i ustalonym terminie. DSDM zaleca, aby realizacja wymagań o tym priorytecie nie przekraczała 60% całości nakładu pracy. Jeśli wymagań typu Must Have jest więcej, rośnie ryzyko dostarczenia Minimalnego Użytecznego Podzbioru.

Wymagania Should Have są równie ważne, ale bez nich rozwiązanie jest nadal zasadne. Jeśli nie zostaną spełnione, potrzebne mogą być pewnego rodzaju tymczasowe obejścia, a do realizacji niezrealizowanych wymagań powrócić będzie można w jakimś kolejnym etapie projektu, o ile będą jeszcze zasadne. W normalnych okolicznościach prawdopodobnie zostaną dostarczone przez zespół i biznes zazwyczaj oczekuje dostarczenia większości z nich.

Wymagania Could Have są mniej ważne i wartościowe dla biznesu od Must Have i Sholud Have, ale są pożądane i fajnie, jakby zostały zrealizowane. Jeśli jednak zostaną pominięte, rozwiązanie dalej będzie zasadne, a brak spełnienia wymagania będzie miało mniejszy wpływ, niż miałoby to miejsce w przypadku Sholud Have. W przypadku, gdy podczas realizacji projektu wystąpią problemy, zagrażające ustalonemu terminowi realizacji, będzie można zrezygnować z realizacji wymagania bądź też wymagań właśnie z tej puli, po to, aby „chronić” wymagania o wyższych priorytetach. Można powiedzieć, że jest to tzw. rezerwa projektu, stanowiąca, wg zaleceń DSDM około 20% całkowitego nakładu pracy.

Ostatnia grupa wymagań to Won’t Have this time, czyli wymagania, które w wyznaczonych ramach czasowych nie zostaną dostarczone. Często pomagają jednak wyjaśnić zakres projektu i uniknąć próby wprowadzania ich do realizacji.

Po co są właściwie te priorytety?

Priorytetyzacja ma na celu określenie tych wymagań biznesowych, które są najbardziej istotne i niezbędne oraz tych, które mają stopniowo mniejsze znaczenie, ale które również będą realizowane, jeśli czas i budżet na to pozwolą. Priorytety ustala się na poziomie Projektu, Przyrostu oraz Timeboxa. Większość priorytetów ustala się w fazie Podstaw, ale są one weryfikowane przez cały czas trwania projektu i w różnych momentach, gdyż mogą się zmieniać na przestrzeni czasu.

Przy określaniu proporcji wymagań należy wziąć pod uwagę nie tylko oczekiwania biznesowe, ale także ryzyko, jakie niesie ze sobą realizacja danego projektu. Przykładowo, projekt, w którym wykorzystywane będą nowe technologie, których Zespół Rozwoju Rozwiązania nie zna odpowiednio dobrze, powinien mieć tak dobrane proporcje dla poszczególnych grup wymagań, aby w przypadku problemów, dalej mógł dostarczyć Minimalny Użyteczny Podzbiór. Dlatego osiągnięcie rozsądnego wyważenia nakładu pracy dla poszczególnych rodzajów priorytetów jest kluczową częścią procesu planowania i wymaga zaangażowania całego zespołu projektowego.

Timeboxy

Podobnie jak w wielu innych podejściach zwinnych, DSDM wykorzystuje Timeboxy – określone przedziały czasu, w których mają być realizowane i dostarczane produkty bądź ich elementy. Odnosić się one mogą do Projektu, Przyrostu, ale najczęściej utożsamia się je z wyznaczonymi przedziałami czasu najniższego poziomu (w SCRUM – sprinty). Stosowanie Timeboxów ma nie tylko dzielić pracę na mniejsze etapy, ale przede wszystkim usprawniać proces tworzenia produktów niskiego poziomu, w sposób iteracyjny, kontrolowany oraz zapewniać odpowiednią jakość tych produktów. Timebox trwa zwykle 2-4 tygodnie – jest to optymalna długość.

Stosowanie MoSCoW i Timeboxów są jednymi z kluczowych praktyk DSDM, które zapewniają dostarczanie na czas. Każdy Timebox powinien zawierać właściwe proporcje wymagań Must Have, Should Have i Could Have. Jeśli na poziomie Timeboxu zespół dostarcza uzgodnione wymagania Must Have i Sholud Have na czas, mamy pewność, że zarówno Przyrost, jak i Projekt podążają w dobrym kierunku i dostarczą wymagania biznesowe na czas.

Podsumowanie

Przedstawiłam powyżej jedynie wybrane elementy metodyki Agile Projekt Management, bazującej na podejściu DSDM. Są one jednak na tyle istotne i odmienne od tego, z czym mamy zwykle do czynienia w podejściach tradycyjnych, że od razu zapadają w pamięć. Priorytetyzacja MoSCoW najbardziej sprawdza się tam, gdzie mamy na sztywno ustalony termin i budżet projektu, chroni także jakość dostarczanego rozwiązania. W połączeniu ze stosowaniem Timeboxów zdecydowanie wspiera drugie pryncypium DSDM – „Dostarczaj na czas”. Dostarczanie na czas na koniec każdego Timeboxa utwierdza nas w przekonaniu, że projekt jest na właściwej ścieżce i całość będzie zrealizowana w pierwotnie określonym terminie.

Joanna Kocot

Od ponad 10 lat związana z obszarem IT. W VSoft od 2018 roku, gdzie aktualnie odpowiada za prowadzenie projektów dla branży windykacyjnej, bankowej i finansowej. W codziennej pracy łączy i wykorzystuje wiedzę zarówno w zakresie frameworków i metodyk zwinnych Agile (głównie SCRUM) jak i tradycyjnych (np. PRINCE2). Bardziej od metodyk ceni sobie jednak zdrowy rozsądek, czerpanie wiedzy z doświadczenia i dobre relacje.

Zobacz również

See also