Metodyki zarządzania projektami IT — przegląd najpopularniejszych rozwiązań

Bartosz
Bartosz
Project Manager
Grzegorz
Grzegorz
Project Manager

Liczba modeli, metodyk i podejść do zarządzania projektem sięga niemal 8,5 tysiąca — jak więc wybrać sposoby zarządzania projektami, które najlepiej będą pasować do danego produktu i twojego zespołu?

Metodyka zarządzania projektami jest zbiorem zasad, pozwalających na osiągnięcie celu projektu. Wśród najbardziej popularnych z nich znajdują się Waterfall i metodyki zwinne i to właśnie nim warto przyjrzeć się bliżej. Popularność użycia danych modeli wynika głównie z rodzaju projektu, w jakich są stosowane i z powszechności ich zastosowania, jednak, według raportu Pulse of the Profession 2018, prawie 71% organizacji stosuje podejście Agile. 

Waterfall 

Waterfall przez wiele lat był jednym z podstawowych modeli zarządzania projektami IT. Jego nazwa związana jest z liniowym sposobem realizowania zadań (analogia do spływającej wody), bowiem każdy z etapów pracy rozpoczynany jest po zakończeniu poprzedniego. Waterfall prezentuje więc tradycyjne podejście do zarządzania projektami, gdzie wszystkie etapy zaprojektowane są od początku do końca. 

Model ten można porównać do budowy domu, w której ważne jest przygotowanie stabilnych fundamentów, a następnie kolejnych elementów. Nie można tutaj zmienić kolejności etapów pracy, które zostały już wcześniej określone. Kolejne zadania zależne są więc od wcześniej przeprowadzonych prac, co może prowadzić do zwiększenia kosztów i nakładu pracy. Zdarza się również, że wprowadzenie danych zmian jest już niemożliwe, np. ze względów technicznych czy prawnych.

Podejście Waterfall sprawdzi się więc w projektach, które są powtarzalne, gdzie wszystko jest dokładnie opisane i znamy wymagania, które zasadniczo nie ulegną zmianie. Jeśli podobne projekty były realizowane w przeszłości i wiemy dokładnie, jaki rezultat chcemy osiągnąć, to warto zdecydować się na takie zarządzanie projektem IT. Jeśli praca w modelu Waterfall jest dobrze zorganizowana, podejście to sprawdzi się również w budowaniu i skutecznym dostarczaniu innowacyjnych produktów. 

Agile – popularne podejście do zarządzania projektami IT

Zwinne podejście do wytwarzania oprogramowania uznawane jest za najpopularniejszy sposób pracy nad projektami IT. Agile jest zestawem zasad i wartości, zebranych w 2001 roku w formie Manifestu Agile. Jego główną cechą, z punktu widzenia osoby nadzorującej projekt, jest elastyczność, co ułatwia zarządzanie zakresem projektu i reagowanie na zmiany. Pozwala to więc na szybkie rozpoczęcie pracy, bez konieczności czekania na dokładną specyfikację, zawierającą poszczególne kroki. Dzięki temu zespół może znacznie szybciej dostarczyć gotowy produkt lub jego użyteczne części, co ułatwia zweryfikowanie założeń i dostosowanie zakresu kolejnych prac.

Agile charakteryzuje się wysokim poziomem współpracy, angażuje zarówno zespół, jak i klienta oraz zakłada szybkie reagowanie na zmiany i częste przekazywanie informacji zwrotnej. Jego głównymi zaletami są duża przejrzystość, możliwość wczesnego wypuszczenia działającego produktu oraz oszczędność kosztów, zatem podejście to sprawdzi się przede wszystkim w innowacyjnych projektach.
 

Wśród najbardziej znanych frameworków Agile i metod realizacji projektów znajdują się Scrum, programowanie ekstremalne i Kanban. 

1. Scrum — jeden z frameworków Agile, pozwalający rozwiązywać złożone problemy. Projekt w Scrumie realizowany jest w oparciu o iteracyjne podejście do planowania i pracy. Realizacja zadań podzielona jest więc na sprinty (każdy może trwać od 1 do 4 tygodni), których wynikiem jest działający produkt (początkowo w ograniczonym zakresie), co pozwala na elastyczność biznesową i inżynierską.

Po kilku iteracjach można więc otrzymać MVP, czyli gotowy produkt z podstawowymi funkcjonalnościami, przynoszący wartość biznesową, który nadal może być rozwijany. Scrum jest więc chętnie stosowany w długoterminowych, złożonych projektach. Warto wspomnieć, że MVP może być również tworzony z użyciem podejścia Waterfall.

Podstawowe zasady Scrum opisane są w Scrum Guide, który określa jego główne filary, jak przejrzystość, inspekcja i adaptacja oraz główne role w zespole scrumowym. W skład zespołu wchodzą:

  • Product owner — tzw. właściciel produktu, którego główną rolą jest planowanie pracy i ustalanie priorytetów. Wiąże się z tym konieczność ustalenia celu produktu oraz stworzenie tzw. product backlog, czyli zbioru wszystkich elementów produktu, które przyniosą mu wartość. Osoba ta reprezentuje więc klienta końcowego i inne strony, komunikując ogólną wizję produktu.
  • Developerzy — to nie tylko programiści, ale również testerzy czy projektanci. Grupa ta odpowiedzialna jest za wybór odpowiednich zadań z backlogu i zaplanowanie pracy tak, by osiągnąć cel sprintu. 
  • Scrum master — osoba odpowiedzialna za proces tworzenia produktu i upewnienie się, że każdy w zespole rozumie zasady Scruma. Scrum master dba więc o efektywność zespołu.

2. Programowanie ekstremalne (Extreme Programming, XP) — celem tego frameworku jest dostarczenie wysokiej jakości oprogramowania bez utrudniania życia programistom. Jego głównymi wartościami są komunikacja, prostota, informacja zwrotna, odwaga i szacunek. XP opiera się na wzajemnie powiązanych praktykach tworzenia oprogramowania, wśród których znajdują się m.in. gra planistyczna, częste wydania, testowanie, metafory czy programowanie w parach.

Zastosowanie wspomnianych praktyk i skupienie się na jak najlepszym ich wykorzystaniu pozwala zespołom na zwiększenie efektywności przy realizacji projektu. Dzięki temu otrzymujemy wyższej jakości kod i stabilne systemy z mniejszą liczbą błędów. Zaangażowanie klienta w proces rozwoju produktu ułatwia dostarczenie dokładnie tego, czego oczekiwał. 

3. Kanban — metoda ​​zarządzania przepływem pracy, oparta na wizualizacji pracy, maksymalizacji wydajności i ciągłym doskonaleniu. Nazwa metody pochodzi z języka japońskiego i tłumaczona jest jako wizualna tablica.

Sama tablica Kanban reprezentuje rzeczywisty stan przepływu pracy wraz z uwzględnieniem ryzyka i specyfikacji. Taki system ułatwia śledzenie postępów i wyłapywanie wąskich gardeł. Wszystkie zespoły zaangażowane w projekt mogą w czasie rzeczywistym monitorować swoje postępy i decydować, na czym skupić się teraz i co robić dalej. To pozwala na bardziej owocną pracę pomiędzy członkami zespołu, a tym samym sprawniejszą realizację zadań.

Do głównych zalet metody Kanban należą stała informacja o przebiegu pracy, możliwość dostosowania do zmieniających się priorytetów czy lepsza przewidywalność. 

Inne popularne metodyki zarządzania projektami

Project Management Body of Knowledge (PMBoK)

PMBoK nie jest sposobem zarządzania projektami samą w sobie, a przewodnikiem po dobrych praktykach, opracowanym przez międzynarodową organizację zrzeszającą kierowników projektów. Określa on ramy standardów, procesów, najlepszych praktyk, terminologii i wytycznych, stanowiących branżowe podstawy zarządzania projektami. PMBoK odnosi się do pięciu etapów procesu zarządzania projektem: inicjowanie, planowanie, realizacja, kontrolowanie i procesy końcowe.

PRojects IN Controlled Environments (PRINCE2)

Jest to metodyka kontrolowanego zarządzania projektami, dzieląca projekty na wiele etapów, z których każdy ma swój własny plan i procesy do wykonania. PRINCE2 daje zespołom większą kontrolę nad zasobami oraz możliwość skutecznego ograniczania ryzyka, najlepiej sprawdza się więc w dużych, przewidywalnych projektach korporacyjnych. PMBoK i PRINCE2 często występują jako uzupełniające się wzajemnie podejścia wodospadowe.

Rapid Application Development (RAD)

Kluczowym celem podejścia RAD jest przyspieszenie całego procesu tworzenia oprogramowania. Metodyka ta opiera się na czterech krokach: planowanie, projektowanie prototypu, budowanie i implementacja. Procesy projektowania powtarzają się do momentu, gdy produkt będzie spełniał wszystkie wymagania. RAD sprawdza się wyłącznie, gdy priorytety są dobrze zaplanowane i ograniczone, więc najlepsze efekty przyniesie w małych i średnich projektach. 

Feature-Driven Development (FDD)

FDD to iteracyjne podejście przeznaczone dla dużych zespołów, korzystających z programowania obiektowego. Technika ta składa się z pięciu faz — pierwsza polega na zbudowaniu ogólnego modelu, następnie tworzy się listę funkcjonalności, planuje każdą z nich, a ostatnie dwie fazy obejmują planowanie według funkcjonalności i tworzenie według nich. Plusem takiego rozwiązania jest możliwość jednoczesnej pracy wielu zespołów, jednak sukces w dużej mierze zależy od kierownika i liderów projektu. 

Zarządzanie projektami informatycznymi — jak wybrać odpowiednią metodykę? 

Każdy projekt jest inny, zatem ​​nie ma jednego uniwersalnego podejścia do zarządzania projektami IT. Przy wyborze metody ważny jest jej dobór do projektu i do środowiska, w którym pracuje zespół, a nie odwrotnie. 

Ważne jest zwrócenie uwagi na poszczególne aspekty danej metody — od początku wszystko powinno być zrozumiałe dla każdego członka zespołu, a każdy element metodyki powinien być stosowany zgodnie z przeznaczeniem, dzięki czemu etapy tworzenia projektu będą przebiegać płynnie. Warto więc zaangażować zespół w proces podejmowania decyzji, oparty na ich znajomości metod zarządzania projektami i doświadczeniu z różnymi technikami. 

Niezbędna jest tutaj rola project managera czy osoby odpowiedzialnej za realizację projektów. Zdanie zespołu jest ważne, jednak równie istotne jest zebranie informacji na temat najefektywniejszych sposobów używanych przez daną organizację przy wcześniejszych projektach. Ułatwi to oszacowanie czasu i korzyści wynikających z zastosowania danej metodyki. 

Related Posts
21 grudnia 2021
Metodyka Agile w pigułce, czyli jak skutecznie zarządzać projektem IT
W ostatnich latach metodyka Agile bardzo szybko zyskała na popularności i już od 20 lat…
Czytaj więcej
28 sierpnia 2023
Metoda Kanban: optymalizacja procesów biznesowych
Czy wiesz, że według badania State of Agile z 2022 roku w zaledwie 3 lata…
Czytaj więcej
9 lipca 2020
Kryteria akceptacji — jaka jest rola każdej ze stron zaangażowanych w projekt IT?
Skuteczna komunikacja między klientem a zespołem programistów jest kluczem do sukcesu w projektach IT. Duży…
Czytaj więcej