ИСР – группировки работ, операции – реальные работы

Иерархическая структура работ завершается пакетами работ. Как мы говорили выше, пакет работ – это такой элемент структуры работ, про который менеджеру проекта все достаточно понятно, чтобы он мог управлять созданием этого элемента. Но управлять – не значит создавать! Для создания необходимо декомпозировать пакеты работ до уровня конкретных действий. Такие реальные действия, при исполнении которых расходуются реальные ресурсы, называются операциями.

Контрольные события и вехи

Контрольные события и вехи – это важные моменты и события проекта. Они соотносятся с операциями так же как результаты с работами: контрольные события - это «результаты» операций. В программном обеспечении управления проектами контрольное событие – это квази-операция с нулевой длительностью.

Основным назначением контрольных событий и вех является контроль сроков. У любой операции есть две основных даты – даты начала и завершения. А два параметра – это слишком много для управления. Вехи имеют нулевую длительность и, соответственно, только одну дату – дату наступления. И, соответственно, отчет по вехам является основным инструментом контроля сроков проекта.

Так же, как и все содержание проекта, вехи имеют два уровня – верхний, уровень внешних интересантов, и нижний, уровень исполнителей. Вехи верхнего уровня служат для контроля исполнения проекта сверху и являются основными отчетными контрольными событиями проекта. Вехи нижнего уровня являются промежуточными контрольными событиями и служат для внутреннего контроля исполнения сроков исполнителями проекта.

Как назовешь, так и поплывешь

Рекомендуется именовать работы и результаты так, чтобы уже по названию можно было отличать работы от результатов. А именно, результаты принято именовать существительными: «коробка», «крыша». А работы - глаголами: «построить коробку», «устроить крышу», или отглагольными существительными: «строительство коробки», «устройство крыши». Есть также рекомендация по именованию вех – глаголом в страдательном залоге: «коробка построена», «крыша устроена».

Взаимосвязи операций

Между операциями могут существовать взаимозависимости, когда какая-то операция не может быть исполнена до завершения другой операции, например, «стены после фундамента», «тестирование после разработки».

Любая зависимость увеличивает длительность исполнения всего множества операций, поэтому необходима аккуратность в определении зависимостей, особенно это касается тех зависимостей, которые не являются обязательными (см. ниже дискреционные зависимости), а длительность проекта, тем не менее, увеличивают.

Типы зависимостей

Есть три типа зависимостей между операциями:

Обязательные зависимости (жесткая логика) – это либо технологические и физические ограничения («стены после фундамента»), либо контрактные и законодательные («строительство после разрешений»).
Дискреционные зависимости (предпочтения, мягкая логика) – это зависимости, которые не являются обязательными, а определяются командой проекта исходя из разного рода предпочтений и рекомендаций.
Внешние зависимости – это зависимость операций от внешних условий и событий, например: работы проекта ожидают поставки оборудования.

Виды зависимостей

Зависимости определяются между началами и завершениями предшествующей и последующей операций. Соответственно, есть четыре разновидности зависимостей:

Финиш-Старт – финиш предшествующей связан со стартом последующей, т.е. последующая начинается после завершения предшествующей
Старт-Старт – старт предшествующей связан со стартом последующей, т.е. последующая начинается одновременно со стартом предшествующей
Финиш-Финиш – финиш предшествующей связан с финишом последующей, т.е. последующая завершается одновременно с завершением предшествующей
Старт-Финиш – старт предшествующей связан с финишом последующей, т.е. последующая завершается до начала предшествующей

Все разновидности зависимостей представлены на рисунке:

Виды зависимостей операций

Виды зависимостей операций

Опережения и задержки

Зависимости могут включать в себя опережения и задержки, например: «стены через 5 дней после фундамента». Важно отметить, что опережения и задержки являются свойством именно зависимостей, а не операций. И если в проекте необходимо промоделировать всякого рода ожидания на усушки, согласования, и так далее, то делать это лучше всего с помощью задержек зависимостей между соответствующими операциями.

Диаграмма предшествования – модель зависимостей операций

Основным способом представления логики последовательности операций является диаграмма предшествования, которая является разновидностью сетевых диаграмм проекта и ее еще называют «операции в узлах». Пример диаграммы предшествования представлен на рисунке:

Диаграмма предшествования

Диаграмма предшествования

Сетевая диаграмма проекта показывает набор операций и логику их последовательностей – кто за кем. Заметьте, что в этой диаграмме нет никаких характеристик самих операций, например, сроков или длительностей – только логика: что и в какой последовательности должно делаться в проекте. Эта диаграмма является важнейшим промежуточным шагом на пути к значимой цели – расписание проекта, для получения которого не хватает только одного – длительности операций. Но про это поговорим ниже.

Очень важным является и аскетизм сетевой диаграммы, в том смысле, что ее разработка не замутнена множеством привходящих обстоятельств типа «кто это будет делать», «сможем ли мы это сделать», «сколько это будет стоить», …

Проще пояснить это на примере:

Пример: Планирование для себя и для других.
Все мы знаем одну удивительную вещь. Когда мы планируем некоторые работы для себя и те же работы для других, то почему-то получаются совершенно разные планы.
Когда планируем для себя, то и работ получается не много, результаты и вехи почему-то вообще не наблюдаются, сроки и стоимости почему-то получаются с приличными резервами.
А когда планируем те же работы для других, то почему-то все наоборот. Работ получается всегда много, результатов и вех еще больше, сроки и стоимости почему-то получаются сжатыми предельно.
Почему так? Непонятно…

Пример, конечно, утрирован, но это – правда жизни. И вполне понятно, почему так получается: в обоих случаях мы вносим в процесс планирования весьма существенные привходящие обстоятельства – свои личные интересы. И искажаем планы работ.

Строительство домика: разрабатываем сетевую диаграмму

Планирование ресурсов

Выше мы говорили, что сетевая диаграмма проекта, отражая логику взаимосвязей операций, является основой для расчета расписания проекта – не хватает только длительности каждой операции. Но длительность большинства операций определяется производительностью исполнителей, причем не только людских ресурсов, но и любых производительных ресурсов. Поэтому давайте ненадолго отвлечемся от операций и поговорим о ресурсах – важнейшем объекте управления проектами.

Напоминаю концепцию работы, которая лежит в основе модели проекта. Работа преобразует ресурсы в результаты. Результаты являются ресурсами. Среди ресурсов выделяем производительные ресурсы – это те ресурсы, которые «умеют» преобразовывать одни ресурсы в другие. Получается парадоксальная вещь: работа – это просто название для деятельности ресурсов.

Виды ресурсов проектов

Ресурсы делятся на две группы:

Возобновляемые – люди и оборудование
Не возобновляемые – материалы

Не возобновляемые ресурсы, это материалы, расходуются на операции безвозвратно. В отличие от них возобновляемые ресурсы, это люди и оборудование, не расходуются и не теряют своих производительных возможностей, наоборот, после очередной операции возобновляемые ресурсы готовы к следующей операции в том же качестве и кондициях.

Вы можете спросить: а как же быть с амортизацией оборудования и с трудозатратами людей? Ведь такие потери есть, и эти потери явно являются расходными, не возобновляемыми? Да потери есть, и мы ясно видим два основных аспекта возобновляемых ресурсов: с одной стороны, возобновляемым является только производительная сила людей и оборудования, их способность преобразовывать. С другой стороны, производительная сила на самом деле не является в чистом виде возобновляемой, она требует постоянной поддержки, затрат ресурсов, обеспечивающих это самое постоянство.

Деньги – это материалы!

Для управления проектами деньги – это разновидность материалов, они, как и кирпичи, безвозвратно расходуются в процессе деятельности. Особенно смущает то, что любые работы можно купить, их не обязательно производить самому. Тут можно сказать только одно: деньги - это универсальный ресурс, это тот же кирпич, разве что золотой, который можно легко обменять на любой другой ресурс. Хуже того, деньги, как и кирпичи, очень многообразны – разные валюты, акции, кредиты, …, - продолжайте дальше сами. Ну и уж если у кого-то еще остались сомнения по поводу денег, то сообщаю, что все проекты, кроме тех, которые оформлены как юридические лица, денег вообще не имеют! Просто потому, что их негде хранить – нет расчетного счета. Что же они имеют? Да очень просто – они имеют не деньги, а обещания своей родной исполняющей организации оплатить услуги поставщиков и подрядчиков.

Иерархическая структура ресурсов

Ресурсы проектов многообразны и многочисленны, и структуризация ресурсов – дело, безусловно, полезное. Верхними категориями структуры ресурсов могут быть основные типы ресурсов – люди, оборудование, материалы, дальнейшая категоризация может основываться либо на требованиях исполняющей организации, как владельце ресурсов проекта, либо на требованиях самого проекта. Структуризация ресурсов нужна для получения сводной информации о расходах и стоимости разных категорий ресурсов проекта.

Ресурсы не только расходуются, но и производятся

Тот, кто прочитав этот заголовок, скажет: - а что здесь необычного, проект производит результаты, результаты это ресурсы, так что проект всегда производит ресурсы! – тот, конечно же, прав на все сто. Но речь здесь идет о более банальных вещах – о производстве ресурсов для использования в самом проекте. Скажем, строительный проект может производить цемент, бетон или даже кирпичи для использования в последующих операциях. Проект может произвести оборудование или квалифицированный персонал. Отмечаю главное – в управлении проектами затраты ресурсов всегда положительны и отражаются со знаком плюс, тогда как производство ресурсов – отрицательно. Почему так? Потому, что проект – это производство и, соответственно, главным в нем оказывается расход, а не приход ресурсов. А раз расход главный, значит, он положительный. Хоть он и расход.

Календари ресурсов и операций

Еще один существенный момент такой: ресурсы, особенно человеческие, доступны не всегда. Есть трудовое законодательство, есть трудовые договора, есть рабочее и нерабочее время, есть выходные, отпуска и болезни, и все это существенно ограничивает доступность людских ресурсов для производства. И все это необходимо учитывать при разработке расписания проекта. Общепринятый подход такой: для ресурсов определяются календари доступности, которые с точностью до секунды показывают, когда ресурс доступен для использования в проекте, а когда – нет. Так как материалы и оборудование могут использоваться в проекте только вместе с людьми, то основным календарем ресурсов оказывается календарь человеческих ресурсов. А основным календарем проекта, его еще называют календарем по умолчанию, оказывается календарь доступности основной массы исполнителей проекта. Обычно это 40-ка часовая пятидневка с праздничными днями.

Для операций так же могут быть определены свои календари доступности. Большинство операций доступно тогда, когда доступны их исполнители, однако возможны необычные ситуации – какие-то операции можно производить только днем или ночью, летом или зимой. Тогда для этих операций можно определить собственные календари доступности.

Потребность операций в ресурсах

Теперь мы можем сформулировать алгоритм планирования ресурсов проекта. У нас есть список операций проекта. Анализируя каждую операцию, мы выявляем ее потребность в ресурсах – типы ресурсов, количество и другие существенные атрибуты ресурсов. А зная потребность каждой операции в ресурсах, мы можем определить потребность в ресурсах для каждой группы работ и для всего проекта.

Строительство домика: разрабатываем реестр ресурсов

Расписание проекта

Теперь у нас есть сетевая диаграмма проекта, отражающая логику взаимосвязей операций, и есть потребности операций в ресурсах. Мы теперь можем оценить длительность каждой операции и рассчитать расписание проекта. Определение:

Расписание проекта – это даты начала и завершения каждой операции

Давайте рассмотрим основные моменты этих двух шагов – оценки длительности операций и расчета расписания.

Оценка длительности операций – способы и подвохи

Все способы оценки длительности, количества, стоимости и других характеристик, которые мы используем, по сути своей являются экспертными, то есть производятся на основе знаний и опыта о сути оцениваемого явления. Человечество использует разнообразные способы оценки, мы рассмотрим особенности и последствия самых распространенных способов оценки.

Аналоговая оценка

Так называют широкий класс простых способов оценки по аналогии с предыдущей похожей деятельностью, которые используются в условиях недостаточной информации о текущем проекте, например, в начале проекта. Пример такой оценки: мы уже исполняли подобные работы и по опыту знаем, что на исполнение требуется 5 дней. Или не исполняли подобного, но погуглили или опросили экспертов.

Среди аналоговых методов оценки есть один метод, который люди используют чаще всего – оценка из своего опыта. Это не только самый распространенный способ оценки, но и самый быстрый, так как не предполагает каких-то раздумий, расчетов, статистики. А предполагает простой алгоритм – опытный человек чешет затылок и сообщает: - ну, я это не раз делал, понадобится столько-то деньков. Такой основной и естественный способ оценки имеет существенную особенность – оценки получаются заниженными, то есть оптимистичными. Почему так получается, увидим позже.

Параметрическая оценка

Так называют оценку любой характеристики исходя из некоторых ее параметров, которые влияют на величину характеристики, и способа или закона влияния, выраженного обычно в некоторой формуле.

Для оценки длительности операции самая распространенная формула такая:

Длительность = Объем работ / Производительность

Мы имеем три параметра, связанных формулой. Фиксируя один из этих параметров, получаем три разных типа операций:

  • Операции с фиксированной длительностью – это операции, длительность которых определяется не людьми, а природными процессами, увеличивая производительность на таких операциях мы не сокращаем длительность, а только увеличиваем произведенный объем работ.
  • Операции с фиксированным объемом работ – это основной вид производственных операций, увеличение производительности приводит к сокращению длительности и наоборот.
  • Операции с фиксированной производительностью – это операции, где производительность задается внешними соображениями, например, имеющимся количеством исполнителей, тогда длительность пропорциональна объему работ.

Еще пример такой оценки: в прошлом проекте на строительство 5-ти этажей понадобилось 5 недель, в этом проекте строим 3 этажа, сложность строительства аналогична, поэтому оцениваем длительность в 3 недели.

Важное замечание – используя параметрическую оценку, мы подменяем оценку одной характеристики оценкой ее параметров, и теперь параметры становятся самостоятельными характеристиками, которые надо оценивать каким-то образом.

Оценка по трем точкам

Довольно часто мы затрудняемся дать одну оценку, но не затрудняемся дать три. Звучит парадоксально, но это распространенные ситуации такого типа: я не знаю, сколько понадобится времени на эту операцию, но могу сказать, что если все пойдет хорошо, то уложимся в 5 дней (оптимистичная оценка), в худшем варианте понадобится 10 дней (пессимистичная оценка), а скорее всего, потребуется 7 дней (наиболее вероятная оценка). Имеем три оценки, а нам нужна одна! Спрашивается, что делать? Ответ очевидный – усреднять. - Каким образом? – Любым, который вам кажется наилучшим в вашей конкретной ситуации. – Спасибо, ну прям так помогли, типа, делай, как хочешь! – Согласен, рекомендация «усредняй наилучшим способом» не верх конкретности, но есть способ усреднения, который работает почти всегда. Он называется «оценка PERT» (PERT – Program Evaluation and Review Technique) и описывается следующей формулой:

Оценка PERT:
Ожидаемая оценка = (Оптимистичная + 4 * Наиболее вероятная + Пессимистичная) / 6

Обращаю внимание, что делим на 6 потому, что взяли 4 наиболее вероятных оценок и по одной оптимистичной и пессимистичной – всего шесть оценок.

Наша ближайшая задача – разобраться с оценкой PERT и каким боком она соотносится с основной оценкой человечества – «оценкой из опыта». Давайте начнем с примера:

Пример: Оценка PERT по трем точкам.
Некоторая работа исполнялась 10 раз. Статистика длительностей:
2 раза за 4 дня – оптимистичная
7 раз за 5 дней – наиболее вероятная
1 раз за 9 дней – пессимистичная
Посчитаем разные средние значения:
Средняя (арифм) = (4 * 2 + 5 * 7 + 9 * 1) / 10 = 5,2 дней
Ожидаемая (PERT) = (4 + 4 * 5 + 9) / 6 = 5,5 дней
Заметьте, оценка PERT больше средней арифметической.
А теперь вопрос – какова «оценка из опыта»? Люди не хранят в голове статистику – памяти не хватает. Люди из этой статистики запомнят самую частую оценку, то есть наиболее вероятную, и некоторую оценку разброса, что-то типа (-1, +4) дня. Значит,
Оценка из опыта = 5 дней
Заметьте, наш основной способ оценки дает результат меньший, чем любые усреднения. Неужели наш опыт нас обманывает? Или это просто результат подгонки цифири в примере?

В этом примере оценка из опыта дает заниженные длительности по сравнению со средними значениями. Средние значения – это ожидаемые значения, это те значения, которые в среднем сбудутся. А оценки, которые мы выносим из своего опыта пусть не на много, но занижены. Это действительно так, и это не результат подгонки цифири в примере. Чтобы разобраться в этом, давайте копнем поглубже.

Все дело в том, что длительности, стоимости и любые другие характеристики, которые не могут быть отрицательными, имеют снизу жесткое ограничение – нуль, а вот сверху не имеют никакого ограничения вообще. Проще говоря, длительность любой конкретной операции имеет некое наиболее вероятное значение, может, при благоприятных условиях уменьшиться, но только до нуля, а вот при неблагоприятных условиях длительность может возрастать сколь угодно, вплоть до бесконечности. Для наглядности, изображаю на рисунке:

Оценка PERT по трем точкам

Оценка PERT по трем точкам

На рисунке хорошо видно, что из-за сдвига всего распределения длительностей вправо, с равной вероятностью происходят относительно небольшие уменьшения длительности и значительно большие увеличения. Из-за этого средняя ожидаемая длительность смещается вправо от наиболее вероятного значения, то есть оказывается больше того значения, которое предсказывает нам наш опыт.

Формула PERT есть результат расчета ожидаемой величины для нормального распределения, для которого вероятность наступления наиболее вероятного значения равна 37%. То есть, те оценки, которые подсказывает нам наш опыт, сбываются чуть больше, чем в трети случаев. А в двух третях случаев длительности и стоимости будут превышать наши «оценки из опыта».

Разработка расписания

Метод критического пути

Метод критического пути является основным способом расчета расписания проекта. Метод основан на очень простом явлении - если есть фрагмент проекта с двумя параллельными операциями, то длительность фрагмента будет определяться самой длинной операцией, а другая операция будет иметь резерв. Смотрим рисунок:

Резерв параллельных операций

Резерв параллельных операций

На рисунке показаны две параллельные операции с разной длительностью – операция А имеет длительность 7 дней, а операция Б – 3 дня. Обе операции имеют общего предшественника и общего последователя. Минимальной длительностью всего фрагмента является длительность А, 7 дней. В рамках этой длительности короткая операция Б имеет резерв времени величиной в 4 дня, либо может начаться на те же 4 дня позже, не увеличивая длительность фрагмента. На рисунке показаны ранние и поздние даты короткой операции:

Ранние и поздние даты операции

Ранние и поздние даты операции

Вот это и есть суть метода критического пути – операции могут иметь резервы, вызванные просто наличием параллельных цепочек, то есть естественные резервы, следующие из логики взаимосвязей. Вот основная терминология метода критического пути:

Резерв (Float, Total Float, Slack) – время, на которое операция может быть задержана, без увеличения длительности проекта:

Резерв = Поздний старт - Ранний старт
Свободный резерв (Free Float) – время, на которое операция может быть задержана, не влияя на раннее начало любой последующей операции

Для расчета резервов метод критического пути использует два прохода по сетевой диаграмме. В прямом проходе, от начала к концу проекта, рассчитываются ранние даты операций, для этого все операции начинаются как можно раньше в структуре связей сетевой диаграммы. А в обратном проходе, от конца проекта к началу, все наоборот – операции начинаются как можно позже.

Давайте разберем эту арифметику на примере.

Метод критического пути – расчет

Метод критического пути – расчет

Расписание рассчитывается в два прохода.

Прямой проход начинается с первой операции и продолжается по всем связям каждой последующей операции. Рассчитываются ранние даты каждой операции.

Обратный проход начинается с последней операции и продолжается по всем связям каждой предшествующей операции. Рассчитываются поздние даты каждой операции.

Критический путь

В результате расчета резервов имеем две группы операций: операции, которые не имеют резервов, и операции, имеющие ненулевые резервы. Это принципиально разные группы. Если на операции с резервом что-то случится и ее длительность возрастет, но останется в рамках резерва, то это никак не повлияет на длительность проекта. А вот для операций без резервов любое увеличение длительности приведет к такому же росту длительности всего проекта. Поэтому операции без резервов являются основным фокусом внимания менеджера и команды проекта и имеют свое название:

Критический путь - все работы, у которых нет резервов. Критический путь определяет длительность проекта.

Сжатие длительности операций

Есть два способа сжатия длительности: сжатие и быстрый проход.

Сжатие означает любые способы сократить время за счет дополнительных ресурсов – сверхурочная работа, назначение дополнительных исполнителей, премии за ускорение поставок. Большинство таких способов ведут к стоимостным рискам.

Быстрый проход означает запараллеливание последовательных работ, например, начинаем строительство до завершения архитектурного проектирования, или разработку информационной системы до завершения технического задания. Быстрый проход приводит к рискам переделок.

Важно понимать, что способы сжатия следует применять к операциям критического пути, так как сжимать операции с резервами не имеет смысла. Следует также следить за изменениями критического пути в процессе сжатия.

Выравнивание ресурсов

Метод критического пути рассчитывает расписание проекта без учета ресурсных ограничений. Например, если мы назначили исполнителя на две параллельные задачи, метод полагает, что у нас есть два исполнителя, или, если исполнитель недоступен, например, в отпуске, метод считает, что это не его проблема. Учет подобных ограничений обычно приводит к перегруппировке и увеличению длительностей операций, вплоть до изменения критического пути.

Инструменты разработки расписания

Расчеты расписания по методу критического пути проделать на коленках нереально. Все вышесказанное (и многое не сказанное) можно использовать в проектах только с компьютерами и специальным программным обеспечением.