Формирование сетевых графиков в управлении проектами

Хотите, чтобы проект шёл как часы? Разберитесь, как сетевые графики помогают видеть сроки, связи задач и критический путь — и управлять проектами уверенно!

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Сетевой график — это фундаментальный инструмент планирования и управления проектами, позволяющий визуализировать логические связи между работами, определить минимальную продолжительность проекта и выявить критические задачи. В данной статье мы подробно разберем процесс формирования сетевых графиков: от теории графов до практического расчета по методу критического пути (CPM) и методу PERT.

Теоретические основы: Проект как ориентированный граф

С математической точки зрения, сетевой график проекта представляет собой взвешенный ориентированный ациклический граф (DAG — Directed Acyclic Graph).

  • Вершины (узлы, события), обозначают моменты начала или окончания работ (этапы, вехи). Часто нумеруются для идентификации.
  • Дуги (ребра, связи) — представляют собой работы (активности), потребляющие время и ресурсы. Вес дуги — это длительность работы.
  • Путь — последовательность связанных работ от начального до конечного события.
  • Критический путь, самый длинный по длительности путь в сети. Он определяет минимально возможный срок завершения всего проекта.

Существует два основных способа представления:

  1. Модель «Работа на дуге» (Activity on Arrow, AOA): Работы — стрелки, события — узлы. Требует введения фиктивных работ (нулевой длительности) для отображения сложных зависимостей.
  2. Модель «Работа на узле» (Activity on Node — AON): Работы, прямоугольники/круги, связи — стрелки. Является современным стандартом (используется в MS Project, Primavera, Spider Project), так как интуитивнее и не требует фиктивных работ.

Классификация зависимостей (Типы связей)

Правильное определение логических связей — залог адекватности графика. В стандарте PMBOK и ISO 21500 выделяют 4 типа зависимостей (преемников):

Тип связи Обозначение Описание Пример
Финиш, Старт (Finish-to-Start, FS) FS Следующая работа начинается только после завершения предыдущей. Самый частый тип (90% связей). Верстка начинается после завершения Дизайна.
Старт — Старт (Start-to-Start, SS) SS Работы начинаются одновременно (или с задержкой/опережением). Написание кода и написание модульных тестов начинаются параллельно.
Финиш — Финиш (Finish-to-Finish, FF) FF Работы завершаются одновременно. Тестирование и исправление багов заканчиваются вместе.
Старт — Финиш (Start-to-Finish, SF) SF Редкий тип. Завершение следующей работы зависит от начала предыдущей. Смена дежурного персонала: новый дежурный начинает смену (Старт), старый заканчивает (Финиш).

Важно: К любому типу связи можно добавить задержку (Lag) или опережение (Lead). Например, FS+2 дня означает, что следующая задача начнется через 2 дня после окончания предыдущей (время на высыхание краски). SS-1 день — вторая задача начинается за день до старта первой.

Этапы формирования сетевого графика

Этап 1: Декомпозиция проекта (WBS → Список работ)

Перед построением графика необходимо получить полный список работ из Структуры декомпозиции проекта (WBS). Каждая работа должна быть:

  • Измеримой (имеет четкие критерии начала и конца).
  • Ограниченной во времени.
  • Назначенной за ответственным исполнителем.

Пример списка работ (на основе данных источника [1]):

  1. Задача A: Проектирование архитектуры (3 дня).
  2. Задача B: Разработка Backend API (5 дней).
  3. Задача C: Разработка Frontend (7 дней).
  4. Задача D: Настройка базы данных (4 дня).
  5. Задача E: Тестирование и отладка (2 дня).
  6. Задача F: Развертывание на Production (1 день).

Этап 2: Определение предшественников (Логика сети)

Для каждой работы задается список работ-предшественников. На этом этапе часто выявляются ошибки планирования: циклы (замкнутые петли), «висячие» работы (без предшественников или преемников, кроме старта/финиша проекта) и избыточные связи.

Матрица зависимостей для примера:

  • A — Начало проекта (нет предшественников).
  • B — Предшественник: A (FS).
  • C — Предшественник: B (FS).
  • D — Предшественник: B (FS) — параллельно с C.
  • E — Предшественник: D (FS).
  • F — Предшественники: C (FS), E (FS) — начало после завершения ВСЕХ предыдущих.

Этап 3: Оценка длительностей

Точность графика зависит от качества оценок. Основные методы:

  • Экспертная оценка: Опрос специалистов, выполняющих работу (самый частый метод).
  • Аналогия (Исторические данные): Использование данных похожих прошлых проектов.
  • Параметрическая оценка: Расчет по формулам/нормативам (напр., строки кода / производительность).
  • Трехточечная оценка (PERT / Beta-распределение): Учет неопределенности.

    Формула: Te = (To + 4 × Tm + Tp) / 6

    • To (Optimistic): Оптимистичная (лучший случай).
    • Tm (Most Likely): Реалистичная (наиболее вероятно).
    • Tp (Pessimistic): Пессимистичная (худший случай).

    Также рассчитывается стандартное отклонение: σ = (Tp ౼ To) / 6. Это позволяет строить вероятностные прогнозы сроков проекта.

Этап 4: Построение топологии графа (Визуализация)

На этом этапе создается схема сети. Рекомендации по оформлению (AON):

  • Начало проекта — один начальный узел (Start). Конец, один конечный узел (Finish).
  • Стрелки направлены слева направо (по ходу времени).
  • Избегайте пересечения стрелок (перекрещиваний) для читаемости.
  • Группируйте работы по подпроектам/фазам (Swimlanes / Дорожки).
  • На узле работы отображайте: ID, Название, Длительность, ES/EF, LS/LF, Float (Резерв).

Расчет временных параметров: Метод критического пути (CPM)

Алгоритм CPM состоит из двух проходов по сети: Прямого (Forward Pass) и Обратного (Backward Pass). Рассмотрим расчет на примере из источника [1].

Прямой ход (Forward Pass) — Ранние сроки

Движемся от начала проекта к концу. Цель: найти ES (Early Start) — раннее начало и EF (Early Finish) — раннее окончание.

Формулы:

  • EF = ES + Duration
  • ES следующей работы = max(EF всех предшественников) (для связи FS).

Расчет для примера (Start = День 0):

  1. A: ES=0, EF=0+3=3.
  2. B: ES=max(EF_A)=3, EF=3+5=8.
  3. C: ES=max(EF_B)=8, EF=8+7=15.
  4. D: ES=max(EF_B)=8, EF=8+4=12.
  5. E: ES=max(EF_D)=12, EF=12+2=14.
  6. F: ES=max(EF_C, EF_E)=max(15, 14)=15, EF=15+1=16.

Результат: Минимальная длительность проекта = 16 дней (EF финальной работы).

Обратный ход (Backward Pass) — Поздние сроки

Движемся от конца проекта к началу. Цель: найти LF (Late Finish) — позднее окончание и LS (Late Start) — позднее начало без срыва дедлайна проекта.

Формулы:

  • LS = LF ⎻ Duration
  • LF предшественника = min(LS всех преемников) (для связи FS).
  • Для финальной работы: LF = EF (из прямого хода).

Расчет для примера (Project Deadline = 16):

  1. F: LF=16, LS=16-1=15.
  2. C: LF=min(LS_F)=15, LS=15-7=8.
  3. E: LF=min(LS_F)=15, LS=15-2=13.
  4. D: LF=min(LS_E)=13, LS=13-4=9.
  5. B: LF=min(LS_C, LS_D)=min(8, 9)=8, LS=8-5=3.
  6. A: LF=min(LS_B)=3, LS=3-3=0.

Расчет резервов (Float / Slack) и выявление критического пути

Общий резерв (Total Float, TF): Время, на которое можно задержать работу без сдвига даты окончания проекта.

Формула: TF = LS ౼ ES (или LF ౼ EF).

Таблица расчета резервов:

Работа Длит. ES EF LS LF TF (Резерв) Статус
A 3 0 3 0 3 0 Критическая
B 5 3 8 3 8 0 Критическая
C 7 8 15 8 15 0 Критическая
D 4 8 12 9 13 1 Некритическая
E 2 12 14 13 15 1 Некритическая
F 1 15 16 15 16 0 Критическая

Критический путь: A → B → C → F (Сумма длительностей: 3+5+7+1 = 16 дней).

Некритический путь: A → B → D → E → F (Сумма: 3+5+4+2+1 = 15 дней). Резерв пути = 1 день.

Виды резервов (для углубленного анализа):

  • Свободный резерв (Free Float): Задержка работы без сдвига раннего начала любой преемнической работы. FF = min(ES преемников) ౼ EF текущей.
  • Независимый резерв (Independent Float): Задержка, если предшественники закончились как можно позже, а преемники начнут как можно раньше.
  • Проектный резерв (Project Buffer): Время, добавленное к критическому пути для защиты от неопределенности (метод Цепочки критических ресурсов — CCPM).

Метод PERT (Program Evaluation and Review Technique)

В отличие от детерминированного CPM, PERT — вероятностный метод. Он используется в R&D и инновационных проектах с высокой неопределенностью.

Ключевые отличия PERT:

  • Длительность работ — случайные величины (Beta-распределение).
  • Рассчитывается не одна дата, а вероятность завершения к заданному сроку.
  • Дисперсия критического пути: σ²_project = Σ σ²_критических_работ.
  • Z-оценка для вероятности: Z = (Due Date ⎻ Te_project) / σ_project. По таблице нормального распределения находится вероятность.

Ограничение PERT: Считает, что критический путь фиксирован (не меняется при реализации), и игнорирует корреляции между длительностями работ. В современных инструментах (Primavera Risk Analysis, @RISK) вместо PERT используют Монте-Карло симуляцию.

Сжатие графика (Schedule Compression)

Если расчетный срок проекта не устраивает заказчика, применяют две техники:

Крашинг (Crashing / Ускорение за счет ресурсов)

  • Добавление ресурсов к критическим работам (оплата сверхурочных, найм доп. людей, аренда мощного оборудования).
  • Цель: Максимальное сокращение срока при минимальных затратах.
  • Анализ: «Стоимость ускорения 1 дня» (Crash Cost per Unit Time) для каждой критической работы.

Фаст-трекинг (Fast Tracking / Параллелизм)

  • Выполнение работ, изначально последовательных (FS), параллельно (SS или SS с опережением).
  • Риск: Рост переработки (rework), если результаты предшественника изменятся к моменту старта преемника.
  • Пример: Начало верстки (С) по макетам, пока дизайн (А) не полностью утвержден (SS+2 дня).

Программное обеспечение для формирования сетевых графиков

Ручной расчет применим только для обучения или микропроектов (< 20 работ). В профессиональной среде используются:

Инструмент Класс Особенности сетевого графика
MS Project / Project Online Корпоративный (SMB/Enterprise) Вид «Сетевая диаграмма» (Network Diagram). Поддержка AON, 4 типов связей, задержек, критического пути, визуализация резервов.
Oracle Primavera P6 / Cloud Enterprise (Строительство, Oil&Gas, Крупная инженерия) Мощнейший движок планирования. Множественные календари, коды WBS/EPS, расчет Float Path (Multiple Float Paths), интеграция с Risk Analysis.
Spider Project Российский Enterprise Соблюдение ГОСТ/ISO, уникальный алгоритм расчета с учетом календарей ресурсов, моделирование «Что-если», импортозамещение.
PlanRadar, GanttPRO, Wrike, Asana Облачные SaaS (Agile/Hybrid) Упрощенные диаграммы Ганта с зависимостями. Подходят для IT, маркетинга, малой команды. Ограниченная аналитика резервов.
Python (networkx, pandas) / R / Excel Кастомная разработка / Аналитика Полный контроль алгоритмов. Используется для интеграции в BI-системы, автоматизации отчетности, нестандартных ограничений.

Типичные ошибки при формировании сетевых графиков

  1. Отсутствие логических связей («Висячие» работы): Работа не имеет предшественника (кроме Старта) или преемника (кроме Финиша). Приводит к ложному критическому пути.
  2. Использование жестких ограничений (Hard Constraints): «Начать не ранее», «Закончить не позднее» ломают логику сети и делают расчет резервов некорректным. Используйте только логические связи (FS/SS/FF).
  3. Циклические зависимости (Loops): A → B → C → A. Программы обычно блокируют расчет, но в сложных схемах их трудно найти визуально.
  4. Игнорирование календарей: Расчет в «рабочих днях» без учета праздников, сменности, отпусков ключевых ресурсов.
  5. Смешивание уровней детализации: В одной сети работа «Построить дом» (180 дней) и «Купить гвозди» (1 час). Нужна иерархия (Summary tasks / Hammocks).
  6. Забывание про «Фиктивные» работы в AOA: Если используете стрелочную нотацию, без фиктивных связей нельзя корректно показать сходимость/расходимость путей.

Контроль и обновление графика в ходе проекта

Сетевой график — не статичный документ, а живая модель. Процесс контроля (Earned Value Management / EVM):

  1. Сбор фактических данных (Actuals): Actual Start, Actual Finish, % Complete, Remaining Duration.
  2. Ресейлинг (Rescheduling): Перерасчет сети с фактическими данными на дату отчета (Data Date / Status Date).
  3. Анализ изменений:
    • Сдвинулся ли критический путь?
    • Изменилась ли длительность проекта?
    • Появились ли новые критические работы?
  4. Принятие решений: Реактвирование (Recovery Plan) — крашинг, фаст-трекинг, сокращение объема (Scope reduction), сдвиг дедлайна.

Лучшие практики (Best Practices)

  • Правило 100%: Сумма работ на нижнем уровне WBS должна покрывать 100% объема родительского пакета.
  • Правило «Один ответственный»: Каждая работа имеет одного владельца (Owner), отвечающего за сроки.
  • Детализация по горизонту планирования: Ближайшие 1-2 месяца — детально (пакеты работ 1-10 дней). Дальше — планирующие пакеты (Planning Packages) или крупные этапы (Rolling Wave Planning).
  • Документирование предположений (Assumptions Log): Почему длительность именно такая? Почему связь именно FS? Критично для аудита и защиты графика.
  • Валидация графика (Schedule Health Check): Регулярная проверка метриками DCMA 14-point Assessment или NDIA/GAO Best Practices:
    • Отсутствие «висячих» работ.
    • Процент критических работ < 10-15% (если больше — график нереалистичен или перегружен связями).
    • Отсутствие отрицательных резервов (Negative Float) на базовом плане.
    • Разумное соотношение Lead/Lag.

Формирование сетевого графика — это не просто рисование стрелочек, а строгий математический и управленческий процесс. Качественный график отвечает на три главных вопроса проекта:

  1. Когда проект закончится? (Расчет CPM / PERT / Monte Carlo).
  2. На чем нужно сфокусироваться? (Критический путь, работы с малым резервом).
  3. Где есть гибкость? (Некритические пути, резервы времени для перераспределения ресурсов);

Владея методиками прямого и обратного прохода, пониманием типов связей и умением работать с резервами, менеджер проекта получает мощнейший инструмент для принятия обоснованных решений, управления ожиданий стейкхолдеров и успешной сдачи проекта в срок. Современные инструменты (Primavera P6, Spider Project, MS Project) автоматизируют рутину расчетов, но ответственность за логику сети и адекватность оценок полностью лежит на планировщике и руководителе проекта;


Статья подготовлена на основе открытых источников и стандартов управления проектами (PMBOK 7th Ed., ISO 21500, ГОСТ Р ИСО 21500-2019). Пример расчета взят из источника [1] (simpleone.ru, дата ). Контактные данные авторов источников скрыты (*) в соответствии с политикой конфиденциальности.