Виды ограничений 3 страница
Проект может иметь несколько критических путей. Если все последовательности работ занимают примерно одинаковое время, то все они являются критическими, поскольку задержка любой работы может привести к задержке сдачи проекта.
В процессе выполнения проекта критические пути могут изменяться. Иногда лежащие на них работы удается выполнить быстрее запланированного срока, либо те, что находились на некритических путях, задерживаются, и для оставшейся части проекта критическим становится другой путь.
Прямой анализ — определение критических и некритических путей и самых ранних сроков начала и окончания работ
Первым делом в проведении анализа сетевого графика следует просчитать продолжительность работ всех путей. Это еще называется прямым анализом.
Рассмотрим прямой анализ сетевого графика, представленного на рис. 4.3.
Согласно Правилу 1 можно начинать работы 1 и 3 с самого начала проекта (сразу после события "Начало"). Рассмотрим вначале верхний путь, включающий работы 1 и 2.
• Самый ранний срок начала работы 1 — момент начала проекта
• Самый ранний срок окончания работы 1 — конец пятой недели.
• Согласно Правилу 2 самый ранний срок начала работы 2 — начало шестой недели, поскольку только одна стрелка ведет от работы 1 к работе 2.
• Самый ранний срок окончания работы 2 — конец шестой недели.
Теперь рассмотрим путь внизу графика, включающий работы 3, 4 и 5.
• Самый ранний срок начала работы 3 — момент начала проекта.
• Самый ранний срок окончания работы 3 — конец первой недели.
• Самый ранний срок начала работы 4 — начало второй недели.
• Самый ранний срок окончания работы 4 — конец четвертой недели.
Дальше будьте внимательны. Согласно Правилу 2 две стрелки, ведущие к работе 5, говорят о том, что вы не можете начать работу 5, пока не закончите две работы: работу 1 и работу 4. Учитывая, что работа 4 заканчивается в конце четвертой недели, а работа 1 — только в конце пятой, самое раннее, когда вы можете начать работу 5, — начало шестой недели.
Из этой ситуации следует правило: если к работе ведут стрелки от нескольких работ, то самый ранний срок ее начала соответствует самому раннему сроку окончания той из предшествующих работ, которая завершится позже всех.
Если вы еще не совсем запутались, двигаемся дальше.
• Самый ранний срок начала работы 5 — начало шестой недели.
• Самый ранний срок окончания работы 5 — конец седьмой недели.
• Самый ранний срок окончания работы 2 — конец шестой недели.
• В результате самый ранний срок окончания всего проекта (когда вы достигнете события "Конец") — конец седьмой недели.
На данном этапе вы извлекли следующую информацию о проекте.
• Длина критического пути, т. е. кратчайший срок, за который можно завершить проект, составляет семь недель. Этот критический путь единственный; он включает событие "Начало", работу 1, работу 5 и событие "Конец".
• Работа 2, работа 3 и работа 4 не находятся на критическом пути.
• Самые ранние сроки начала и окончания работ по проекту сведены в табл. 4.1.
Таблица 4.L Самые ранние сроки начала и окончания работ согласно сетевому графику, представленному на рис. 4.3
Работа | Самый ранний срок начала | Самый ранний срок окончания |
Начало недели 1 | Конец недели 5 | |
Начало недели 6 | Конец недели 6 | |
Начало педели 1 | Конец недели 1 | |
Начало недели 2 | Конец недели 4 | |
Начало недели 6 | Конец недели 7 |
Обратный анализ — определение резервов времени и самых поздних сроков начала и окончания работ
Итак, мы прошли только половину пути. Теперь необходимо определить, насколько мы можем задержать выполнение работ в каждой последовательности и при этом закончить проект в максимально короткий срок. Анализ сетевого графика от конца к началу называется обратным анализом.
Из предыдущего анализа мы установили, что самый ранний срок достижения события "Конец" — это конец седьмой недели. Но Правило 2 гласит, что мы не можем перейти к событию" Конец", пока не будут завершены работы 2 и 5. Поэтому чтобы завершить проект к концу седьмой недели, самым поздним сроком окончания работ 2 и 5 также должен быть конец седьмой недели. Рассмотрим снова нижний путь, включающий работы 3, 4 и 5.
• Работу 5 следует начать не позже начала шестой недели, чтобы закончить ее в конце седьмой.
• Согласно Правилу 2 нельзя начинать работу 5, пока не закончены работы 1 и 4. Поэтому их нужно завершить не позже конца пятой недели.
• Следовательно, самый поздний срок начала работы 4 — начало третьей недели.
• Работа 3 должна быть закончена прежде, чем начнется работа 4, т. е. не позднее конца второй недели.
• Работу 3 нужно начать не позднее начала второй недели.
И наконец, рассмотрим верхний путь.
• Работу 2 следует начать не позднее начала седьмой недели.
• Нельзя начать работу 2 до окончания работы 1. Поэтому работа 1 должна быть закончена не позднее конца шестой недели.
Теперь опять будьте внимательны. Работа 1 должна быть закончена к концу пятой недели, чтобы дать возможность начать работу 5 в начале шестой. Кроме того, работа 1 должна быть закончена к концу шестой недели, чтобы можно было приступить к работе 2 в начале седьмой. Таким образом, если работа 1 будет закончена к концу пятой недели, оба условия будут соблюдены. Из этого следует правило:
Если несколько стрелок исходят от одной и той же работы (или события), то самой поздней датой окончания этой работы (или достижения события) будет самый поздний срок начала той работы (или события), которую следует начать раньше других.
В нашем примере последний срок начала работы 2 — начало седьмой недели, а начала работы 5 — начало шестой. Поэтому последний срок окончания работы 1 — это конец пятой недели. Отсюда следует простой вывод: вы должны начать работу 1 не позднее начала первой недели.
Самые поздние сроки начала и окончания работ сведены в табл. 4.2.
Таблица 4.2. Самые поздние сроки начала и окончания работ согласно сетевому графику на рис. 4.3
Работа | Самый поздний срок начала | Самый поздний срок окончания |
Начало педеля 1 | Конец недели 5 | |
Начало недели 7 | Конец недели 7 | |
Начало недели 2 | Конец недели 2 | |
Начало недели 3 | Конец недели 5 | |
Начало недели 6 | Конец недели 7 |
Вы еще не окончательно увязли в этих рассуждениях и расчетах? Советую прямо на сетевом графике указать над каждым прямоугольником самые ранние и самые поздние сроки начала и окончания работ, как на рис. 4.4.
Рис 4.4 Сетевой график с указанием самых ранних и самых поздних сроков начала и окончания работ
И наконец, определим резервное время для каждой работы одним из двух способов:
• вычтем из самой поздней допустимой даты начала самую раннюю дату начала;
• вычтем из самой поздней допустимой даты окончания самую раннюю возможную дату окончания.
В табл. 4.3 представлено резервное время для работ в нашем примере. Если резервное время равно 0, то работа находится на критическом пути.
Таблица 4.3. Резервное время для работ согласно сетевому графику на рис. 4.3
Работа | Резервное время (в неделях) |
Резервное время, как правило, относится к последовательности работ, а не к конкретным работам. Из табл. 4.3 видно, что работы 3 и 4, находящиеся на одном пути, имеют резервное время 1 неделю. Однако если работа 3 будет задержана на неделю, то резервное время для работы 4 будет равно 0.
Ваш первый сетевой график
Для его построения следует определить порядок выполнения работ проекта.
Предшествующей для работы 4 будет та, которую нужно выполнить до начала работы 4. Если между этими работами нет других, то первая называется непосредственно предшествующей.
Определение непосредственных предшествований является необходимым условием построения сетевого графика. Ниже приведены взаимосвязи между работами и обуславливающие их факторы.
• Регламентированные взаимосвязи. Порядок работ, который необходимо соблюдать для успешного выполнения проекта.
- Юридические требования. Государственные, штата или местные законы и правила, регламентирующие порядок выполнения определенных видов действий. Например, фармацевтическая компания разработала новое лекарство и испытала его в клинических условиях, продемонстрировав эффективность и безопасность. Перед запуском в производство и реализацию компания согласно федеральным законам обязана получить разрешение на этот препарат в Управлении по контролю за продуктами и медикаментами.
- Процедурные требования. Набор правил и процедур, действующий внутри компании, который регламентирует определенный порядок действий. Например, вы разрабатываете новое программное обеспечение. У вас готов интерфейс пользователя, и можно начинать программирование функций. Однако в организации существует специальная комиссия, которая должна официально утвердить этот интерфейс, прежде чем вы продолжите разработку.
• Естественные взаимосвязи. Взаимосвязи между работами, которые вы определяете или устанавливаете.
- Логические взаимосвязи. Вы определяете порядок выполнения работ, руководствуясь здравым смыслом. Например, содержание главы 3 вашего отчета во многом основано на информации главы 2. Следовательно, глава 1 должна быть написана раньше. А за нарушение порядка, продиктованного целесообразностью, придется заплатить переделыванием главы 3.
- Управленческий выбор. Порядок выполнения работ устанавливается исходя из их трудоемкости, сложности, удобства условий выполнения и других факторов.
Чтобы определить порядок работ и выделить для каждой работы непосредственно предшествующую, используют два подхода.
• От начала к концу.
- Выберите работы (или только одну), которые будут выполняться сразу после начала проекта.
- Проанализируйте эти работы и решите, какие работы вы будете выполнять сразу после их завершения.
- Продолжайте в таком же порядке рассматривать все работы по проекту.
• От конца к началу.
- Выберите последние несколько работ (или только одну), которые будут выполняться в самом конце проекта.
- Проанализируйте эти работы и решите, какие работы вы будете выполнять непосредственно перед их началом.
- Продолжайте в обратном порядке рассматривать все работы по проекту.
В любом случае все работы по проекту с указанием непосредственно предшествующих зафиксируйте в таблице примерно такого вида.
Таблица 4.4. Таблица предшествующих работ
Идентификатор работы в структурной схеме работ | Наименование работы | Непосредственно предшествующая работа |
Наименование работы | Нет | |
Наименование работы | ||
Наименование работы | Нет | |
Наименование работы | ||
Наименование работы | 1, 4 |
Определяйте приоритет и порядок выполнения работ исходя из содержания и необходимости самих работ, а не доступности ресурсов. Нецелесообразно ставить в графике две независимые работы последовательно на том основании, что у вас в наличии только один соответствующий исполнитель. В случае крайней необходимости вы можете маневрировать ресурсами или попытаться получить их дополнительно.
(В главе 5 рассказывается, как выявлять и устранять возможные ситуации перегрузки работников.)
Сетевой график простого проекта может уместиться на одном листе. Но для достаточно сложных проектов этот график становится громоздким, поэтому стоит подумать о применении вычислительной техники и соответствующего программного обеспечения (ПО). (Подробно это обсуждается в главе 16.) Описание самого популярного программного пакета по проектному менеджменту можно найти в книге Microsoft Project для "чайников" ("Диалектика" 2004 г.).
Простой пример применения сетевого графика
Рассмотрим применение сетевого графика на примере организации пикника. (Я, в общем-то, не настаиваю, чтобы вы каждый пикник планировали с помощью сетевого графика, но этот пример покажет основные приемы и возможности.)
В пятницу вечером, после напряженной недели, вы с подругой обсуждаете, как с максимальной пользой провести выходные. Прогноз обещает хорошую погоду, и вы решаете с утра отправиться на пикник на одно из двух ближайших озер. Чтобы как можно лучше организовать пикник и развлечься, вы решили составить сетевой график.
В табл. 4 5 представлены семь работ, которые, как вы считаете, необходимо выполнить, чтобы подготовить пикник и добраться до озера.
Таблица 4.5. Список мероприятий по организации пикника на озере
Номер работы | Наименование работы | Исполнитель | Продолжительность (в мин.) |
Погрузить вещи в машину | Вы и подруга | ||
Получить деньги в банке | Вы | ||
Приготовить сэндвичи с яйцом | Подруга | ||
Поехать на озеро | Вы и подруга | ||
Выбрать озеро | Вы и подруга | ||
Заправить машину бензином | Вы | ||
Сварить яйца (для сэндвичей) | Подруга |
Кроме того, вы соблюдаете следующие условия
• Все работы начинаются в субботу в 8:00 утра у вас дома. До этого времени нельзя ничего делать.
• Необходимо выполнить все работы по данному проекту.
• Вы договорились не менять исполнителей запланированных работ.
• Оба озера находятся в противоположных направлениях от вашего дома, поэтому прежде, чем отправляться в путь, следует решить, на какое из них ехать.
Вначале вы решаете, в каком порядке будете выполнять все эти работы. Другими словами, вам нужно определить для каждой работы непосредственно предшествующую. Необходимо учесть такие зависимости.
• Подруга должна сварить яйца, прежде чем готовить сэндвичи.
• Вы вместе должны решить, на какое озеро ехать, прежде чем отправиться в путь.
В каком порядке выполнять остальные работы, зависит от вашего желания. Например, вы приняли такой порядок.
• В первую очередь вы вместе решаете, на какое озеро ехать.
• Приняв решение насчет озера, вы отправляетесь в банк за деньгами.
• Получив деньги в банке, вы заправляете машину.
• После принятия совместного решения об озере подруга начинает варить яйца.
• После того как яйца сварились, подруга делает сэндвичи.
• После того как вы вернулись с заправки и подруга приготовила сэндвичи, грузите вещи в машину.
• После того как вы оба загрузили машину, отправляетесь к озеру.
Табл. 4.6 иллюстрирует последовательность работ, которую вы определили.
Таблица 4.6. Последовательность работ для организации пикника
Номер работы | Описание работы | Непосредственно предшествующая работа |
Погрузить вещи в машину | 3, 6 | |
Получить деньги в банке | ||
Приготовить сэндвичи с яйцом | ||
Поехать на озеро | ||
Выбрать озеро | Нет |
Заправить машину бензином | ||
Сварить яйца (для сэндвичей) |
Чтобы построить сетевой график в соответствии с этой таблицей, выполните следующие действия.
1. Начните проект с события "Начало".
2. Затем определите все работы, которые не имеют предшествующих. К их выполнению можно приступать стразу с момента начала проекта.
В нашем случае это единственная работа 5.
3. Начинаем рисовать сетевой график (рис. 4.5).
Определите все работы, для которых работа 5 является непосредственно предшествующей.
Рис 4.5. Начало построения сетевого графика организации пикника
4. Из табл. 4.6 видно, что таких две: работа 2 и работа 7. Изобразите их в виде прямоугольников и проведите к ним стрелки от работы 5.
Продолжайте строить график по тому же принципу.
Для работы 6 предшествующей будет работа 2, а для работы 3 — работа 7. На данном этапе график примет вид, как на рис 4.6
Из таблицы видно, что работе 1 предшествуют две работы: работа 3 и работа 6, а работе 4 — только работа 1. И наконец, от работы 4 идет стрелка к событию "Конец"
Рис. 4.6. Продолжение построения сетевого графика организация пикника
На рис. 4.7 показан сетевой график в завершенном виде.
Рис. 4.7. Окончательный вид сетевого графика для организации пикника
Теперь рассмотрим несколько важных вопросов. Во-первых, сколько времени вам потребуется, чтобы собраться и добраться до озера?
• Верхний путь, включающий работы 2 и 6, — 15 минут.
• Нижний путь, включающий работы 7 и 3, составляет 20 минут.
• Самый длинный в графике — критический путь, он включает работы 5, 7, 3, 1 и 4. Его продолжительность — 57 минут. Именно столько вам понадобится, чтобы добраться до озера, если следовать этому сетевому графику.
Можно ли задержать выполнение некоторых работ и все же уложиться в 57 минут? Если да, то каких?
• Верхний путь, включающий работы 2 и 6, — не критический.
• Из сетевого графика следует, что поскольку работы 5, 7, 3, 1 и 4 находятся на критическом пути, они не могут быть задержаны ни в коем случае.
• Однако работы 2 и 6 можно выполнять одновременно с работами 7 и 3. Работы 7 и 3 занимают 20 минут, в то время как работы 2 и 6 — 15 минут. Поэтому работы 2 и 6 имеют резерв времени в 5 минут.
На рис. 4.8 представлен тот же сетевой график, но в форме "события-работы". Событие А эквивалентно событию "Начало", а событие I эквивалентно событию "Конец".
Рис. 4.8. Окончательный вид сетевого графика для организации пикника в форме "события-работы "
Представленные на рис. 4.8 события пока не имеют названий. Вы можете дать их, например:
• событие В, конец работы 5 ("Выбрать озеро"), можно назвать "Решение принято";
• событие С, конец работы 2 ("Получить деньги"), можно назвать "Деньги получены". И так далее.
Элементарным называется событие, которое завершает одну работу. Определение элементарных событий в конце всех работ на сетевом графике типа "события-работы" упрощает отслеживание выполнения работ. Если работа 1 имеет несколько предшествующих, то вместо того чтобы проводить несколько стрелок к событию, после которого начинается работа 1, выполните следующее:
• закончите каждую предшествующую работу элементарным событием;
• соедините их стрелками со следующим элементарным событием, от которого начнется работа 1. Стрелки в этом случае будут означать фиктивные работы.
Это показано на рис. 4.8. Вы должны закончить работу 6 "Заправить машину", а ваша подруга работу 3 "Приготовить сэндвичи" до того, как вы оба начнете грузить вещи в машину. Вместо того чтобы вести стрелки прямо к событию G, закончите работу 6 событием D "Машина заправлена", а работу 3 событием F "Сэндвичи приготовлены". Затем обозначьте фиктивные работы стрелками от событий D и F к событию G, которое можно назвать "Готовы к загрузке машины".
Разработка графика работ
Разработка графика работ заключается в поиске такой последовательности работ и комбинации ресурсов, которая обеспечит максимальные возможности достижения намеченных целей с минимальными затратами.
Разработка первоначального варианта графика
Последовательность действий на этом этапе имеет следующий вид.
1. Опишите цели проекта, возможные ограничения и допущения (вернитесь к главе 2, где описывается проектное задание).
2. Детализируйте все работы по проекту (см. в главе 3 структурную схему работ).
3. Определите для всех работ проекта непосредственно предшествующие.
4. Определите продолжительность всех работ по проекту.
5. Определите промежуточные и окончательные сроки проекта.
6. Примите во внимание все работы и события, которые не относятся к проекту, но могут на него повлиять.
7. Постройте сетевой график.
8. Проанализируйте сетевой график и определите критические пути и резервы времени для некритических путей.
Если ваш первоначальный вариант удовлетворяет аудиторию проекта, его можно принять за основу. Если же заказчики хотят, чтобы проект был закончен быстрее, требуется дополнительный анализ.
Подводные камни разработки "От обратного"
Избегайте процесса разработки графика "в обратном направлении", когда работы определяются с конца, а время отсчитывается от даты завершения. С таким подходом вы рискуете составить неработающий график, поскольку:
• можете пропустить некоторые работы, так как больше сосредотачиваетесь на временных ограничениях;
• ваша оценка времени основана на том, сколько времени позволено выполнять данную работу, а не на том, сколько она может занять в действительности;
• порядок выполнения работ, определенный таким образом, может оказаться не самым эффективным.
Как-то я рассматривал план проекта своей коллеги и обратил внимание, что на пересмотр и утверждение своего доклада она отвела всего неделю. На вопрос, неужели это реально, она отвечала, что так не считает, а просто подогнала цифру под заданный срок.
Как преодолеть ограничения во времени
Чтобы найти пути выполнить проект быстрее, проведите следующий анализ.
• Перепроверьте изначально установленную продолжительность работ.
- Проверьте точность описания работ.
- Если определение продолжительности работ основано на предыдущем опыте, уточните, соответствуют ли нынешние условия той ситуации.
- Попросите других проверить ваши оценки продолжительности.
- Проконсультируйтесь с людьми, которые выполняли подобные работы.
• Рассмотрите возможность привлечения более квалифицированных работников. Обычно люди с высокой квалификацией выполняют работу быстрее, но это обойдется вам дороже. Кроме того, такие работники всегда нарасхват и не всегда доступны.
• Примите во внимание различные стратегии выполнения работ. Например, если вы собирались выполнить работы своими силами, рассмотрите возможность их выполнения по контракту, и наоборот.
• Исследуйте возможность удаления работ с критического пути. Уплотнение — это параллельное выполнение двух и более работ для сокращения сроков реализации всего проекта, когда существует риск потом что-то переделывать.
Если вы нашли способ сократить критический путь, проверьте остальные. Если критическим стал другой путь, постарайтесь сократить его тем же способом.
Как сократить время выполнения проекта
Применение на практике описанных методов покажем на примере нашего пикника. Если вас устраивают 57 минут, чтобы добраться до озера, тогда все в порядке. Но предположим, вы с подругой решили потратить на это не больше 45 минут. Где вы можете сэкономить 12 минут?
Помните, что для того чтобы сократить время проекта, вы должны продумать реальный план. У вас может появиться искушение помчаться по грунтовой дороге к озеру со скоростью 100 миль в час и доехать до него за 18 минут вместо 30, но это, согласитесь, неразумное решение.
Выполнение работ одновременно
Требуется творческий подход, чтобы придумать реальный план и сократить время проекта. Начнем со следующих размышлений.
• Предположим, банкомат находится непосредственно возле заправочной станции. Пока вашу машину заправляют бензином, можно получить деньги в банкомате.
• Таким образом, можно одновременно выполнить работы 2 и 6 и потратить на это 10 минут вместо 15, как показано на рис. 4.7.
На первый взгляд, вы сокращаете общее время до 52 минут, но это не так. Эти две работы не находятся на критическом пути, и сокращение их времени не влияет на весь проект. (Разве что вы потратите эти пять минут, чтобы помочь подруге готовить сэндвичи, но ведь вы договорились, что каждый занимается своей работой.)
Вернемся к сетевому графику и посмотрим, какие работы лежат на критическом пути. Возникла другая идея: подруга готовит сэндвичи в машине, пока вы едете на озеро. Это сэкономит 10 минут времени на критическом отрезке.
А сколько это сэкономит для всего проекта? Опять вернемся к рис. 4.7
• Верхний путь, включающий работы 2 и 6, занимает 15 минут, а нижний, включающий работы 7 и 3, — 20. Поскольку нижний путь — критический, экономия на нем 5 минут сократит время проекта на 5 минут. С этой точки зрения, у нас теперь два критических пути — каждый по 15 минут.
• Если сэкономить еще 5 минут на нижнем пути, то это не отразится на проекте в целом, так как верхний путь все еще занимает 15 минут. Но зато у нас будет резерв времени в 5 минут на нижнем пути.
Рис. 4.9 отражает эти изменения в сетевом графике.
Рис 4.9. Изменения в сетевом графике: приготовление сэндвичей в машине по пути к озеру
Вернемся снова к первоначальной идее получить деньги в банкомате, пока заправляется машина. Теперь это сэкономит нам еще 5 минут, поскольку верхний путь стал критическим.
Наконец, вы можете решить, к какому озеру ехать, во время погрузки вещей в машину. Это сэкономит вам еще две минуты. Таким образом, общее время проекта сократится до 45 минут, что отражено на рис. 4.10.
Рис 4.10. Время поездки на пикник сокращено до 45 минут
Параллельное выполнение работ отражается на графике единым для них завершающим событием. Так, для изображенных на рис. 4.10 работ "Получить деньги", "Заправить машину" и "Сварить яйца", это событие "Готовы к загрузке машины". После него, как показано стрелками, можно приступать к работам "Погрузить вещи в машину" и "Выбрать озеро".