Metodyki klasyczne i zwinne
Jak prawidłowo zarządzać projektami IT?
Rozpoczęcie projektu IT to nie lada wyzwanie zarówno dla klienta jak i całego zespołu. Jednym z kluczowych elementów przy jego realizacji jest dobranie odpowiedniej metodyki wg. której projekt będzie realizowany. W zależności od wybranej metody pojawiają się różnice w czasie realizacji, budżecie, a nawet poziomie decyzyjności klienta. Czy istnieje metoda idealna? Podejście do projektu IT powinno być przede wszystkim dobrze przemyślane. Ważne jest jasne nakreślenie oczekiwań, wspólna analiza, zadawanie odpowiednich pytań oraz oszacowanie czasochłonności zadania. Dopiero na tym etapie możliwe jest dobranie odpowiedniej metody w celu przystąpienia do pracy.
Popularne metodyki zarządzania projektami IT
Jednym z czynników wpływających na skuteczne prowadzenie projektu IT jest zastosowanie odpowiednich metodyk dostosowanych do jego charakteru. W przypadku każdej z nich sposoby realizacji mogą się nieco różnić. Stosowane metodyki koncentrują się zazwyczaj na innych problemach i wskazują inną drogę do osiągnięcia celu.
Pośród tych najczęściej stosowanych wyróżniamy metodyki klasyczne, tzw. Tradycyjne (waterfall), oraz metodyki zwinne (agile).
Metodyki klasyczne zarządzania projektami IT
Do metodyk klasycznych zaliczamy metodykę PRINCE2, PMI, PMBOK, a także klasyczną Waterfall.
Metodyki klasyczne opisywane są najczęściej w modelu kaskadowym (waterfall), co oznacza, że projekt realizowany jest etapami. Należą do nich:
- Pomysł lub potrzeba: Wymagania biznesowe (FBR) znane w procesie presales
- Oferta (estymacja kosztów, zazwyczaj w modelu fixed-price), określenie kamieni milowych
- Formowanie zespołu na poszczególne etapy (role: PM, BA, UI/UX designer, potem dev, QA, devops)
- Szczegółowy plan projektu, analiza funkcjonalna, projekt techniczny
- Implementacja
- Zarządzanie zmianą, ryzykiem
- Testy (systemowe, integracyjne, bezpieczeństwa, wydajnościowe)
- Testy akceptacyjne na środowisku preprodukcyjnym
- Dokumentacja i szkolenia
- Wdrożenie na środowisko produkcyjne (go-live)
- Stabilizacja
- Wsparcie techniczne i utrzymanie/rozwój rozwiązania
- Zamknięcie projektu – przekazanie wszystkich produktów – kod, dokumentacja; uzyskanie referencji
Kluczem metodyki waterfall jest przede wszystkim dokładne planowanie poszczególnych prac i dotrzymywanie terminów. Takie podejście świetnie sprawdza się w sytuacjach, gdy cel i technika jego osiągnięcia są sformułowane w sposób jasny i zrozumiały, a szansa na zmianę zakresu w trakcie projektu jest niewielka, jako że wszelkie zmiany wiążą się zazwyczaj z niemałym ryzykiem. Dlatego tak ważne jest, by w modelu tradycyjnym nie rozpoczynać kolejnych kroków tak długo, aż poprzedni nie zostanie w pełni zakończony. W przypadku, gdy klient chce zmienić któryś z poprzednich kroków, możliwe jest zastosowanie tzw. Change requestów co może jednak znacząco wpłynąć na czas realizacji, budżet czy nawet jakość projektu, jeżeli zmiana wprowadzana jest na późnym etapie realizacji. Metodyki klasyczne zalecane są zazwyczaj do dłuższych projektów. Świetnie sprawdzają się również w projektach, w których produkty i zakres pracy są stałe, a wszelkie zmiany zachodzą powoli oraz są ograniczone wszelkiego rodzaju regulacjami i procedurami jak w przypadku sektora publicznego czy też w bankowości.
Zalety stosowania metodyk klasycznych
Stosowanie metodyk klasycznych w zarządzaniu projektami IT często wydaje się być bezpiecznym rozwiązaniem z uwagi na fakt, że już na samym początku jasno określone są przedziały początkowe i końcowe projektu oraz wymagania niezbędne do jego realizacji. Takie podejście pozwala również na lepsze oszacowanie kosztów projektu, a klient już na etapie planowania jest świadomy kolejnych kroków realizacji. Co więcej, projekty IT przeprowadzone w metodyce klasycznej są zazwyczaj świetnie udokumentowane, co sprzyja kontrolowaniu przebiegu projektu.
Wady stosowania metodyk klasycznych
Jak już wspominaliśmy, metodyki klasyczne cechują się małą elastycznością, w związku z czym wszelkie wprowadzanie zmian wiąże się z ryzykiem na poziomie jakości, budżetu oraz czasu realizacji. Pierwsze trudności mogą się pojawić już na samym początku planowania projektu, jako że metoda ta wymaga przygotowania bardzo dokładnego planu realizacji. Dużym utrudnieniem może się również okazać fakt, że pierwsze zmiany są przedstawiane i wdrażane dopiero wtedy, gdy wszystkie zaplanowane zadania przejdą przez wszystkie etapy projektowe. Dodatkowo metodyki klasyczne wiążą się z wysokim poziomem formalizacji, a rzeczywiste potrzeby klienta mogą być odsuwane na dalszy plan.
Inne tradycyjne metodologie
Spośród tradycyjnych metod zarządzania, na uwagę zasługują również metodyki PRINCE2, PMI oraz PMBOK.
PRINCE 2 (Project in Controlled Environment) – metodyka zarządzania projektami oparta na produktach. Zastosować ją można do zarządzania i sterowania projektami wszelkiego rodzaju i wszelkiej wielkości. Stosowanie tej metodyki zapewnia wysoką standaryzację i powtarzalność projektów o wspólnym podejściu, terminologii i dokumentacji. Obecnie jednak niewiele organizacji korzysta z tej metody.
PMI – kompleksowy zbiór zasad zarządzania projektami skodyfikowany przez Project Management Institute i opublikowany jako PMBOK® Guide, powszechnie uznawany za fundament wiedzy profesjonalnego kierownika projektu.
PMBOK® Guide – zbiór najlepszych praktyk z projektów podzielonych na ponad 40 procesów zarządzania projektami. Procesy te wykorzystują dziesiątki technologii i narzędzi, które można skonfigurować tak, aby odpowiadały potrzebom organizacji. Dopiero ich prawidłowy dobór tworzy tzw. metodykę prowadzenia projektów.
Metodyki zwinne (agile) zarządzania projektami IT
Do metodyk zwinnych zarządzania projektami IT zaliczamy między innymi AGILE, SCRUM, SAFe, LeSS, Nexus, PRINCE2AGILE oraz Kanban.
Metodyki zwinne wykorzystują tzw. podejście agile, w którym zespół pracuje w oparciu o krótkie sprinty i dostarcza działające fragmenty systemu. Agile cechuje przede wszystkim efektywna i elastyczna możliwość zarządzania, wysoka wydajność i jakość w szybkim dostarczeniu oprogramowania. Podobnie jak w przypadku metodyk klasycznych, projekt prowadzony w metodyce zwinnej również rozpoczyna się od pomysłu/potrzeby, natomiast w tym przypadku projekt realizowany jest w kolejnych iteracjach (sprintach). Każda iteracja rozpoczyna się podsumowaniem podjętych już kroków oraz planowaniem kolejnych działań, a wyniki każdego sprintu są prezentowane klientowi na bieżąco. Pozwala to na bieżącą kontrolę postępów w projekcie IT oraz lepsze planowanie budżetu i zaangażowania poszczególnych członków zespołu. W przeciwieństwie do metod klasycznych testy są częścią sprintów, co również umożliwia większą kontrolę nad jakością.
Istnieje powiedzenie, że w podejściu zwinnym najpierw realizuje się projekt w postaci mvp (minimum viable product), czyli tworzy się wersję produktu z wystarczającą ilością funkcji, aby mogli z niej korzystać pierwsi klienci, a następnie w kolejnych etapach realizowana jest jego pełna funkcjonalność. Metodyki zwinne kładą nacisk na dokumentowanie tylko tego, co jest niezbędne oraz na ścisłą współpracę między osobami definiującymi zakres a dostarczającymi produkt. Polecane są często dla projektów o krótszym terminie realizacji.
Zalety stosowania metodyk zwinnych
Elastyczność, jaka cechują się metodyki zwinne, pozwala przede wszystkim na dokładniejsze planowanie kosztów, działań czy sterowaniem zakresu w ramach kolejnych iteracji. Oznacza to, że możliwe jest rozpoczęcie prac nad projektem IT jeszcze przed kompletnym zaplanowaniem docelowego efektu końcowego.
W tym przypadku klient ma większy udział w realizacji projektu, co pozwala mu nadzorować jego przebieg oraz wprowadzać zmiany jeszcze na etapie implementacji. Szacuje się, że w metodyce zwinnej szybciej pojawia się również sam efekt końcowy.
Wady stosowania metodyk zwinnych
Do podstawowych wad metodyk zwinnych zalicza się głównie overhead na organizację pracy (tzw. Ceremonie projektowe), a także niezbyt staranne podejście do zarządzania ryzykiem. Może to prowadzić do rozrastania się kosztów, a końcowy produkt może nie spełniać pierwotnie przyjętych założeń.
Pozostałe metodyki zwinne
- Scrum – metodyka będąca rozwinięciem i niejako sformalizowaniem manifestu Agile w zbiór zasad i ceremonii: członkowie zespołu powinni mieć zbliżone skille, uczestniczą w sprintach, w ramach których odbywają się regularne spotkania.
- SAFe (Scaled Agile Framework) – uporządkowany zbiór zasad i wytycznych dotyczących ról i obowiązków, planowania pracy i zarządzania. Ekspertyza dostarczana przez SAFe wspiera organizacje w skutecznym wprowadzaniu usług i rozwiązań na rynek.
- LeSS (Large Scale Scrum) – framework, w którym wiele interdyscyplinarnych samoorganizujących się zespołów pracuje w jednym rytmie i tworzy jeden gotowy dodatek do produktu – przynajmniej raz na sprint.
- Nexus – koncentruje się na skalowaniu zespołów w celu usprawnienia procesów i komunikacji, na przykład poprzez przydzielanie mniejszej liczby osób do określonego zadania.
- PRINCE2 Agile – metodyka łącząca elastyczność i zwinność metodyk agilowych z dobrze zdefiniowanym procesem i governance w PRINCE2.
- Kanban – metodyka wykorzystująca zasady lean i mająca na celu zwiększenie produktywności poprzez wyeliminowanie marnowania czasu i zasobów. Metodyka zarządzania projektami Kanban może być stosowana w połączeniu z Agile.
Metodyki klasyczne vs metodyki zwinne
METODYKI KLASYCZNE | METODYKI ZWINNE | |
Przykłady | PRINCE2 PMI/PMBOK | SCRUM PRINCE2AGILE Kanban Nexus LeSS SAFe |
Zastosowanie | Duże projekty | Małe projekty, innowacyjne, startupy |
Cel i zakres projektu | Jasny, znany, określany w początkowych fazach projektu | Nie jest do końca zdefiniowany i kształtuje się na początku kolejnych iteracji |
Oczekiwanie na wytworzony produkt | Długi czas oczekiwan
ia na gotowy produkt | Praca w iteracjach, które kończą się gotowym, działającym produktem |
Zaangażowanie klienta | Początkowe (analiza, planowanie) i końcowe etapy (testy, odbiór) projektu | Ciągłe zaangażowanie biznesu przez cały czas trwania projektu |
Odporność na zmiany | Mała odporność na zmianę zakresu i budżetu | Duża odporność na zmianę, zakres i budżet jest weryfikowany przed każdą iteracją |
Dokumentacja | Dokładna, zatwierdzana przez klienta | Na minimalnym poziomie, tak aby zapewnić możliwość pracy zespołu |
Metodyka hybrydowa zarządzania projektami IT
Jedną z możliwości wyboru odpowiedniej metodyki do zarządzania projektem jest metodyka hybrydowa. Polega ona na połączeniu ze sobą metodyki klasycznej z metodyką zwinną (np. Prince2 na wysokim poziomie, Scrum na poziomie zespołów wykonawczych). Pozwala to na dobór najlepszych komponentów, które wspólnie składają się na dostarczeniu pełnej wartości biznesowej dla klienta.
Podsumowanie
Wybór odpowiedniej metody do rozpoczęcia współpracy przy budowaniu projektu cyfrowego jest zależny od wielu czynników, które często różnią się pomiędzy poszczególnymi potrzebami klientów. Wpływają na to takie elementy jak wielkość produktu, szacowany czas realizacji czy też potrzeby dyktowane przez rynek. Istnieje powiedzenie, że można mieć coś zrobione szybko, dobrze lub tanio. Wybierając odpowiednią dla siebie metodę, należy wybrać tylko dwie z tych cech, jako że połączenie ze sobą wszystkich może się okazać niemożliwe do realizacji.