Руководитель проекта, видя риск срыва финального срока, добавляет дополнительных специалистов на задачу тестирования модуля A, которая кажется наиболее рискованной. Задача действительно ускоряется на несколько дней. Но общий срок проекта не сокращается ни на день — потому что у задачи тестирования модуля A изначально был двухнедельный резерв времени (float), и её ускорение никак не влияет на дату завершения проекта. Реальным узким местом оказывается совершенно другая последовательность задач — разработка модуля B и его интеграция, — которая идёт без единого дня резерва и определяет фактический срок всего проекта, но не привлекла внимания, потому что не выглядела визуально рискованной.
Ускорение любой задачи проекта, кроме задач критического пути, не сокращает общий срок проекта ни на день — критический путь, а не интуитивное ощущение риска, определяет, куда реально нужно направлять усилия по ускорению.
Происхождение и исследовательская база
Метод критического пути разработан независимо командами DuPont и Sperry Rand в конце 1950-х годов для планирования сложных промышленных проектов — алгоритм вычисляет самую длинную последовательность взаимозависимых задач через сеть проекта, используя прямой проход (расчёт ранних дат) и обратный проход (расчёт поздних дат), что позволяет точно определить минимально возможную длительность проекта и резерв времени каждой задачи.
Ключевые идеи и принципы
Принцип: Прямой проход — расчёт раннего старта и раннего финиша
Ранний старт задачи (Early Start, ES) равен максимальному раннему финишу (Early Finish, EF) всех задач-предшественников; ранний финиш задачи равен раннему старту плюс длительность задачи — прямой проход по сети задач от начала к концу проекта определяет самую раннюю возможную дату завершения каждой задачи и всего проекта.
Принцип: Обратный проход — расчёт позднего старта и позднего финиша
Начиная с конечной даты проекта (равной самому позднему раннему финишу), обратный проход вычисляет поздний финиш (Late Finish, LF) каждой задачи как минимальный поздний старт (Late Start, LS) всех задач-последователей, а поздний старт — как поздний финиш минус длительность — это определяет самую позднюю дату, когда задача может начаться без задержки всего проекта.
Принцип: Резерв времени (float) определяет критический путь
Резерв времени задачи = поздний старт минус ранний старт (или поздний финиш минус ранний финиш) — задачи с нулевым резервом составляют критический путь: любая задержка такой задачи напрямую сдвигает срок всего проекта, тогда как задачи с положительным резервом могут задерживаться в пределах резерва без влияния на общий срок.
Ограничения, слепые зоны и критика
Метод предполагает точные, детерминированные оценки длительности каждой задачи, что редко соответствует реальности — неопределённость в оценках длительности не учитывается напрямую в классическом CPM (для этого существует расширение PERT с вероятностными оценками). Метод также требует точного и полного определения зависимостей между всеми задачами — неучтённая или неверно определённая зависимость искажает расчёт критического пути и резервов времени.
Типовые ошибки
Ошибка 1: Ресурсы для ускорения проекта направляются на задачи вне критического пути.
Руководитель проекта интуитивно определяет, какая задача кажется наиболее рискованной или сложной, и направляет туда дополнительные ресурсы, не рассчитав реальный критический путь, из-за чего ускорение не сокращает общий срок проекта.
Как избежать: Рассчитывать критический путь через прямой и обратный проход и направлять усилия по ускорению именно на задачи с нулевым резервом времени.
Ошибка 2: Зависимости между задачами определены неполно или неточно.
Расчёт критического пути строится на неполном или ошибочном графе зависимостей задач, из-за чего вычисленный критический путь и резервы времени не отражают реальную структуру проекта.
Как избежать: Тщательно и полно определять все зависимости между задачами перед расчётом критического пути, пересматривая граф при выявлении пропущенных зависимостей.
Главное, что нужно знать
Метод критического пути вычисляет самую длинную последовательность взаимозависимых задач через прямой проход (ранние даты) и обратный проход (поздние даты), определяя резерв времени каждой задачи. Задачи с нулевым резервом составляют критический путь — только ускорение именно этих задач, а не любых других, сокращает общий срок проекта, что делает интуитивное распределение ресурсов по «ощущению риска» без расчёта критического пути неэффективным.
План внедрения
Неделя 1: составить полный список задач проекта с длительностями и зависимостями.
Неделя 2: провести прямой проход для расчёта ранних дат каждой задачи.
Неделя 3: провести обратный проход для расчёта поздних дат и резервов времени.
Неделя 4: определить критический путь и направить усилия по ускорению именно на эти задачи.
Далее: пересчитывать критический путь при изменении длительностей или зависимостей задач.
Книги по теме
Kelley J.E., Walker M.R. — «Critical-Path Planning and Scheduling» (1959). Оригинальная работа, представившая метод критического пути.