Прогноз сроков проекта с помощью метода критического пути

Сроки проекта стали камнем преткновения для многих руководителей проекта.
«Как ни планируй проект, все равно сроки будут сорваны», «Практически невероятно спрогнозировать срок завершения проекта правильно» и т.п. – это фразы я часто слышу на своих семинарах по управлению проектами.
Убежден, что большинство  руководителей проекта прекрасно владеют методикой сетевого планирования и методом критического пути, но решил на примере описать, как выполняются расчеты – может у кого-то случится озарение и в мире появится еще пару сторонников сетевого планирования. Оговорюсь сразу, что сетевое планирование не описывается в agile подходах к управлению проектом (например, в scrum), однако никто не мешает вам его применить.


Начнем с истории этого подхода. Оказывается, методу критического пути проекта уже больше 60-ти лет. Впервые в практике управления проектами его использовали в 1956 г. М. Уолкер из фирмы "Дюпон и  Д. Келли из фирмы "Ремингтон Рэнд". В компании «Дюпон» уже был куплен один из первых в мире коммерческих компьютеров – UNIVAC и двое инженеров  решили найти ему выгодное применение для составления план-графиков работ по модернизации заводов фирмы "Дюпон". Изначально авторы решили не мудрить с названием подхода и скромно присвоили ему имя «метод Уолкера-Келли», однако, позже по каким-то причинам они передумали и переименовали его в Метод Критического Пути - (CPM - Critical Path Method).
Когда я, будучи студентом, изучал в институте методы сетевого планирования, долго не мог понять, неужели они могут понадобиться для чего-то в жизни? Я понял, зачем и как использовать сетевое планирование, только когда стал администратором первого своего проекта и помогал руководителю проекта в создании расписания проекта.
Итак, в чем же суть этого подхода?
Проект состоит из серии задач, каждая задача имеет некоторый прогноз по срокам реализации. При этом, в проекте часть задач в соответствии с технологией выполняется последовательно, а часть – может выполняться параллельно с другими задачами. Для понимания того, в какой последовательности реализуются задачи проекта, команда проекта создает сетевой график.
Например, наш проект состоит в том, чтобы подготовить корпоративный праздник в ресторане. Руководитель проекта с командой определил список работ, присвоил задаче код (в поле Код задачи), рассчитал  длительности по каждой из них, и определил последовательность выполнения работ (в поле Предшественник указывается код задачи, которая должна быть завершена до старта этой задачи):


Название задачи
Код задачи
Длительность, дней
Предшественник
Уточнить требования
A
2
-
Арендовать ресторан
B
15
A
Найти артистов и подписать с ними контракты
C
10
A
Подготовить творческие номера, в которых участвуют сотрудники компании
D
13
A
Закупить необходимый инвентарь для праздника
E
18
A
Подготовить и согласовать с участниками подробный тайминг мероприятия
F
15
C,D
Провести репетиции праздника
G
10
F,B
Провести праздник и подвести его итоги
H
5
E,G

Для того, чтобы определить критический путь, команда создала сетевой график работ:


В сетевом графике каждая работа располагается в прямоугольнике, в котором описываются ее параметры.
Последовательность выполнения работ определяется стрелками на диаграмме, например, задача B может начинаться только после того, как будет полностью завершена задача A (по ней будет получен ожидаемый результат), а задача F начинается только тогда, когда полностью завершены задачи C и D.
В прямоугольнике, описывающем параметры задачи,  содержатся следующие данные для задачи:
Ранний старт
Длительность
Ранний финиш
Код задачи
Поздний старт
Резерв
Поздний финиш

Если для простоты расчетов параметров графика использовать не даты, а номера дней и договориться, что работа A может начинаться сегодня – в день с номером 0, то для работы А расчет ранних дат выполняется следующим образом:
Ранний старт: день с номером 0
Ранний финиш равен «ранний старт» плюс «длительность»: 0 +2 = 2 день
Т.к. нам не известно точное время завершения работы A во второй день сделаем допущение, что следующую в графике работу можно начинать в тот же день, когда заканчивается предыдущая задача.
Тогда для  работы B ранние даты старта и финиша:
Ранний старт: день с номером 2
Ранний финиш: 2 + 15 = 17 день
Таким же образом  выполняются расчеты ранних дат старта и финиша для всех задач сетевого графика. Если задач-предшественников несколько (как у задачи F) – при расчете раннего старта выбирается наибольшее значение из имеющихся дат ранних финишей.
Для определения поздних дат старта и финиша по задаче используются следующие правила:
·         Поздняя дата финиша задачи равна поздней дате старта задачи-последователя (если у задачи нет последователя, поздний финиш задачи равен ее раннему финишу).
·         Если задач-последователей  несколько (как у задачи А)  – выбирается наименьшее значение из имеющихся.
·         Поздняя дата старта задачи определяется как разница между ее поздним финишем и длительностью.
По итогу выполнения расчетов ранних и поздних дат старта и финиша график получит следующий вид:



Остается только определить резервы по задачам. Резерв определяется как разница между поздним стартом  задачи и ее ранним стартом (можно считать разницу и между поздним финишем и ранним финишем). Те задачи, которые не имеют резерва времени, называются критическими и определяют состав критического пути:

Что дает понимание критического пути руководителю проекта?
·         Во-первых, после расчетов он получает информацию об оптимистической продолжительности проекта: если длительности задач спрогнозированы правильно, и их последовательность установлена верно, то раньше получившегося срока проект не завершится.
·         Во-вторых, руководитель проекта понимает на каких задачах нужен самый пристальный контроль – задачи критического пути нельзя задерживать, иначе каждый день превышения скажется на общем сроке реализации проекта.
·         В-третьих, руководитель проекта может распределить ограниченные ресурсы проекта на задачи и пересчитать значение критического пути
·         При срыве сроков финиша по задачам критического пути, руководитель проекта может быстро спрогнозировать, как изменится срок проекта и продумать как откорректировать план проекта, чтобы уложиться в срок
Как мне кажется, метод критического пути актуален для планирования сроков проектов и сегодня.
В этой статье я дал очень упрощенный кейс для понимания метода критического пути. В реальных проектах при планировании сетевого графика используются так называемые задержки и опережения между задачами, типы связей начало-начало и окончание-окончание и другое.
Надеюсь, понимание этого метода заинтересует Вас в том, чтобы начать его применять на проектах.
Сегодня есть огромное количество компьютерных программ, которые автоматизируют расчеты параметров сетевого графика. Это очень удобно, т.к. при изменении параметров задачи или связей между задачами программа пересчитывает критический путь автоматически. 

Удачи Вам в управлении  вашими проектами!

Комментариев нет

Искусственный интеллект для управления строительными проектами

Данное видео рассматривает использование Chat GPT на примере управления строительным проектом. Получение WBS по ТЗ. Оценка сроков, ресурсов ...

Технологии Blogger.