Przesunąłeś termin zakończenia jednego zadania o trzy dni, a połowa harmonogramu uległa zmianom, o które nikt nie prosił. Albo stało się odwrotnie. Termin się przesunął, a reszta pozostała bez zmian, mimo że dwa zadania wyraźnie są od siebie zależne. Dla każdego, kto zajmuje się rozwiązywaniem problemów związanych z zależnościami zadań w programie MS Project, w obu przypadkach coś tu nie gra, a zazwyczaj nie chodzi o terminy.
Te terminy wynikają z wcześniejszej decyzji, podjętej być może nieświadomie. Połączenie dwóch zadań oznacza, że program Microsoft Project przypisał im typ relacji. Domyślnie jest to relacja „zakończenie–początek”, o ile nie została zmieniona. To właśnie ta relacja decyduje o tym, jak harmonogram reaguje na wszelkie zmiany. Jeśli więc reakcja wydaje się nieprawidłowa, oznacza to, że relacja jest nieprawidłowa.
Potraktuj to jako diagnozę. Zamiast przedstawiać cztery typy zależności jako abstrakcyjne definicje, przyjrzyj się, jak każdy z nich faktycznie wpływa na oś czasu w momencie zmiany daty. Znajdź zachowanie odpowiadające objawowi, a zależność sama się ujawni.
Dlaczego zależności między zadaniami w programie MS Project mają negatywny wpływ na harmonogram
Większość poradników ogranicza się do zdefiniowania czterech rodzajów zależności. Zależność „zakończenie-początek” oznacza, że jedno zadanie kończy się, zanim rozpocznie się kolejne, i tak dalej. Jest to technicznie poprawne, ale zupełnie bezużyteczne, gdy wykres Gantta już działa nieprawidłowo, a przyczyna tego stanu rzeczy pozostaje tajemnicą.
Oto sedno sprawy. Typ zależności nie jest zwykłą etykietą. To zasada, którą silnik planowania stosuje za każdym razem, gdy zmienia się data. W własnej dokumentacji firmy Microsoft dotyczącej sposobu planowania zadań w programie Project wyjaśniono, że oprogramowanie ponownie oblicza cały łańcuch, zaczynając od powiązań, poprzez ograniczenia, a na końcu kalendarze – w tej właśnie kolejności. Użytkownik nigdy nie widzi samego obliczenia. Widzi jedynie zmianę wyniku.
I tu właśnie pojawia się pułapka, która sprawia ludziom trudności. System Project zapisuje ten typ tuż obok identyfikatora zadania, w skrócie, którego większość osób nigdy nie czyta. Poprzednik oznaczony jako „4FS” oznacza typ „zakończenie do rozpoczęcia” dla zadania nr 4. „4SS” oznacza typ „rozpoczęcie do rozpoczęcia”. Pomiń tę kolumnę, a będziesz działać na ślepo, nie wiedząc, które konkretne ustawienie powoduje problem.
Chodzi o to, że nie da się rozwiązać problemu z harmonogramem poprzez nieznaczne przesuwanie terminów. To link określa datę. Napraw link.
Cztery typy – według tego, jak wpływają na Twoją oś czasu
Przeanalizujmy każdy z nich na podstawie objawów, jakie wywołuje, a nie na podstawie definicji podręcznikowej.
Metoda „od zakończenia do rozpoczęcia” (FS) jest ustawieniem domyślnym i obejmuje około 80% rzeczywistych zależności. Zadanie A zostaje zakończone, a zadanie B się rozpoczyna. Jeśli przesuniesz datę zakończenia zadania A na później, zadanie B również przesuwa się w tym samym kierunku. Jest to zachowanie, którego się spodziewasz, i właśnie dlatego rzadko budzi ono wątpliwości. Jeśli harmonogram zmienia się w przewidywalny sposób po przesunięciu daty zakończenia zadania poprzedzającego, oznacza to, że stosujesz metodę FS i działa ona prawidłowo. W łańcuchu projektowym typu „zakończenie do rozpoczęcia” najpierw wylewa się fundamenty, a następnie wznosi ściany — to właśnie podstawowa zasada działania metody FS.
Powiązanie „Start-to-Start” (SS) łączy daty rozpoczęcia dwóch zadań. Zadanie B nie może się rozpocząć, dopóki nie rozpocznie się zadanie A. Objaw wskazujący na to powiązanie: data zakończenia zadania poprzedzającego uległa zmianie, a data zakończenia zadania następującego pozostała bez zmian, co sprawiało wrażenie, jakby coś nie działało poprawnie. Tak jednak nie jest. W przypadku powiązania SS powiązane są wyłącznie daty rozpoczęcia, więc zmiana daty zakończenia nie ma żadnego wpływu na zadania następujące po nim. Dwa zadania, które rozpoczynają się jednocześnie, takie jak wykopy na placu budowy i mobilizacja sprzętu, powinny być powiązane w trybie SS.
Model „Finish-to-Finish” (FF) wiąże ze sobą końce procesów. B nie może zakończyć pracy, dopóki A jej nie zakończy. Cechą charakterystyczną tego modelu jest następca, którego data rozpoczęcia jest elastyczna, ale którego data zakończenia nagle się przesuwa, gdy przedłużony zostaje czas trwania poprzednika. Testy, które muszą zostać zakończone równocześnie z pracami programistycznymi, stanowią klasyczny przykład modelu FF — oba procesy przebiegają równolegle, ale muszą zakończyć się w tym samym momencie.
„Od początku do końca” (SF) to rzadki i mylący przypadek, a szczerze mówiąc, większość osób, które go stosowały, zrobiła to przez przypadek. Zadanie B nie może się zakończyć, dopóki nie rozpocznie się zadanie A. Jeśli data zakończenia zadania jest ciągle przesuwana przez datę rozpoczęcia innego zadania i nie ma to intuicyjnego sensu, prawdopodobnie zastosowano opcję SF tam, gdzie należało użyć czegoś innego. Występuje ona w uzasadnionych przypadkach, takich jak zmiany zmianowe. Jeśli jednak nikt celowo jej nie wybrał, najprawdopodobniej jest to błąd.
„Procedura diagnostyczna jest więc prosta. Zwróć uwagę na to, co uległo zmianie (początek lub koniec), zauważ, co przesunęło się w dalszej części (początek, koniec lub nic), a następnie dopasuj tę parę do jednego z powyższych typów. Niezgodność wskaże ci, na co należy się przestawić.”
Jak sprawdzić i zmienić link
Najpierw rozwiń kolumnę „Poprzednicy”, jeśli nie jest widoczna. Kliknij prawym przyciskiem myszy dowolny nagłówek kolumny, wybierz opcję „Wstaw kolumnę”, a następnie wybierz „Poprzednicy”. Teraz każde zadanie wyświetla swoje powiązania w tej skróconej formie, więc nie trzeba już zgadywać.
Aby zmienić typ, kliknij dwukrotnie zadanie następcze, otwórz kartę „Poprzedniki” w oknie dialogowym „Informacje o zadaniu” i wybierz relację z listy rozwijanej „Typ”. To jest najprostszy sposób. Możesz również edytować kolumnę poprzedników bezpośrednio, jeśli znasz skrót, wpisując „5FF” zamiast „5”, aby wymusić relację „Zakończenie do zakończenia” dla zadania nr 5.
Każda nowa relacja jest domyślnie ustawiona jako „Od zakończenia do rozpoczęcia” (FS). Wystarczy wybrać dwa zadania, kliknąć przycisk z ikoną łańcucha na wstążce i gotowe – oba zadania zostaną powiązane w relacji FS. To podstawowy sposób łączenia zadań w programie Microsoft Project. W poradniku ExperTrain dotyczącym łączenia zależności szczegółowo opisano metodę „wybierz i połącz”, jeśli wolisz wersję z instrukcjami krok po kroku. Problem tkwi w tym ustawieniu domyślnym. Jeśli rzeczywista zależność miała być typu „SS” lub „FF”, teraz masz niewłaściwy typ — i nikt tego nie zauważy, dopóki data nie zacznie się dziwnie przesuwać.
To właśnie tutaj tkwi prawdziwy problem. Najwięcej uwagi poświęca się tym czterem typom, ale to właśnie ustawienia opóźnienia i czasu realizacji projektu po cichu psują harmonogramy, ponieważ są niewidoczne, dopóki się ich nie poszukuje.
Opóźnienie to dodatkowy czas dodawany do zależności. Metoda „zakończenie–początek” z dwudniowym opóźnieniem oznacza, że zadanie B rozpoczyna się dwa dni po zakończeniu zadania A. Pomyśl o czasie utwardzania, schnięciu farby czy obowiązkowym oczekiwaniu. W kolumnie „poprzednik” należy wpisać „4FS+2d”. Harmonogram zachowuje tę przerwę niezależnie od zmian w sąsiednich datach, co jest dokładnie tym, czego oczekujesz w przypadku rzeczywistego okresu oczekiwania. I dokładnie tym, czego nie chcesz, jeśli została ona dodana przez przypadek.
„Lead” to ujemne opóźnienie. Zasadniczo chodzi o nakładanie się zadań. Skrót „4FS-2d” oznacza, że zadanie B rozpoczyna się dwa dni przed zakończeniem zadania A, co pozwala na nakładanie się tych zadań. Jest to przydatne, gdy zadanie następcze może się rozpocząć, podczas gdy zadanie poprzedzające kończy swój ostatni etap. Artykuł w Microsoft Community Hub poświęcony zaawansowanym zależnościom zadań omawia, w jaki sposób opóźnienie początkowe i końcowe współdziałają z nowszym silnikiem Project for the web. Warto go przeczytać, jeśli zauważysz niezamierzone nakładanie się zadań.
Oto, jak dochodzi do błędu. Ktoś wpisuje „+2d”, mając na myśli „-2d”, albo pozostawia rezerwę czasową, mimo że przyczyna jej istnienia już zniknęła. W rezultacie harmonogram zawiera fikcyjną lukę, która wydłuża cały projekt, a ponieważ rezerwa czasowa nie jest wyświetlana jako osobny wiersz, nikt tego nie zauważa. Każda data następująca po tym ogniwie jest przesunięta o dwa dni, a słupki na wykresie Gantta wyglądają zupełnie normalnie.
Jeśli więc czas trwania projektu przekracza sumę czasów trwania poszczególnych zadań, przed podjęciem jakichkolwiek działań sprawdź wartości opóźnień. Przejrzyj kolumnę „poprzednik” pod kątem wpisów „+” i „-” i upewnij się, że każdy z nich ma uzasadnienie. Przewodnik Dale’a Howarda (MVP) dotyczący ustalania zależności mówi o tym wprost — większość niewyjaśnionych opóźnień wynika z opóźnień, o których nikt nie pamięta, że je dodał.
Rozwiązywanie problemów – typowe objawy
Po zmianie daty nic się nie dzieje. Prawdopodobnie jest to zadanie typu SS lub FF, a zmieniasz niewłaściwy koniec. Zadania typu SS ignorują zmiany zakończenia, a zadania typu FF ignorują zmiany początku. Zmień typ zadania lub zmień drugi koniec zadania.
Wszystko się zbyt mocno porusza. Zazwyczaj jest to łańcuch powiązań FS, w którym występuje ograniczenie kolidujące z nimi lub skumulowane opóźnienie. Należy sprawdzić, czy zadanie ma twarde ograniczenie, takie jak „Musi rozpocząć się w dniu”, które ma pierwszeństwo przed powiązaniem, ponieważ w kolejności obliczeń programu Project ograniczenia mają pierwszeństwo przed zależnościami.
Czas zakończenia zadania zmienia się, ale czas rozpoczęcia pozostaje bez zmian. To właśnie „Finish-to-Finish” działa zgodnie ze swoim przeznaczeniem. Jeśli nie tego oczekiwałeś, przełącz się na tryb FS.
Termin zakończenia jest przesuwany o datę rozpoczęcia innego zadania. „Start-to-Finish” – to sformułowanie prawie zawsze pojawia się przez pomyłkę. Zmień je na to, co faktycznie miałeś na myśli, prawdopodobnie FS.
Najczęściej zadawane pytania
Jaki jest domyślny typ zależności w programie Microsoft Project?
Od końca do początku. Każde łącze utworzone za pomocą przycisku „Łącze” na wstążce domyślnie przyjmuje kierunek FS, chyba że zmienisz to w oknie dialogowym „Informacje o zadaniu” lub w skrócie w kolumnie poprzednika.
Jak odczytać skrót w kolumnie „poprzednik”?
Liczba oznacza identyfikator zadania poprzedzającego, a litery – typ. „7FS” oznacza typ „z zakończenia do rozpoczęcia” dla zadania nr 7, „7SS” – „z rozpoczęcia do rozpoczęcia”, „7FF” – „z zakończenia do zakończenia”, a „7SF” – „z rozpoczęcia do zakończenia”. Sufiks „+3d” lub „-3d” oznacza opóźnienie lub wyprzedzenie.
Dlaczego po jednej drobnej zmianie cały mój projekt stał się dłuższy?
Najczęściej jest to niezamierzony skumulowany opóźnienie lub ograniczenie, które ma pierwszeństwo przed powiązaniami. Przejrzyj kolumnę „poprzednik” pod kątem wartości „+” i sprawdź, czy występują twarde ograniczenia, ponieważ silnik harmonogramowania programu Project traktuje ograniczenia jako ważniejsze od zależności.
Kiedy należy używać opcji „Start-to-Start” zamiast „Finish-to-Start”?
Gdy dwa zadania muszą rozpocząć się jednocześnie, ale nie muszą zakończyć się w tym samym czasie. Prace wykopowe i mobilizacja sprzętu nabierają tempa w tym samym czasie, więc ich rozpoczęcie jest ze sobą powiązane, podczas gdy zakończenie pozostaje niezależne. W przewodniku po zależnościach serwisu Wrike znajdziesz więcej przykładów zadań równoległych.
Czy czas realizacji to to samo co opóźnienie?
„Lead” oznacza ujemne opóźnienie, czyli nakładanie się zamiast opóźnienia. „FS-2d” (lead) pozwala następcy rozpocząć działanie dwa dni przed zakończeniem przez poprzednika. „FS+2d” (lag) wymusza dwudniową przerwę po zakończeniu. To samo pole, przeciwny znak, odwrotny efekt.
Podsumowanie
Gdy zależności między zadaniami w programie MS Project działają nieprawidłowo, pierwszym podejrzanym jest typ zależności, a nie terminy. Należy dopasować objaw do zachowania – co się zmieniło w stosunku do tego, co się przesunęło – a właściwy typ sam się ujawni. Następnie należy sprawdzić opóźnienie i wyprzedzenie, ponieważ przypadkowe „+2d” jest przyczyną większej liczby tajemniczych opóźnień niż jakakolwiek inna pojedyncza przyczyna. Przejrzyj kolumnę „poprzednik”, określ relację przed utworzeniem powiązania, a wykres Gantta zacznie działać prawidłowo.

