Разработка расписания проекта
Разработка расписания проекта методом критического пути
Во многом последовательность шагов при формировании расписания этим способом схожа с уже рассмотренной ранее совокупностью, однако в рамках данного метода ключевым элементом становится расчет критического пути. Итак, рассмотрим пример разработки расписания проекта с использованием метода критического пути [18].
- Создать перечень операций, которые должны быть включены в расписание.
Используется ИСР, перечень идентичен нижнему уровню иерархической структуры работ.
- Определить длительность каждой операции.
Длительность каждой операции определялась в рамках процессов оценки трудоемкости и определения длительности операций (см. соответствующие разделы издания).
- Определить предшествующую операцию для каждой операции.
Предшествующая операция каждой операции определялась в течение заключительных этапов составления иерархической структуры работ (см. соответствующие разделы издания).
- Рассчитать с помощью прямого прохода (forward pass) раннее расписание (early schedule): ранний старт (ES) и ранний финиш (EF) для каждой операции.
При расчете раннего расписания для операций требуется придерживаться нескольких правил составления расписаний (scheduling conventions). Данные правила приняты сообществом по составлению расписаний (scheduling community). В расписании старт первой операции всегда назначается на дату старта проекта. Эта дата является входом плана проекта. Первая дата старта является стартом проекта. Дата раннего финиша - это дата раннего старта плюс длительность операции. При этом применяется следующее правило. Считается, что каждая операция начинается в момент начала того периода, в который она стартует, и оканчивается в момент завершения периода, в который она завершается. Это означает, что если длительность операции составляет один день и если она начинается первого января, то заканчивается данная операция также первого января. В соответствии с данным правилом ранний финиш любой операции равен раннему старту плюс длительность минус один. Таким образом, операция 1 начинается в день 1 и заканчивается в день 15 (см. табл. 3.3). Следующая операция должна начаться в следующий доступный временной период: поскольку операция 1 заканчивается в день 15, операция 2 должна начаться в день 16, а закончиться в день 20. Операции 3 и 4 представляют следующую проблему. Эти операции зависят от операции 2, т. е. операция 2 должна окончиться перед их стартом. Очевидно, что датой раннего старта обеих операций будет день 21.
Формула 1. Расчет раннего финиша
EF=ES + Длительность - 1
- Рассчитать с помощью обратного прохода (backward pass) позднее расписание (late schedule) для каждой операции.
Для выполнения обратного прохода необходимо начинать с последней операции, которая была выполнена в раннем расписании. Логическим обоснованием этого является следующее: если раннее расписание определяет самую раннюю дату завершения проекта, то в обратном проходе мы ищем для всех операций самые поздние даты их выполнения, при которых проект мог бы быть полностью выполнен. Мы начинаем с наиболее поздней из дат раннего финиша, соответствующей завершению последней операции. Это время позднего финиша (LF). Для получения времени позднего старта (LS) из времени позднего финиша вычитается длительность. Даты позднего расписания (поздний старт и поздний финиш) для операции 11 будут соответственно днями 90 и 94. Поскольку дата позднего старта операции 11 - день 90, операции 10 и 3 должны быть окончены не позднее дня 89. Это будет датой позднего финиша для обеих операций. Таков самый поздний срок завершения данных операций для того, чтобы обеспечить завершение проекта в день 94 и дату позднего старта операции 11. Для получения дат позднего старта для каждой операции вычитаются их длительность. При рассмотрении операции 2 надо быть очень внимательными в выборе даты позднего финиша, которая также согласуется с датами позднего старта операций 3, 4 и 6. Поскольку датами позднего старта операций 3, 4 и 6 являются дни 86, 53 и 21, соответственно, датой позднего финиша операции 2 является день 20.
Таблица 3.3. Операции проекта Операции Описание Длительность Операция-предшественник ES EF LS LF Резерв времени 1 Определение выходных результатов проекта 15 - 1 15 1 15 0 2 Одобрение заинтересованными сторонами 5 1 16 20 16 20 0 3 Выбор места 4 2 21 24 86 89 65 4 Оценка и выбор поставщика 4 2 21 24 53 56 32 5 Приобретение аппаратного обеспечения 3 4 25 27 57 59 32 6 Проектирование ПО 15 2 21 35 21 35 0 7 Написание кода 30 6 36 65 36 65 0 8 Тестирование ПО 4 7 66 69 66 69 0 9 Тестирование аппаратного обеспечения 10 5 28 37 60 69 32 10 Интеграция аппаратного и программного обеспечения 20 9,8 70 89 70 89 0 11 Установка и окончательная приемка 5 3,10 90 94 90 94 0 Формула 2. Расчет позднего финиша
LS=LF - Длительность + 1
- Вычислить временной резерв ( float ) для каждой операции.
При расчете дат раннего и позднего расписания проекта обнаруживается, что иногда даты раннего и позднего расписания совпадают, а для некоторых операций они различны. В данных операциях было отличие между датой раннего старта и позднего старта. Разница между этими датами называется временным резервом ( float или slack ). Временной резерв операции - это количество времени, на которое может быть задержана операция, не вызывая задержки завершения проекта.Для расчета временного резерва каждой операции необходимо вычесть дату раннего старта из даты позднего старта операции. Резерв времени можно также рассчитать путем вычитания даты раннего финиша из даты позднего финиша, так как разница между датами начала и окончания представляет собой длительность выполнения операции, которая остается неизменной для раннего и позднего расписания.
Формула 3. Расчет временного резерва
float = LS - ES = LF - ES
- Определить критический путь (critical path).
Критический путь (critical path) - это последовательность операций, имеющих нулевой временной резерв (zero float). Операции с нулевым временным резервом - это операции, задержка которых обязательно влечет за собой задержку окончания всего проекта. Операции такого типа необходимо жестко контролировать, чтобы обеспечить завершение работы над проектом в установленное время. И наоборот, операции, которые не лежат на критическом пути и имеют ненулевой временной резерв, необязательно контролировать так жестко. К тому же, важно знать, выполнение каких операций проекта может быть задержано без изменения даты завершения проекта. Ресурсы операций, имеющих резерв времени, при необходимости могут быть использованы для выполнения обхода (workaround).
- Определить, не состоится ли предполагаемое завершение проекта раньше даты обязательства (promise date).
После того как было определено расписание самого раннего окончания проекта, следует произвести проверку на реальных данных. Расписание должно определять дату окончания проекта, более раннюю, чем дата
обязательства (promise date), которая могла быть уже сообщена участникам проекта. Если это не так, надо бить тревогу. Составленное расписание пока еще не включает задержки, которые могут произойти в случае отсутствия необходимых ресурсов. Расписание не дополнено резервами на случай известных или неизвестных рисков. Также не были учтены обычные отклонения, которые будут возникать между предварительно определенной и действительной длительностью операций проекта
- Подкорректировать расписание или дату обязательства.
Затем надо отрегулировать расписание или дату обязательства. Возможны две ситуации: расписание с датой обязательства более ранней, чем предварительно определенная дата, и расписание с датой обязательства более поздней, чем предварительно определенная дата. Если предварительная дата расписания является более поздней, чем обязательства, то необходимо применять сжатие (crashing) или быстрый проход (tracking).
Недостатком этих методов для любого расписания является то, что увеличиваются стоимость проекта или риски, а в некоторых случаях и то, и другое. Принципы применения этих методов будут рассмотрены в разделах, посвященных стадии проектирования ЖЦ ИС.
- Запросить ресурсы и определить ограничения на ресурсы.
- Отрегулировать расписание в соответствии с ограничениями на ресурсы.
- Определить, не состоится ли предполагаемое завершение проекта раньше даты обязательства.
- Подкорректировать расписание или дату обязательства.
- Получить одобрение расписания (согласовать расписание).