Metoda ścieżki krytycznej powstała w latach 50 ubiegłego wieku w firmie DuPont, jako recepta na rosnące koszty związane z niedotrzymywaniem terminów prowadzonych projektów. Realizacja wymaganych do ukończenia projektu zadań, na podstawie wzajemnych relacji między nimi, pozwoliła na zaplanowanie realistycznego harmonogramu, a tym samym zwiększyła szanse powodzenia projektu. Wykorzystanie metody ścieżki krytycznej nie gwarantuje sukcesu projektu, jednak bardzo go uprawdopodabnia, pomagając osiągnąć założone cele w wyznaczonym terminie.
Wygląda obiecujące, ale jak ją wykorzystać w praktyce? Sama metoda nie jest zbyt skomplikowana i sprowadza się do kilku prostych kroków, chociaż jej optymalizacja wymaga nieco wprawy. Trochę tak, jak w szachach, gdzie także mamy proste zasady, jednak do osiągnięcia mistrzostwa potrzebujemy nieco praktyki.
1. Struktura Podziału Prac (Work Breakdown Structure – WBS)
Pierwszym krokiem jest utworzenie struktury podziału prac dla realizowanego projektu, czyli hierarchicznej listy wszystkich zadań niezbędnych, do osiągnięcia celu projektu. Od tych kluczowych, do tych bardziej drobiazgowych, aż do szczegółowości, której potrzebujemy, ale nie większej! Hierarchiczna struktura pomaga w utrzymaniu porządku w projekcie, wykryciu całej pracy, a jej zakodowanie w komunikacji z zespołem projektowym.
2. Relacje między zadaniami w projekcie
Kolejnym krokiem, który musimy wykonać, będzie wyznaczenie relacji pomiędzy zidentyfikowanymi zadaniami z naszego WBS. Wynika to z faktu iż nie możemy przystąpić do wszystkich zadań jednocześnie. Pewne z nich wymagają wcześniejszej realizacji innych. Dobrym przykładem są testy aplikacji, których rozpoczęcie wymaga, rozpoczęcia, a często zakończenia prac programistycznych.
Między zadaniami mamy cztery typy relacji łączących rozpoczęcie i zakończenie dwóch zadań. Definiujemy je na zadaniu będącym następnikiem, którego realizacja uzależniona jest od poprzednika. Każde zadanie ma dwa terminy – rozpoczęcie i zakończenie. Chcąc połączyć dwa takie zadania mamy zatem cztery możliwości. Najczęściej występuje relacja mówiąca iż rozpoczęcie danego zadania możliwe jest po zakończeniu innego i mówimy wtedy o relacji typu „Finish to Start”. Dodatkowo mamy możliwość zastosowania zwłoki, dodatniej – dla zobrazowania przerw technologicznych i ujemnej – do zrównoleglenia prac.
Jeśli jest taka potrzeba, poza relacjami, możemy nałożyć na zadania dodatkowe ograniczenia czasowe. Jeśli nasz podwykonawca dostarczy produkt cząstkowy na wyznaczony termin, to możemy założyć iż nie będziemy mogli realizować następnika tego zadania przed tym terminem, nawet jeśli z relacji wynika inaczej.
Uwzględnienie wszystkich relacji w strukturze podziału prac tworzy diagram sieciowy, prezentowany najczęściej za pomocą prostokątów (zadania) i strzałek (relacje), który przedstawia chronologię realizacji zadań w projekcie. W większości aplikacji bardziej przyjazną użytkownikom formą prezentacji projektu jest Harmonogram Gantta, gdzie zadania prezentowane są za pomocą belek na tle kalendarza.
3. Szacowanie czasów trwania zadań
Następną czynnością, którą należy wykonać jest oszacowanie czasu trwania każdego z zadań. Ponieważ najłatwiejsze jest przewidywanie przeszłości, a projekt będzie realizowany w przyszłości, jest to zwykle najbardziej pracochłonny i sprawiający najwięcej problemów etap tworzenia harmonogramu.
Szacujemy jedynie czasy zadań podrzędnych z WBS. Czasy realizacji zadań zbiorczych, które nie mają dodatkowej pracy, wynikają z oszacowań ich zadań podrzędnych. Problematyczne może być to iż nie możemy przyjąć widełek z wartościami minimalną i maksymalną, czasu jaki może być potrzebny do realizacji zadania.
Na podstawie doświadczeń zespołu, danych z wcześniej realizowanych projektów i wszelkich innych źródeł, na których chcemy się oprzeć, zakładamy konkretny czas trwania zadań. Najlepszy jaki możemy podać na dany moment podać. Jeśli później będzie taka potrzeba, to będziemy mogli go skorygować. Ważne jest uzyskanie realnych terminów, bez dodatkowych zapasów czasu, a także uzyskanie deklaracji zespołu co do ich dotrzymania.
4. Przypisanie zasobów – Łańcuch Krytyczny
Tu nieco wychodzimy poza metodę ścieżki krytycznej, która nie uwzględnia dostępności zasobów, jednak myślę, że warto o tym wspomnieć, ponieważ to ludzie realizują projekty. Rozszerzeniem CPM o zależności między zasobami jest metoda Critical Chain Project Management – CCPM. Jeśli nie uwzględnimy dostępności zasobów, możemy mieć problemy z terminową realizacją projektu. Problematyczne może być jednoczesne przypisanie danej osobie kilku zadań, których sumaryczny czas realizacji przekracza dniówkę danej osoby, a także dostępność niezbędnych osób w terminach wynikających z harmonogramu.
W praktyce po dopisaniu wszystkich zasobów, musimy zadbać o ich zbilansowanie, czyli wykorzystanie do ich maksymalnego zaangażowania czasowego w danej jednostce czasu – zwykle 8 godzin dziennie.
5. Ścieżka krytyczna projektu
Mając diagram sieciowy z oszacowanymi czasowo zadaniami i relacjami między nimi, możemy wyznaczyć wiele ścieżek, łączących rozpoczęcie z zakończeniem projektu. Wśród nich znajduje się ta najdłuższa, która nosi miano ścieżki krytycznej. To ona determinuje czas trwania projektu, a wszelkie opóźnienia zadań, będących jej częścią, spowodują potencjalne opóźnienie zakończenia projektu.
W aplikacjach jak Ms Project, które wspierają metodę ścieżki krytycznej, po wykonaniu przez nas powyżej opisanych kroków, aplikacja wyznaczy terminy realizacji wszystkich zadań i samą ścieżkę krytyczną. Jeśli ktoś chce dokładniej zgłębić temat wyznaczania ścieżki krytycznej, lub przygotowuje się do certyfikacji, polecam darmową aplikację online OpenCPM.