КРАТКОЕ ИЗЛОЖЕНИЕ ТЕОРЕТИЧЕСКИХ ВОПРОСОВ. Структурное планирование
Структурное планирование
Структурное планирование включает в себя несколько этапов:
1. разбиение проекта на совокупность отдельных работ, выполнение которых необходимо для реализации проекта;
2. построение сетевого графика, описывающего последовательность выполнения работ;
3. оценка временных характеристик работ и анализ сетевого графика.
Основную роль на этапе структурного планирования играет сетевой график.
Сетевой график – это ориентированный граф, в котором вершинами обозначены работы проекта, а дугами – временные взаимосвязи работ.
Сетевой график должен удовлетворять следующим свойствам.
1. Каждой работе соответствует одна и только одна вершина. Ни одна работа не может быть представлена на сетевом графике дважды. Однако любую работу можно разбить на несколько отдельных работ, каждой из которых будет соответствовать отдельная вершина графика.
2. Ни одна работа не может быть начата до того, как закончатся все непосредственно предшествующие ей работы. То есть если в некоторую вершину входят дуги, то работа может начаться только после окончания всех работ, из которых выходят эти дуги.
3. Ни одна работа, которая непосредственно следует за некоторой работой, не может начаться до момента ее окончания. Другими словами, если из работы выходит несколько дуг, то ни одна из работ, в которые входят эти дуги, не может начаться до окончания этой работы.
4. Начало и конец проекта обозначены работами с нулевой продолжительностью. Такие работы называются вехами и обозначают начало или конец наиболее важных этапов проекта.
Пример. В качестве примера рассмотрим проект "Разработка программного комплекса". Предположим, что проект состоит из работ, характеристики которых приведены в табл.1.
Таблица 1.
Номер работы | Название работы | Длительность |
Начало реализации проекта | ||
Постановка задачи | ||
Разработка интерфейса | ||
Разработка модулей обработки данных | ||
Разработка структуры базы данных | ||
Заполнение базы данных | ||
Отладка программного комплекса | ||
Тестирование и исправление ошибок | ||
Составление программной документации | ||
Завершение проекта |
Сетевой график для данного проекта изображен на рис.1. На нем вершины, соответствующие обычным работам, обведены тонкой линией, а толстой линией обведены вехи проекта.
Рис. 1.Сетевой график проекта
Сетевой график позволяет по заданным значениям длительностей работ найти критические работы проекта и его критический путь.
Критической называется такая работа, для которой задержка ее начала приведет к задержке срока окончания проекта в целом. Такие работы не имеют запаса времени. Некритические работы имеют некоторый запас времени, и в пределах этого запаса их начало может быть задержано.
Критический путь – это путь от начальной к конечной вершине сетевого графика, проходящий только через критические работы. Суммарная длительность работ критического пути определяет минимальное время реализации проекта.
Нахождение критического пути сводится к нахождению критических работ и выполняется в два этапа.
1. Вычисление раннего времени начала каждой работы проекта. Эта величина показывает время, раньше которого работа не может быть начата.
2. Вычисление позднего времени начала каждой работы проекта. Эта величина показывает время, позже которого работа не может быть начата без увеличения продолжительности всего проекта.
Критические работы имеют одинаковое значение раннего и позднего времени начала.
Обозначим – время выполнения работы , – раннее время начала работы , – позднее время начала работы . Тогда
где – множество работ, непосредственно предшествующих работе . Раннее время начальной работы проекта принимается равным нулю.
Поскольку последняя работа проекта – это веха нулевой длительности, раннее время ее начала совпадает с длительностью всего проекта. Обозначим эту величину . Теперь принимается за позднее время начала последней работы, а для остальных работ позднее время начала вычисляется по формуле:
Здесь – множество работ, непосредственно следующих за работой .
Схематично вычисления раннего и позднего времени начала изображены, соответственно, на рис. 2 и рис.3.
Рис. 2.Схема вычисления раннего времени начала работы
Рис. 3.Схема вычисления позднего времени начала работы
Пример. Найдем критические работы и критический путь для проекта "Разработка программного комплекса", сетевой график которого изображен на рис.1, а длительности работ исчисляются днями и заданы в табл.1.
Сначала вычисляем раннее время начала каждой работы. Вычисления начинаются от начальной и заканчиваются конечной работой проекта. Процесс и результаты вычислений изображены на рис.4.
Результатом первого этапа помимо раннего времени начала работ является общая длительность проекта .
На следующем этапе вычисляем позднее время начала работ. Вычисления начинаются в последней и заканчиваются в первой работе проекта. Процесс и результаты вычислений изображены на рисунке 5.
Рис. 4.Вычисление раннего времени начала работ
Рис. 5.Вычисление позднего времени начала работ
Сводные результаты расчетов приведены в табл.2. В ней выделены заливкой критические работы. Критический путь получается соединением критических работ на сетевом графике. Он показан пунктирными стрелками на рис.6.
Таблица 2.
Работа | ||||||||||
Раннее время начала | ||||||||||
Позднее время начала | ||||||||||
Резерв времени |
Рис. 6.Критический путь проекта
После вычисления величин и для каждой работы вычисляется резерв времени :
Эта величина показывает, насколько можно задержать начало работы без увеличения длительности всего проекта.
Для критических работ резерв времени равен нулю. Поэтому усилия менеджера проекта должны быть направлены в первую очередь на обеспечение своевременного выполнения этих работ.
Для некритических работ резерв времени больше нуля, что дает менеджеру возможность маневрировать временем их начала и используемыми ими ресурсами. Возможны такие варианты.
1. Задержка начала работы на величину, не превышающую резерв времени, а требуемые для работы ресурсы направляются для выполнения работ критического пути. Это может дать уменьшение длительности критической работы и проекта в целом;
2. Недогрузка некритической работы ресурсами. В результате длительность ее увеличивается в пределах резерва времени, а освободившийся ресурс задействуется для выполнения критической работы, что также приведет к уменьшению длительности ее и всего проекта.
В приведенном примере проекте работы 3, 4 и 9 имеют резерв времени согласно табл.2.
Календарное планирование
На этапе календарного планирования разрабатывается календарный график, который называется диаграммой Ганта. Диаграмма Ганта отображает следующие параметры проекта:
1. структуру работ, полученную на основе сетевого графика;
2. состав используемых ресурсов и их распределение между работами;
3. календарные даты, к которым привязываются моменты начала и завершения работ.
Построение календарного графика рассмотрим на примере проекта "Разработка программного комплекса". Прежде всего нужно определиться с ресурсами, которые будут использоваться этим проектом. Предположим, что в качестве ресурсов выступают только исполнители, и они распределены между работами согласно табл. 3.
Таблица 3.
№ работы | Название работы | Исполнитель |
Начало реализации проекта | - | |
Постановка задачи | Постановщик | |
Разработка интерфейса | Программист1 | |
Разработка модулей обработки данных | Программист1 | |
Разработка структуры базы данных | Программист2 | |
Заполнение базы данных | Программист2 | |
Отладка программного комплекса | Программист1 Программист2 | |
Тестирование и исправление ошибок | Программист1 Программист2 Постановщик | |
Составление программной документации | Постановщик | |
Завершение проекта | - |
Выберем дату начала проекта – 7 сентября 2009г. (понедельник). При составлении календарного графика учитываются только рабочие дни. Нерабочими считаются все субботы и воскресенья, а также официальные праздничные дни, ближайший из которых – 4 ноября.
Календарный график (диаграмма Ганта) изображен на рис.7, где ромбиками обозначены вехи, сплошными линиями – продолжительность работ, сплошными линиями со стрелками – резерв времени работ, пунктирными линиями – связь между окончанием предшествующих и началом последующих работ.
Рис. 7. Календарный график проекта
Рис. 8. Графики загруженности ресурсов
На основании диаграммы Ганта может быть построен график загруженности ресурсов. Этот график показывает процент загрузки конкретного трудового ресурса в ходе выполнения проекта. По оси абсцисс откладывается временной интервал проекта, а по оси ординат – суммарный процент загруженности исполнителя по всем задачам проекта, которые он выполняет в текущий момент времени.
Обычно исполнитель целиком занят решением некоторой задачи и по ее завершении переходит к следующей. Это соответствует 100% загрузки. Однако, в некоторых случаях он может быть параллельно задействован в 2 или более задачах, выделяя для их решения часть рабочего времени. Например, две задачи по 50% каждая, то есть по половине рабочего дня на задачу. График загруженности ресурса позволяет в этом случае контролировать суммарную занятость исполнителя и выявить возможные периоды перегрузки, когда ему запланировано больше работы, чем он может выполнить в течение рабочего дня. Об этом свидетельствует суммарная загруженность более 100%.
Пример графиков загруженности ресурсов проекта "Разработка программного комплекса" изображен на рис.8. Он построен, исходя из предположения, что каждый работник занят на 100% выполнением запланированной ему задачи. Из графиков видно, что Постановщик перегружен в период с 16 по 23 октября, поскольку в этот промежуток ему назначены две параллельные работы. Область его перегруженности выделена на соответствующем графике штриховкой.
Оперативное управление
На этапе оперативного управления происходит выполнение работ по проекту и непрерывный контроль над ходом его реализации. Каким бы хорошим ни был первоначальный план, жизнь обязательно внесет в него свои коррективы. Поэтому задачами менеджера являются:
1. отслеживание фактического графика выполнения работ;
2. сравнение фактического графика с плановым;
3. принятие решений по ликвидации наметившихся отклонений от плана;
4. перепланирование проекта в случае значительных отклонений.
Первые две задачи решаются при помощи диаграммы Ганта. На ней параллельно линиям продолжительности работ наносятся линии, обозначающие процент фактического выполнения этих работ. Это позволяет легко обнаружить возникшие отклонения.
Метод ликвидации отклонения зависит от имеющихся в распоряжении менеджера ресурсов. Для завершения запаздывающей работы можно либо привлечь дополнительных работников (дополнительные ресурсы), либо использовать тот же состав работников в сверхурочном режиме. В обоих случаях за ликвидацию отклонения придется платить увеличением стоимости проекта (незапланированная ранее оплата дополнительных работников, ресурсов и сверхурочных работ).
Если же отклонение таково, что не может быть исправлено привлечением дополнительных и сверхурочных ресурсов, или увеличение стоимости проекта недопустимо, нужно заново перепланировать проект и выполнить следующие действия:
1. завершенным работам приписываются нулевые значения длительности;
2. для частично выполненных работ устанавливаются значения длительности, соответствующие оставшемуся объему работ;
3. в сетевой график вносятся структурные изменения с целью ликвидации оказавшихся ненужными работ и добавления других, ранее незапланированных;
4. повторный расчет критического пути и повторное календарное планирование проекта.
После создания скорректированного проекта он утверждается руководством и начинается его реализация и оперативное управление. Такая корректировка может выполняться несколько раз.
Контрольные вопросы
1. Какие этапы входят в методологию структурного планирования?
2. Что такое сетевой график?
3. Какими свойствами обладает сетевой график?
4. Что такое критическая работа?
5. Что такое критический путь?
6. Каковы этапы нахождения критического пути?
7. Как вычисляется раннее время начала работы?
8. Как вычисляется позднее время начала работы?
9. Как найти критические работы по значениям раннего и позднего времени начала работ?
10. Что такое резерв времени работы?
11. Каким образом резерв времени работы может быть использован?
12. Что такое диаграмма Ганта?
13. Привести пример диаграммы Ганта.
14. Для чего предназначен график загруженности ресурсов?
15. Каким образом по графику загруженности ресурсов можно найти перегрузку ресурса?
16. Привести пример графика загруженности ресурса.
17. В чем сущность процесса оперативного управления?
18. Какие действия следует выполнить при перепланировании проекта в процессе оперативного управления?
Лабораторная работа 1.Составление и расчет сетевого графика
Лабораторная работа 2.Составление и расчет календарного плана