Przejdź do głównej treści

Zależności między zadaniami — wyjaśnienie

Zależności określają logiczną kolejność prac. Stanowią kręgosłup każdego wykresu Gantta i są powodem, dla którego w ogóle istnieje oprogramowanie do harmonogramowania — bez nich nie da się ręcznie śledzić, jak opóźnienie jednego zadania wpływa na 50 innych.

Dlaczego zależności są ważne

Gdy powiążesz zadania zależnościami, LoopGantt staje się silnikiem harmonogramowania, a nie tylko kalendarzem. Zmień czas trwania zadania lub przesuń datę, a cały dalszy harmonogram natychmiast się przeliczy. To tzw. kaskadowe przeliczanie harmonogramu, które oszczędza wiele godzin ręcznego przeplanowywania po nieuniknionych zmianach zakresu.

Zależności ujawniają też ścieżkę krytyczną projektu — najdłuższy łańcuch zależnych od siebie zadań. Każde opóźnienie na ścieżce krytycznej opóźnia datę zakończenia projektu. Zadania spoza ścieżki krytycznej mają zapas (slack) — mogą się przesunąć bez wpływu na termin dostarczenia.

Cztery typy zależności

FS — Zakończenie–rozpoczęcie (najczęstszy)

Task A ████████
                Task B ████████
Zadanie B nie może się rozpocząć, dopóki zadanie A się nie zakończy.

Stosuj przy pracach sekwencyjnych: „Napisz raport” → „Zrecenzuj raport”. To typ domyślny, który obejmuje ok. 80% zależności spotykanych w praktyce.

SS — Rozpoczęcie–rozpoczęcie

Task A ████████████
   Task B    ████████
Zadanie B nie może się rozpocząć, dopóki nie rozpocznie się zadanie A.

Stosuj przy pracach równoległych, które mogą ruszyć razem, ale wymagają koordynacji. Przykład: „Projekt architektury” i „Specyfikacja API” mogą rozpocząć się w tym samym czasie, ale specyfikacja zależy od tego, czy prace nad architekturą już trwają.

Dodaj zwłokę (SS+3), aby określić, że „B rozpoczyna się 3 dni po rozpoczęciu A” — przydatne, gdy A musi być częściowo ukończone, zanim zacznie się B.

FF — Zakończenie–zakończenie

Task A ████████████
      Task B ████████
Zadanie B nie może się zakończyć, dopóki nie zakończy się zadanie A.

Stosuj, gdy dwa zadania muszą zakończyć się razem. Przykład: „Testy QA” i „Testy beta” powinny skończyć się w tym samym czasie, aby zespół mógł wspólnie przejść do zgłoszenia.

SF — Rozpoczęcie–zakończenie (rzadki)

             Task A ████████
Task B ████████
Zadanie B nie może się zakończyć, dopóki nie rozpocznie się zadanie A.

Najrzadszy typ. Przydatny w scenariuszach just-in-time i przy przekazywaniu zmian. Przykład: pracownik nocnej zmiany (B) nie może wyjść, dopóki nie przyjdzie pracownik zmiany dziennej (A). W większości projektów programistycznych rzadko będziesz potrzebować typu SF.

Zwłoka i wyprzedzenie

Każda zależność może mieć zwłokę (liczba dodatnia) lub wyprzedzenie (liczba ujemna):

NotacjaZnaczenie
FS+2B rozpoczyna się 2 dni po zakończeniu A
FS-1B rozpoczyna się 1 dzień przed zakończeniem A (nakładanie się)
SS+5B rozpoczyna się 5 dni po rozpoczęciu A
FF+0B kończy się dokładnie wtedy, gdy kończy się A

Wyprzedzenie (ujemna zwłoka) pozwala realistycznie modelować prace równoległe — na przykład rozpocząć testy integracyjne 2 dni przed oficjalnym zakończeniem prac programistycznych.

Zasady w LoopGantt

  • Fazy nie mogą mieć zależności. Zamiast tego powiąż zadania wewnątrz faz.
  • Zależności cykliczne (A → B → A) są automatycznie wykrywane i odrzucane.
  • Zadanie może mieć wiele poprzedników — rozpocznie się dopiero wtedy, gdy wszystkie poprzedniki spełnią swoje warunki.

Jak dodać zależność

  1. Kliknij zadanie będące następnikiem, aby otworzyć edytor zadania.
  2. Przejdź do sekcji Zależności.
  3. Otwórz listę Wybierz poprzednika… i wskaż zadanie poprzedzające.
  4. Kliknij plakietkę typu, aby wybrać typ (FS/SS/FF/SF), oraz wartość zwłoki, aby ustawić liczbę dni zwłoki (opcjonalnie).
  5. Zamknij edytor. Zmiany są zapisywane na bieżąco, a harmonogram zostaje natychmiast przeliczony.

Możesz też przeciągnąć linię zależności bezpośrednio na wykresie Gantta: najedź kursorem na prawą krawędź paska, aż pojawi się ikona łącznika, a następnie przeciągnij do zadania docelowego.

Czy ten artykuł był pomocny?