Руководство по управлению проектами · Расписание и сроки
Метод критического пути (CPM): шаги, пример и формулы
Метод критического пути (CPM) — это техника планирования расписания, которая находит самую длинную цепочку зависимых операций проекта и тем самым определяет кратчайший срок, за который может быть завершён весь проект. В этом руководстве объясняются формулы, вручную разбирается пример из девяти операций и показано, как использовать критический путь, когда работа уже идёт.
Главное
- Критический путь — самый длинный путь в сетевом графике проекта, поэтому он определяет минимальную длительность проекта.
- Прямой проход даёт ранние даты начала и окончания, обратный проход — поздние даты; разница между ними — резерв времени.
- Операции с нулевым полным резервом являются критическими: задержка любой из них сдвигает окончание проекта, если не наверстать время.
- Проект сокращается только при сокращении критических операций — и лишь до тех пор, пока критическим не станет другой путь.
- Пересчитывайте расписание после каждого обновления прогресса, потому что критический путь может сместиться.
Что такое метод критического пути?
Именно метод критического пути (CPM) — это способ расчёта расписания проекта на основе его операций, длительностей и зависимостей. Он выявляет самую длинную последовательность зависимых операций от начала до конца, которая называется критический путь. Поскольку все операции на этом пути выполняются одна за другой, его общая длина — это минимально возможная длительность проекта.
CPM даёт три вещи, которых не даст простой список задач:
- Даты: самые ранние и самые поздние даты начала и окончания каждой операции без задержки проекта.
- Резерв: на сколько каждая операция может сдвинуться, прежде чем это повлияет на дату окончания (см. резерв времени).
- Фокус: короткий список операций, любая задержка которых сдвигает дату окончания, — вы знаете, куда направить управленческое внимание.
Метод разработали в конце 1950-х годов Морган Р. Уокер из DuPont и Джеймс Э. Келли-младший из Remington Rand для планирования крупных промышленных проектов. PERT — близкая техника, использующая три оценки длительности, — была создана примерно в то же время для ВМС США. Сегодня тот же расчёт выполняется почти в каждом инструменте планирования, и он остаётся одной из ключевых тем экзамена сертификация PMP .
CPM — одна из техник в рамках планирование расписания проекта. Он отвечает на вопрос «сколько это займёт и что определяет дату окончания?», когда операции и их логика уже известны.
Ключевые термины и формулы CPM
| Термин | Сокращение | Значение |
|---|---|---|
| Длительность | D | Рабочее время, необходимое для выполнения операции |
| Раннее начало | ES | Самый ранний момент начала операции после завершения всех предшественников |
| Раннее окончание | EF | Самый ранний момент окончания: ES + D |
| Позднее окончание | LF | Самый поздний момент окончания без задержки проекта |
| Позднее начало | LS | Самый поздний момент начала без задержки проекта: LF − D |
| Полный резерв | TF | На сколько операция может сдвинуться без задержки проекта: LS − ES (или LF − EF) |
| Свободный резерв | FF | На сколько операция может сдвинуться без задержки любого последователя: наименьшее ES последователей − EF |
| Критический путь | Путь, операции которого в обычном расписании имеют нулевой полный резерв | |
| Почти критический путь | Путь с небольшим резервом, который может стать критическим даже при небольшой задержке |
Формулы ниже используют соглашение «день 0», при котором проект начинается в момент 0, а раннее окончание операции — это момент её завершения. Это соглашение используют большинство учебников и экзамен PMP; альтернативное соглашение «день 1» описано ниже.
- Прямой проход: ES = наибольшее EF среди всех предшественников (0 для первой операции); EF = ES + D.
- Обратный проход: LF = наименьшее LS среди всех последователей (окончание проекта для последней операции); LS = LF − D.
- Полный резерв = LS − ES = LF − EF.
- Свободный резерв = наименьшее ES последователей − EF.
Как найти критический путь за 6 шагов
1. Составьте список операций и длительностей
Начните с иерархической структуры работ и перечислите все операции с оценкой длительности в одних и тех же единицах, обычно в рабочих днях. Включите вехи как операции с нулевой длительностью.
2. Определите зависимости
Для каждой операции запишите, какие операции должны завершиться до её начала. Это её предшественники и последователи. Большинство связей относится к типу «окончание — начало»; наше руководство по зависимости задач описывает остальные типы.
3. Постройте сетевую диаграмму
Изобразите каждую операцию в виде блока (метод «операции в узлах», или метод диаграмм предшествования) и соедините блоки стрелками в соответствии с зависимостями. У каждой операции, кроме первой, должен быть предшественник, а у каждой, кроме последней, — последователь.
4. Выполните прямой проход
Двигайтесь слева направо. Первая операция начинается в момент 0. Для каждой следующей операции раннее начало равно наибольшее раннему окончанию среди её предшественников, поскольку она не может начаться, пока все они не завершены. Прибавьте длительность, чтобы получить раннее окончание. Наибольшее раннее окончание в сети и есть длительность проекта.
5. Выполните обратный проход
Двигайтесь справа налево. Приравняйте позднее окончание последней операции к длительности проекта. Для каждой другой операции позднее окончание равно наименьшее позднему началу среди её последователей, поскольку она должна завершиться к началу самого раннего из них. Вычтите длительность, чтобы получить позднее начало.
6. Рассчитайте резерв и определите критический путь
Вычтите ES из LS для каждой операции. Операции с нулевым полным резервом являются критическими, и, соединив их от начала до конца, вы получите критический путь. Выделите его на своей диаграмме Ганта , чтобы его видела вся команда.
Пример расчёта по методу критического пути
Небольшая команда запускает новый сайт. Руководитель проекта составляет список из девяти операций с длительностями в рабочих днях:
| Операция | Описание | Длительность | Предшественники |
|---|---|---|---|
| A | Согласовать требования | 3 | Нет |
| B | Спроектировать страницы | 5 | A |
| C | Настройка хостинга | 2 | A |
| D | Написать контент | 6 | A |
| E | Разработка фронтенда | 7 | B |
| F | Разработка бэкенда | 6 | B, C |
| G | Загрузить контент | 2 | D, E |
| H | Тестирование | 3 | F, G |
| I | Запуск | 1 | H |
Пути в сетевом графике
В небольших сетях полезно для перекрёстной проверки перечислить все пути:
| Путь | Расчёт | Длительность |
|---|---|---|
| A-B-E-G-H-I | 3 + 5 + 7 + 2 + 3 + 1 | 21 день |
| A-B-F-H-I | 3 + 5 + 6 + 3 + 1 | 18 дней |
| A-C-F-H-I | 3 + 2 + 6 + 3 + 1 | 15 дней |
| A-D-G-H-I | 3 + 6 + 2 + 3 + 1 | 15 дней |
Самый длинный путь — A-B-E-G-H-I длительностью 21 день, это и есть критический путь. В реальных проектах с сотнями операций перечислить все пути невозможно, поэтому так важны прямой и обратный проходы.
Прямой проход
- A начинается в 0 и заканчивается в 3.
- B, C и D следуют за A, поэтому каждая начинается в 3. B заканчивается в 8, C — в 5, D — в 9.
- E следует за B: начинается в 8, заканчивается в 15.
- F следует за B и C. Она должна дождаться более позднего из двух окончаний (B в 8), поэтому начинается в 8 и заканчивается в 14.
- G следует за D (9) и E (15), поэтому начинается в 15 и заканчивается в 17.
- H следует за F (14) и G (17), поэтому начинается в 17 и заканчивается в 20.
- I начинается в 20 и заканчивается в 21. Проект занимает 21 день.
Обратный проход
- I должна завершиться к 21, значит, начаться — не позднее 20. H должна завершиться к 20 и начаться не позднее 17.
- G должна завершиться к 17 (позднее начало H) и начаться не позднее 15. F тоже должна завершиться к 17, поэтому может начаться не позднее 11.
- E должна завершиться к 15 (позднее начало G) и начаться не позднее 8. D тоже должна завершиться к 15, поэтому может начаться не позднее 9.
- C должна завершиться к 11 (позднее начало F), поэтому может начаться не позднее 9.
- У B два последователя: E (позднее начало 8) и F (позднее начало 11). Берётся меньшее значение, поэтому B должна завершиться к 8 и начаться не позднее 3.
- У A три последователя с поздними началами 3, 9 и 9. Она должна завершиться к 3 и начаться не позднее 0.
Резерв и критический путь
| Операция | D | ES | EF | LS | LF | Полный резерв | Свободный резерв |
|---|---|---|---|---|---|---|---|
| A | 3 | 0 | 3 | 0 | 3 | 0 | 0 |
| B | 5 | 3 | 8 | 3 | 8 | 0 | 0 |
| C | 2 | 3 | 5 | 9 | 11 | 6 | 3 |
| D | 6 | 3 | 9 | 9 | 15 | 6 | 6 |
| E | 7 | 8 | 15 | 8 | 15 | 0 | 0 |
| F | 6 | 8 | 14 | 11 | 17 | 3 | 3 |
| G | 2 | 15 | 17 | 15 | 17 | 0 | 0 |
| H | 3 | 17 | 20 | 17 | 20 | 0 | 0 |
| I | 1 | 20 | 21 | 20 | 21 | 0 | 0 |
Операции A, B, E, G, H и I имеют нулевой полный резерв и образуют критический путь. Стоит обратить внимание на три момента:
- У C полный резерв 6 дней, но свободный резерв — только 3 дня. Она может сдвинуться на 3 дня, ни на что не повлияв. Сверх этого она начинает задерживать F, расходуя резерв F, хотя проект всё равно завершится вовремя, пока не израсходованы все 6 дней.
- F — почти критическая операция. При резерве всего 3 дня даже умеренное превышение сроков разработки бэкенда сделает путь A-B-F-H-I критическим.
- Резерв D полностью принадлежит ей самой. Написание контента может сдвинуться до 6 дней, не затронув других операций, поэтому при необходимости её исполнителей удобно временно перевести на критическую работу.
Тот же расчёт для сети из шести операций разобран ячейка за ячейкой в нашем руководстве прямой и обратный проход . Вы также можете скачать наш бесплатный шаблон критического пути, который сам рассчитывает резерв и отмечает критические операции.
День 0 или день 1? Два способа расчёта
Вы встретите два способа нумерации при прямом и обратном проходе, и результаты у них отличаются на единицу. Ни один из них не ошибочен, но смешивать их нельзя.
| Соглашение «день 0» | Соглашение «день 1» | |
|---|---|---|
| Начало первой операции | ES = 0 | ES = 1 |
| Раннее окончание | EF = ES + D | EF = ES + D − 1 |
| Начало следующей операции | ES = EF предшественника | ES = EF предшественника + 1 |
| Позднее начало | LS = LF − D | LS = LF − D + 1 |
| Позднее окончание предыдущей операции | LF = LS последователя | LF = LS последователя − 1 |
| Полный резерв | LS − ES | LS − ES (тот же результат) |
В соглашении «день 0» «заканчивается в 3» означает в конце 3-го дня. В соглашении «день 1» операция A из нашего примера длится с 1-го по 3-й день, B — с 4-го по 8-й и так далее, что соответствует привычному чтению календаря. Резерв и критический путь в обоих случаях одинаковы. Если ответ на экзамене или расчёты коллеги расходятся на один день по каждой операции, причина обычно в другом соглашении.
Зависимости, задержки и ограничения в CPM
Базовый метод предполагает, что все связи имеют тип «окончание — начало» без разрывов. Реальные расписания разнообразнее, и проходы корректируются так:
- Задержки добавляют к связи время ожидания. Связь «окончание — начало» с задержкой 2 дня означает, что ES последователя равно EF предшественника + 2. опережение — это отрицательная задержка, позволяющая работам перекрываться. См. опережения и задержки.
- Начало — начало (SS) связи привязывают начало последователя к началу предшественника, например «начать тестирование через 3 дня после начала разработки».
- Окончание — окончание (FF) связи связывают окончания двух операций, например «документация завершается, когда завершается сборка».
- Ограничения по датам , такие как «окончание точно в дату» или «начало не ранее», переопределяют рассчитанные даты. Используйте их умеренно, поскольку они мешают естественному пересчёту расписания.
- Отрицательный резерв возникает, когда ограничение или требуемая дата окончания раньше рассчитанной даты окончания. Величина отрицательного резерва показывает, сколько времени нужно наверстать.
Большинство программ планирования обрабатывают всё это автоматически. Проверяя критический путь вручную, сначала ищите задержки и ограничения: именно они обычно становятся причиной расхождения ручного расчёта с инструментом.
CPM, PERT и критическая цепь
CPM часто изучают вместе с двумя родственными техниками. Они отвечают на немного разные вопросы.
| CPM | PERT | Критическая цепь | |
|---|---|---|---|
| Длительности | Одна оценка на операцию | Три оценки: (O + 4M + P) ÷ 6 | Сфокусированные оценки без запаса плюс буферы |
| Главный вопрос | Какие операции определяют дату окончания? | Насколько неопределённа дата окончания? | Как ограничения ресурсов влияют на дату окончания? |
| Ресурсы | Предполагает, что они доступны | Предполагает, что они доступны | Строит расписание с учётом ограничений ресурсов |
| Типичное применение | Строительство, инжиниринг, большинство планируемых проектов | Исследования, новые продукты, работа с высокой неопределённостью | Мультипроектная среда и среда с ограниченными ресурсами |
На практике они хорошо сочетаются: можно использовать оценки PERT в качестве длительностей в расчёте CPM, а затем выполнить моделирования Монте-Карло , чтобы увидеть вероятный диапазон дат окончания.
Использование критического пути в текущем проекте
Найти критический путь на этапе планирования — лишь половина пользы. В ходе выполнения:
- Обновляйте прогресс и пересчитывайте расписание с фиксированной периодичностью, обычно еженедельно. Фиксируйте фактические даты и оставшиеся длительности, а затем позвольте инструменту заново выполнить проходы.
- Проверяйте, не сместился ли путь. Если некритическая операция сдвигается больше, чем на величину своего резерва, её путь становится критическим. Если критическая операция завершается досрочно, критическим может стать другой путь.
- Следите за почти критическими путями. Включайте в отчёты вместе с критическими операциями и те, у которых резерв, скажем, пять дней или меньше. В нашем примере F требует не меньше внимания, чем критические операции.
- Опасайтесь нескольких критических путей. Когда у двух или более путей нулевой резерв, задержка на любом из них задерживает проект, поэтому общий риск опоздания выше.
- Проверяйте ресурсы. CPM предполагает, что люди доступны всегда, когда это допускает логика. Выравнивание ресурсов для устранения перегрузок может удлинить критический путь или создать новый.
Как сократить критический путь
Если рассчитанная дата окончания позже, чем нужно бизнесу, у вас четыре основных варианта: интенсификация критических операций за счёт дополнительных ресурсов, быстрый проход за счёт перекрытия операций, запланированных последовательно, сокращение содержания или изменение логики. Наши руководства по сжатие расписания и быстрый проход и интенсификация объясняют компромиссы.
У сокращения есть предел. В примере сокращение разработки фронтенда (E) с 7 до 4 дней экономит 3 дня, и проект занимает 18 дней. Дальнейшее сокращение E ничего не даёт, потому что критическим становится путь A-B-F-H-I (18 дней). Всегда пересчитывайте расписание после каждого изменения, чтобы увидеть, где теперь проходит критический путь.
Преимущества и ограничения метода критического пути
| Преимущества | Ограничения |
|---|---|
| Показывает, какие операции определяют дату окончания и где задержки важны | Использует точечные оценки, поэтому может казаться более определённым, чем есть на самом деле |
| Рассчитывает резерв, поэтому вы знаете, где есть гибкость | Предполагает неограниченные ресурсы, если не выровнять расписание |
| Даёт логическое обоснование сроков и решений о компромиссах | Для надёжности требует полных и корректных зависимостей |
| Показывает влияние задержки сразу после обновления прогресса | Крупным сетям нужны программа и человек, который её ведёт |
| Работает в любой отрасли с последовательными работами | Менее полезен для сильно итеративной работы, где содержание меняется каждый спринт |
При неопределённых длительностях добавьте оценки PERT или моделирование. Для проектов с большой ресурсной нагрузкой выровняйте расписание или рассмотрите управление проектами по методу критической цепи. В Agile-работе используйте критический путь на уровне релизов и вех, а не отдельных историй.
Типичные ошибки при работе с критическим путём
- Пропущенные зависимости. Операция без последователя преждевременно обрывает расчёт и может скрыть реальный критический путь.
- Жёстко заданные даты. Если вводить даты начала вручную вместо связывания операций, проходы перестают работать.
- Смешивание соглашений. Использование «дня 0» при прямом проходе и «дня 1» при обратном даёт резерв, отличающийся на единицу.
- Игнорирование календарей. Выходные, праздники и ресурсы с неполной занятостью меняют реальные даты, даже если логика верна.
- Однократный расчёт без повторов. Критический путь может смещаться каждую неделю; путь, найденный на этапе планирования, через два месяца может утратить актуальность.
- Восприятие резерва как свободного времени для всех. Полный резерв общий для всего пути. Если одна операция его использует, у последующих операций на том же пути его остаётся меньше.
Инструменты и шаблоны для критического пути
Для небольшой сети хорошо подходит электронная таблица, которая помогает понять сам расчёт. Наш бесплатный шаблон критического пути содержит столбцы для длительности, предшественников, ранних и поздних дат, полного резерва и признака критичности, а шаблон расписания проекта пригодится, когда нужно превратить результат в даты и ответственных.
Для более крупных сетей используйте программы, которые автоматически пересчитывают проходы при каждом изменении длительности или зависимости. Большинство инструментов управления проектами с диаграммами Ганта, учитывающими зависимости, показывают, какие задачи определяют дату окончания. Wrike, наш инструмент номер один, подходит командам, ведущим несколько проектов с интерактивными диаграммами Ганта и зависимостями, а Smartsheet подойдёт планировщикам, предпочитающим табличный формат. Перед покупкой проверьте, какой тариф включает нужные вам функции планирования.
Бесплатные шаблоны по этой теме
Частые вопросы
Что такое метод критического пути в управлении проектами?
Метод критического пути — это техника планирования расписания, которая по операциям, длительностям и зависимостям рассчитывает самые ранние и самые поздние даты каждой операции. Он выявляет критический путь — самую длинную цепочку зависимых операций, которая определяет минимально возможную длительность проекта.
Как рассчитать критический путь?
Составьте список операций, длительностей и зависимостей; выполните прямой проход, чтобы найти ранние даты начала и окончания; выполните обратный проход, чтобы найти поздние даты начала и окончания; затем рассчитайте полный резерв (LS − ES). Операции с нулевым полным резервом образуют критический путь.
Критический путь — самый длинный или самый короткий?
Это самый длинный путь в сети. Поскольку операции на нём выполняются одна за другой, этот самый длинный путь и есть кратчайшее время, за которое можно завершить весь проект.
Каковы шаги метода критического пути?
Составьте список операций, определите зависимости, постройте сетевую диаграмму, выполните прямой и обратный проходы, затем рассчитайте резерв и определите операции с нулевым резервом как критический путь.
Чем полный резерв отличается от свободного?
Полный резерв — это на сколько операция может сдвинуться без задержки окончания проекта. Свободный резерв — на сколько она может сдвинуться без задержки раннего начала любого последователя. Свободный резерв всегда меньше полного резерва или равен ему.
Может ли у проекта быть несколько критических путей?
Да. Если у двух или более путей одинаковая наибольшая длительность, все они критические. Это повышает риск по срокам, поскольку задержка на любом из них задерживает проект.
Может ли критический путь меняться в ходе проекта?
Да. Если некритическая операция сдвигается больше, чем на свой резерв, или критические операции завершаются досрочно, критическим может стать другой путь. Поэтому расписание нужно пересчитывать после каждого обновления прогресса.
Что такое отрицательный резерв?
Отрицательный резерв возникает, когда требуемая дата окончания или ограничение раньше рассчитанной даты окончания. Он показывает, сколько дней нужно наверстать, чтобы уложиться в эту дату.
Чем CPM отличается от PERT?
CPM использует одну оценку длительности для каждой операции и сосредоточен на логике и резерве. PERT использует оптимистическую, наиболее вероятную и пессимистическую оценки, чтобы отразить неопределённость. См. наше диаграмма PERT .
Кто разработал метод критического пути?
CPM разработали в конце 1950-х годов Морган Р. Уокер из DuPont и Джеймс Э. Келли-младший из Remington Rand для планирования крупных промышленных проектов.
Что такое почти критический путь?
Путь с небольшим резервом. Незначительная задержка может сделать его критическим, поэтому за ним нужно следить почти так же внимательно, как за самим критическим путём.
Как сократить критический путь?
Используйте интенсификацию критических операций за счёт дополнительных ресурсов, быстрый проход за счёт перекрытия операций, сократите содержание или измените логику. Проект сокращается только за счёт изменений критических операций — и лишь до тех пор, пока критическим не станет другой путь.
Применяется ли метод критического пути в Agile?
Да, но обычно на более высоком уровне. В гибридных проектах CPM часто используют для релизов, вех и зависимостей между командами, а сами команды планируют работу спринтами.