Зависимости задают логический порядок работ. Это основа любой диаграммы Ганта и сама причина существования программ для планирования: без них невозможно вручную отследить, как задержка одной задачи отражается на 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+2 | B начинается через 2 дня после окончания A |
| FS-1 | B начинается за 1 день до окончания A (перекрытие) |
| SS+5 | B начинается через 5 дней после начала A |
| FF+0 | B завершается одновременно с A |
Опережение (отрицательная задержка) позволяет моделировать реальную параллельную работу — например, начать интеграционное тестирование за 2 дня до официального окончания разработки.
Правила в LoopGantt
- У этапов не может быть зависимостей. Вместо этого связывайте задачи внутри этапов.
- Циклические зависимости (A → B → A) автоматически обнаруживаются и отклоняются.
- У задачи может быть несколько предшественников — она начнётся только после того, как будут выполнены условия всех предшественников.
Как добавить зависимость
- Щёлкните задачу-последователя, чтобы открыть редактор задачи.
- Перейдите в раздел Зависимости.
- Откройте список Выберите предшественника… и выберите задачу-предшественника.
- Щёлкните значок типа, чтобы выбрать тип (FS/SS/FF/SF), и значение задержки, чтобы указать дни задержки (необязательно).
- Закройте редактор. Изменения сохраняются сразу, и диаграмма мгновенно перестраивается.
Также можно протянуть линию зависимости прямо на диаграмме Ганта: наведите указатель на правый край полосы, пока не появится значок соединителя, и перетащите его на целевую задачу.