Перейти к основному содержимому

Зависимости задач: подробное объяснение

Зависимости задают логический порядок работ. Это основа любой диаграммы Ганта и сама причина существования программ для планирования: без них невозможно вручную отследить, как задержка одной задачи отражается на 50 других.

Почему зависимости важны

Когда вы связываете задачи зависимостями, LoopGantt становится механизмом планирования, а не просто календарём. Измените длительность задачи или сдвиньте дату — и весь последующий график мгновенно пересчитается. Это называется каскадным пересчётом графика, и он экономит часы ручного перепланирования после неизбежных изменений объёма работ.

Зависимости также показывают критический путь проекта — самую длинную цепочку зависимых задач. Любая задержка на критическом пути сдвигает дату окончания проекта. У задач вне критического пути есть резерв (slack) — они могут сдвигаться, не влияя на дату сдачи.

Четыре типа зависимостей

FS: окончание — начало (самый распространённый)

Task A ████████
                Task B ████████
Задача B не может начаться, пока не завершится задача A.

Используйте для последовательной работы: «Написать отчёт» → «Проверить отчёт». Это тип по умолчанию, он покрывает ~80% реальных зависимостей.

SS: начало — начало

Task A ████████████
   Task B    ████████
Задача B не может начаться, пока не начнётся задача A.

Используйте для параллельной работы, которая может начинаться одновременно, но требует координации. Пример: «Проектирование архитектуры» и «Спецификация API» могут стартовать одновременно, но спецификация зависит от того, что работа над архитектурой уже идёт.

Добавьте задержку (SS+3), чтобы указать «B начинается через 3 дня после начала A», — это полезно, когда A должна быть частично выполнена до начала B.

FF: окончание — окончание

Task A ████████████
      Task B ████████
Задача B не может завершиться, пока не завершится задача A.

Используйте, когда две задачи должны закончиться вместе. Пример: «QA-тестирование» и «Бета-тестирование» должны завершиться одновременно, чтобы команда вместе перешла к отправке.

SF: начало — окончание (редкий)

             Task A ████████
Task B ████████
Задача B не может завершиться, пока не начнётся задача A.

Самый редкий тип. Полезен в сценариях «точно в срок» и при передаче смен. Пример: работник ночной смены (B) не может уйти, пока не придёт работник дневной смены (A). В большинстве программных проектов SF вам почти не понадобится.

Задержка и опережение

Для любой зависимости можно задать задержку (положительное число) или опережение (отрицательное число):

ЗаписьЗначение
FS+2B начинается через 2 дня после окончания A
FS-1B начинается за 1 день до окончания A (перекрытие)
SS+5B начинается через 5 дней после начала A
FF+0B завершается одновременно с A

Опережение (отрицательная задержка) позволяет моделировать реальную параллельную работу — например, начать интеграционное тестирование за 2 дня до официального окончания разработки.

Правила в LoopGantt

  • У этапов не может быть зависимостей. Вместо этого связывайте задачи внутри этапов.
  • Циклические зависимости (A → B → A) автоматически обнаруживаются и отклоняются.
  • У задачи может быть несколько предшественников — она начнётся только после того, как будут выполнены условия всех предшественников.

Как добавить зависимость

  1. Щёлкните задачу-последователя, чтобы открыть редактор задачи.
  2. Перейдите в раздел Зависимости.
  3. Откройте список Выберите предшественника… и выберите задачу-предшественника.
  4. Щёлкните значок типа, чтобы выбрать тип (FS/SS/FF/SF), и значение задержки, чтобы указать дни задержки (необязательно).
  5. Закройте редактор. Изменения сохраняются сразу, и диаграмма мгновенно перестраивается.

Также можно протянуть линию зависимости прямо на диаграмме Ганта: наведите указатель на правый край полосы, пока не появится значок соединителя, и перетащите его на целевую задачу.

Была ли эта статья полезной?