Aby odpowiedzieć na to pytanie kierownik projektu musi przeanalizować zależności między zadaniami, czasy ich trwania, kalendarz oraz wiele innych czynników. Odpowiedź nie zawsze jest oczekiwana przez sponsora ;). Ale zgodnie z kodeksem etyki kierownika projektu, zła wiadomość nie powinna być zatajana. A podjęcie się realizacji projektu w niemożliwym terminie jest sabotażem ze strony project managera.
W jednym z poprzednich wpisów opisaliśmy, w jakich głównych krokach zaplanować projekt. Teraz przyszedł czas, aby zagłębić się bardziej szczegółowo w krok związany z tworzeniem harmonogramu, czyli planowaniem zadań projektu w czasie.
Projekty można harmonogramować od startu albo od końca. W praktyce zdecydowana większość planowana jest od startu, więc narazie pominiemy tą drugą metodę.
Mówi się, że każdy projekt ma 4 wymiary:
- Zakres
- Koszt
- Jakość
- Czas
Z nich wszystkich jedynie czas jest nieodtwarzalny. Budżet można powiększyć, zakres zredukować, a jakość obniżyć. Natomiast czasu nie da się cofnąć, ale można go negocjować. Warto o tym pamiętać, bo praktyka pokazuje, że większość tak zwanych deadline’ów i sztywnych zależności czasowych po krótkich negocjacjach jednak daje się modyfikować i przesuwać.
Kroki budowania harmonogramu:
Krok 1. Ustal czas trwania zadań
Dla każdego zadania, które mamy w zakresie projektu należy oszacować jego czas trwania. Najlepiej zapytać o czasy bezpośrednich wykonawców danych zadań. Na tym kroku nie przejmuj się zanadto tym, kiedy zadanie będzie wykonywane. Konkretny termin wyniknie z następnych kroków planowania harmonogramu. Załóż narazie, że wszystkie aktywności zaczynają się dzisiaj.
Krok 2. Ustal pracochłonność
Zapytaj swojego zespołu, ile pracy muszą wykonać w poszczególnych zadaniach. Pracę liczy się w tzw. osobodniach, osobomiesiącach lub FTE (full time equivalent). Osobodzień – praca do wykonania w jeden dzień, analogicznie jest z osobomiesiącem, natomiast FTE to etap przeliczeniowy, czyli zaangażowanie jednego lub więcej ludzi na poziomie jednego etatu. Na przykład 2 FTE, to 4 ludzi na pół etatu, 2 na etat, 8 na ćwierć itd.
Warto pamiętać o jednym wzorze: czas trwania zadania = praca / liczba jednostek pracy. Oznacza on, że jeżeli na zadanie musimy przeznaczyć 10 osobodni i mamy dwóch pracowników na pełen etat, to zadanie wykonamy w 5 dni. Warto go znać, bo np. MS Project korzysta z niego przy rozplanowywaniu pracy w zadaniach. Z drugiej strony jednak w praktyce okazuje się, że dokładanie kolejnych ludzi do zadania jednak nie skróci go proporcjonalnie (czytaj tu o crashingu).
W praktyce okazuje się, że faktyczna praca w zadaniach mija się z planem, jednak, jeżeli stosujemy podobne założenia, to rozkład błędów powinien być równomierny w górę i w dół. To jest tak samo często ludzie niedoszacują zadań, jak i się przestrzelą. Jeżeli okaże się, że z jakiegoś względu praca w projekcie zwykle jest niedoszacowana albo zwykle jest przeszacowana, to najprawdopodobniej działa nam jakieś wspólne ryzyko. Przykładowo projekt jest całkowitą nowością w firmie, sponsor wywiera silną presję i ludzie podchodzą do niego z entuzjazmem, w wyniku szacunki pracy we wszystkich zadaniach są za małe i projekt od samego początku zaczyna się spóźniać.
Krok 3. Ustal kolejność zadań
Pewne zadania musimy zrobić szybciej, bo sponsor lub klient sobie tego życzy, a pewnych zadań nie może rozpocząć wcześniej, ponieważ konieczne jest skończenie innych zadań przedtem (pisałem o tym na początku wpisu). Zatem należy teraz ustalić właściwą kolejność zadań. Powinniśmy w tym celu wprowadzić zależności między zadaniami, ale tylko tam, gdzie są one niezbędne. Nadmierna ilość zależności jest jedną ze złych praktyk początkujących kierowników projektów, w jej rezultacie harmonogram jest jedną wielką ścieżką krytyczną.
A propos, czym jest ścieżka krytyczna?
Między zadaniami w projekcie mogą występować 4 rodzaje zależności. Najbardziej typowe to tzw. koniec do początku (finish to start), czyli sytuacja, gdy zadanie następne może zacząć się dopiero po zakończeniu poprzedniego. Na przykład szafki w kuchni można zacząć wieszać dopiero po pomalowaniu ścian za nimi. Pozostałe rodzaje relacji to kombinacje, jednak są one dużo rzadziej stosowane w praktyce harmonogramowania:
- finish to finish – zadanie następne może zakończyć się wraz z końcem poprzedniego; np. dostawa komponentów powinna zakończyć się w momencie zakończenia montażu linii produkcyjnej, aby nie było konieczności ich magazynowania;
- start to start – zadanie następne może zacząć się wraz ze startem poprzedniego; np. start to finish – zadanie następne może skończyć się wraz ze startem następnego.
Wymienione wyżej zależności powodują, że nasz harmonogram zaczyna rozciągać się w czasie. Zadania powiązane zależnościami tworzą siatkę powiązań, taką jak na obrazku. Jeżeli tak skonstruujemy zależności między zadaniami, że będziemy mieli tylko jedno zadanie na początku i tylko jedno na końcu, to będzie można wyróżnić sekwencję zadań, która ma najdłuższy czas trwania. To będzie właśnie ścieżka krytyczna (na rysunku zaznaczona na czerwono) i ona wyznaczać będzie czas trwania całego projektu, dlatego jest tak istotna.
Zatem już wkrótce dowiemy się, ile będzie trwał projekt.
Krok 4. Weź pod uwagę ograniczenia, kalendarz, dostępność ludzi i zasobów
W projekcie często mamy do czynienia z zewnętrznymi ograniczeniami, np.:
- Klient wymaga dostarczenia pierwszego modułu na wiosnę
- Ustawodawca założył wejście nowych przepisów w życie z końcem roku
- Zewnętrzny dostawca ma inny projekt i w lipcu nie będzie dostępny
- Główny technolog idzie na urlop macierzyński
- Zespół B w projekcie pracuje w trybie zmianowym i dostępny jest 2 godziny dziennie.
- Koniec roku jest obciążający dla rachunkowości na tyle, że żadne prace nie mogą być u nich prowadzone
Tego typu uwarunkowania powodują, że nasz harmonogram trzeba jeszcze bardziej rozsunąć w czasie albo zmienić kolejność działań. Uwzględnijmy również różne tempo prac i kalendarz zasobów i ludzi. Na przykład ktoś może wychodzić zawsze o 15:00, ktoś przychodzi późno lub jest w innej strefie czasowej. To ma wpływ na czas trwania zadań.
Krok 5. Skompresuj harmonogram
Krok, który nie powinien być bagatelizowany. Praktyka pokazuje bowiem, że gdy już naniesie się na harmonogram wszystkie zadań, uwzględni dostępność ludzi i maszyn, poprzesuwa ze względu na zależności i ograniczenia, weźmie pod uwagę kalendarz i doda bufor strachu, to okazuje się, że projekt miałby skończyć się w nierealnie odległym terminie. Kilka razy zdarzyło mi się, że gdy zadowolony przedstawiłem sponsorowi termin wykonania projektu, stwierdził dyplomatycznie, abym jeszcze raz przemyślał plan tego projektu i zaproponował jakiś termin jeszcze w tym roku.
W projekcie samym zdrowym rozsądkiem można urwać kilka procent czasu trwania, np.: przez likwidację nadmiarowych zależności, zrównoleglenie zadań, redukcję zakresu, dołożenie dodatkowych ludzi do niektórych zadań itp. Więcej na temat kompresowania harmonogramu można znaleźć tutaj.
Krok 6. Podziel na etapy
I w końcu powinniśmy się zastanowić, czy przypadkiem nie warto podzielić projektu na części. Nie wstawić tak zwanych etapów, które pozwolą odebrać część prac, przekazać je do użytku. Dzięki etapowaniu spada ryzyko projektu, bo nie przejmujemy się już tym, co zostało odebrane. Niestety niekiedy wydłuża się czas, bo czasem trzeba poczekać z pracami kolejnego etapu aż nie zamknie się poprzedni. Bowiem etapowanie zakłada, że nie ma prac nakładających się na dwa etapy – są albo w jednym, albo w drugim.
I to już wszystko, możemy powiedzieć klientowi i sponsorowi, kiedy projekt się skończy. Teraz zaczyna się życie, bo projekt trzeba wykonać, a to już zupełnie inna opowieść…
W prowadzonych przeze mnie projektach zawsze miałem problem z właściwym zaplanowaniem. Być może niewielka ich ilość nie pozwoliła mi jeszcze na nabranie wprawy :). Jednak za każdym razem zastanawiałem się, dlaczego znowu przekroczyłem harmonogram i doszedłem do wniosku, że u mnie na opóźnienie mają wpływ dwa czynniki. Pierwszym jest nieuwzględnianie dostępności czasowej członków zespołu, a nawet mojej własnej. A wystarczy zapytać o planowany urlop, stałe obowiązki wymagające np. nieobecności w pracy, zaplanowane szkolenia, czy też cykliczne zadania odbywające się zawsze w określonym terminie. Wszystkie te kwestie można wyjaśnić przed rozpoczęciem projektu właściwie bez większego wysiłku. Wystarczy poprostu o tym pamiętać :). Natomiast w zupełności nie radzę sobie z drugą przyczyną, którą stanowią trudnosci w oszacowaniu pracochłonności zadania. W projektach six sigma zawsze mam problem tylko z Measure i Improve. W Measure otwieramy puszkę pandory i nie wiemy, co z niej wyskoczy. W Improve zamykamy tą puszkę :). Czas otwierania i zamykania zależy od tego, co jest w środku, a tego planując harmonogram jeszcze nie wiem…