Добавлен: 21.10.2018
Просмотров: 1541
Скачиваний: 9
-
структурное планирование
-
календарное планирование
-
оперативное управление.
Ниже каждый из этих этапов рассмотрен более подробно.
1. Структурное планирование
Основная цель структурного планирования - описание состава и взаимосвязи технологических операций - работ, а также определить (или предварительно оценить) продолжительности работ.
Результат структурного планирования - сетевой график, состоящий из элементов двух видов — работ и событий в наглядной форме представить структуру проекта с точки зрения входящих в него работ. Это и есть математическая модель проекта.
С математической точки зрения он является направленным графом, в котором каждая работа отображается ориентированной дутой (стрелкой), а каждое событие — вершиной (узлом). Событие - момент времени, когда завершается одна работа (или группа работ) и начинается другая. На рисунке приведен сетевой график, разработки программы, состоящей из двух самостоятельных модулей:
Изображенные на рисунке дуги соответствуют следующим видам работ:
А12 — разработка алгоритма первого модуля;
А13 — разработка алгоритма второго модуля;
A14 — программирование первого модуля;
А34 — программирование второго модуля;
А45 — комплексная отладка модулей;
А56 — разработка программной документации.
Основные правила построения сетевого графика:
-
Каждая работа представляется одной и только одной дугой, то есть ни одна работа не должна появляться в графике дважды. При этом любая работа в случае необходимости может быть разбита части, каждой из которых будет соответствовать своя дуга. Например, программирование модуля можно разбиить на две работы: ввод текста программы и ее отладку.
-
Ни одна пара работ не может определяться одинаковыми начальным и конечным событиями (в противном случае две различные работы будут идентифицированы одинаково). Возможность такого неоднозначного задания работ существует в тех случаях, когда две (или более) работы могут выполняться одновременно.
-
Ни одно событие не может произойти до тех пор, пока не будут закончены все входящие в него работы. Например, комплексная отладка модулей не может быть начата до завершения программирования каждого из них, то есть событие 4 на рис. 2.1 не произойдет до завершения работ А24 и А34;
-
Ни одна работа, выходящая из данного события, не может начинаться до тех пор, пока не произойдет данное событие; например, программирование первого модуля (работа А24) не может начаться, если не закончена разработка его алгоритма (то есть пока не произошло событие 3). Чтобы исключить неоднозначность, вводят фиктивную работу и фиктивное промежуточное событие. Затраты времени и ресурсов на выполнение фиктивной работы принимаются равными нулю.
|Сетевой график позволяет определить временные характеристики проекта и входящих в него работ. Наиболее важны в плане проекта критические работы.
Это те работы, задержка начала которых приводит к |задержке срока окончания проекта в целом. Любая некритическая работа имеет резерв времени.
Критический путь – это цепочка критических работ, связывающая исходное и завершающее события сети .
Критический путь определяет минимальную продолжительность проекта в целом.
Для построения критического пути нужно выявить все критические работы, т. е. те работы, для которых резерв времени равен нулю.
Расчет резервов времени для работ проекта включает в себя два этапа: прямой ход и обратный ход.
Прямой ход
При прямом ходе для каждого события j вычисляется ранний срок его наступления Тр(j) , начиная с исходного события до завершающего. При обратном ходе вычисляются поздние допустимые сроки наступления событий Тп(j), от завершающего события сети к исходному. После этого вычисляют резервы времени работ и находят такие работы, фактическая длительность которых совпадает с промежутком времени между их ранним началом и поздним окончанием, то есть такие, для которых резерв времени равен нулю.
1. Наиболее раннее возможное время наступления j-го события Тр(j) определяется из следующего соотношения:
где i, — номера предшествующих событий;
tij — фактическая продолжительность работы Аij;
Тр(i) — наиболее раннее возможное время наступления события i.
С содержательной точки зрения величина Тр(j) - собой момент времени, когда будет завершена наиболее «поздняя» из работ, влияющих на j-е событие.
2. Наиболее позднее допустимое время наступления i-го события Tn(i)
где j — номера последующих событий;
tij— фактическая продолжительность работы Аij;
Тп(i) — наиболее позднее допустимое время наступления события i.
Тп(i) представляет собой момент времени, когда должна быть начата наиболее продолжительная (и/или поздно начинающаяся) из работ, выходящих из i-го события, чтобы не вызвать задержку связанного с ней последующего события сети.
/
На основании раннего и позднего сроков наступления событий сети рассчитываются следующие виды резервов времени.
Резерв времени i-го события:
R(i) = Тп(i) - Тр(i).
(Если резерв времени события больше нуля, это означает, что событие может быть в любой точке промежутка между ранним и поздним сроками наступления этого события, и это не приведет к задержке последующих событий сети).
Полный резерв времени работы Аij:
Rn(ij) = Тп(j) - Tp(i) - tii.
Полный резерв времени работы означает, что задержка в выполнении работы на величину, меньшую Rn(ij), не сорвет срок завершения проекта.
Свободный резерв времени работы Аij:
Rc(ij)= Тр(j) - Тп(i) - tij
Cвободный резерв времени означает, что если для события j есть возможность раннего его наступления, то увеличение длительности работы на величину, не большую Rc(ij), не приведет к задержке ни одной из последующих работ.
Поясним методику определения критического пути с помощью приводившегося выше примера, связанного с разработкой программного продукта. Предположим, что входящие в сетевой график работы (см. рис. 2.1) имеют следующую продолжительность (в днях):
t12 = 6
t13 = 8
t24 = 9
t34 = 10
t45 = 4
t36 = 5
При вычислении момент наступления исходного события сети принимается равным нулю Тр(1) = 0. .
Соответственно, наиболее ранний возможный момент наступления второго события (для рассматриваемого примера) определяется так:
Тр(2) = Тр(1) + t12 = 0 + 6 = 6.
Расчетные соотношения и результаты вычислений для остальных событий приведены ниже:
Событие i |
Тр(i) |
Tn(i) |
R(i) |
1 |
0 |
0 |
0 |
2 |
6 |
18-9=9 |
9-6=3 |
3 |
0+8=8 |
18-10=8 |
8-8=0 |
4 |
max{15,18}=18 |
22-4=18 |
18-18=0 |
5 |
18+4=22 |
27-5=22 |
22-22=0 |
6 |
22+5=27 |
27 |
0 |
Обратный ход
Предполагается, что для завершающего события ранний и поздний сроки равны: Тп(6) = Тр(6) = 27.
Следующим шагом является расчет резервов времени работ. Ограничимся вычислением именно этой величины для всех работ рассматриваемого графика. Они имеют следующие значения:
Те работы, для которых полный резерв времени равен нулю, являются критическими. Отметив их на сетевом графике, определим и критический путь проекта. Чтобы вычислить его продолжительность, достаточно сложить длительность образующих его критических работ. Для нашего примера разработка программного продукта не может быть завершена ранее, чем через 27 дней.
Роль некритических работ в планировании. Такие работы могут быть смещены по оси времени в пределах имеющегося резерва. Например, при дефиците ресурсов или исполнителей резерв времени может быть использован для выравнивания их загрузки. Либо в течение резервного времени исполнитель может быть задействован для выполнения критических работ. Так, в случае с разработкой программного продукта два программиста могут (теоретически) отладить один программный модуль быстрее, чем в одиночку, обеспечив тем самым сокращение сроков выполнения проекта в целом. Однако задачи, связанные с назначением и распределением ресурсов, решаются на следующем этапе сетевого планирования — на этапе построения календарного графика.
2. Построение и анализ календарного графика
Календарный график строится на основе диаграммы Ганта (Gantt).
Диаграмма Ганта — это линейный график, задающий сроки начала и окончания взаимосвязанных работ, с указанием ресурсов.
Пусть в проекте разработкой и комплексной отладкой модулей занимаются два программиста, а создание программной документации возложено на техника. Диаграмма Ганта будет выглядеть следующим образом:
Линии на диаграмме, обозначающие работы проекта, в отличие от дуг сетевого графика, отражают относительную продолжительность работ. Основное достоинство диаграммы Ганта — наглядное представление работ, выполняемых одновременно. Кроме того, она позволяет достаточно просто (правда, не очень точно) оценить загруженность ресурсов. Вместе с тем, диаграмма Ганта не может дать количественного анализа рассматриваемых процессов. Поэтому истинную популярность эта форма графиков получила лишь после того, как была использована в модифицированном виде в сетевом планировании.
Итак, календарный график представляет собой модифицированный вариант диаграммы Ганта. В качестве исходных данных для его построения используются:
-
структура работ проекта, полученная на основе сетевого графика;
-
состав используемых ресурсов и их распределение между работами;
-
реальные (календарные) даты, к которым привязываются моменты начала и завершения работ и проекта в целом.
Календарный график для того же примера:
Критические работы на рисунке помечены двойными штрихами. Линии с двойными стрелками - резервы времени некритических работ. Пунктирными линиями обозначены связи между работами.
Анализ календарного графика
Ресурсное планирование (то есть распределение ресурсов между работами проекта) начинают с работ критического пути, т. к. задержка их выполнения приведет к задержке завершения проекта.
После первоначального распределения ресурсов с помощью календарного графика могут решаться следующие виды задач:
-
анализ загруженности ресурсов;
-
изменение сроков начала и/или окончания некритических работ с целью более рационального (например, более равномерного) использования ресурсов;
-
планирование рабочего графика (календаря) исполнителей;
-
стоимостной анализ проекта.
Если полученные результаты окажутся неудовлетворительными по какому-либо показателю, придется скорректировать календарный график, изменив сроки выполнения работ и/или распределение ресурсов, либо вообще внести поправки в сетевой график.
В связи с этим необходимо сделать следующее весьма важное замечание.
Метод сетевого планирования, в отличие от других математических методов исследования операций (например, линейного и динамического программирования) не обеспечивает «автоматического» вычисления оптимальных параметров проекта. Он лишь позволяет получить объективную оценку этих параметров при заданном (выбранном) варианте структуры работ и распределения ресурсов. Соответственно, полученные с его помощью результаты следует рассматривать как рекомендацию, с которой менеджер проекта может либо согласиться, либо нет. Чтобы ответить на вопрос, насколько плох или хорош данный вариант проекта, менеджер должен четко представлять себе (либо добиться от руководства), какую основную цель преследует планирование: сокращение сроков работ, экономию ресурсов, либо поиск некоего компромиссного варианта.
Поскольку на практике в конечном счете все упирается в ресурсы, остановимся на этом понятии подробнее.
Учет ресурсов
В методе сетевого планирования различают два основных типа ресурсов: возобновляемые и невозобновляемые (расходуемые).
К первому типу относятся так называемые исполнители — люди и/ или механизмы, которые, завершив одну работу, могут быть «переброшены» на другую.
Замечание: Не льзя назначить на рытье траншеи 1,5 землекопа. Здесь используется понятие «объем работ», измеряемый, например, в человеко-днях. Т. о., для ресурсов типа «исполнитель» важно понятие рабочего графика, или календаря. Например, если рабочий день землекопа составляет 4 часа, то он будет работать над траншеей 6 часов.
К невозобновляемым ресурсам относятся сырье и материалы, а также энергоносители. Очевидно, что после использования тонны гравия при строительстве одного объекта, ее нельзя назначить повторно при строительстве следующего объекта. Вследствие этого учет использованных невозобновляемых ресурсов при реализации проекта всегда идет по нарастающей.
3. Контроль и оперативное управление
Как бы ни был хорош первоначальный план проекта, в ходе его реализации жизнь все равно внесет в него свои коррективы. Поэтому, как уже было сказано, контроль за выполнением работ (трэкинг) является обязательным условием успешного завершения проекта. Постоянный контроль гарантирует не только объективную оценку текущего состояния проекта, но и возможность своевременной модификации исходного (или, как его еще называют, базового) плана. В случае необходимости корректировки разрабатывается новый календарный план оставшейся части проекта.
Выбор метода контроля
Выбор метода контроля зависит от специфики конкретного проекта, технической (в смысле компьютерной) оснащенности организации, принятой в ней технологической дисциплины и т. д. Однако в любом случае при выборе метода следует учитывать три основных фактора:
-
Размер проекта. Если проект достаточно прост и состоит примерно из десяти задач, руководитель проекта, как правило, способен отслеживать состояние всех работ «вручную». Если же проект содержит более чем 20 или 30 задач, целесообразно использовать соответствующие инструментальные средства.
-
Доступность инструментальных средств трекинга. Если в реализации проекта участвует достаточно большое число исполнителей, и (или) они разнесены территориально, одним из наиболее эффективных способов сбора информации о состоянии работ является электронная почта либо средства www.
-
Уровень детализации, необходимый при трекинге. Как правило, требуемый уровень зависит от сложности проекта и его текущего состояния. Чем больше опасений вызывает реальное положение дел, тем выше необходимый уровень детализации. Кроме того, более детальный контроль обычно проводится, когда проект входит в завершающую стадию (помните народную мудрость: «Не тот молодец, кто хорошо начинает, а тот, кто вовремя заканчивает»?), а также в особо важных контрольных точках. Такие точки обычно называют вехами (английский термин — milestone).
Оценка результатов контроля
Если в результате контроля было выявлено отклонение реального состояния дел от исходного плана, то в некоторых случаях это может потребовать разработки нового плана для оставшейся части проекта. Чтобы сделать это с наименьшими издержками, целесообразно придерживаться следующей методики: