Библиотека управления

Создание плана отдельного проекта по методу критической цепи

Лоуренс Лич Глава из книги «Вовремя и в рамках бюджета»
Издательство «Альпина Паблишерз»

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

Помните, что график — это лишь модель развития событий, а не сама действительность. Модель, которая должна помочь вам выполнить проект и получить результат в максимально короткие сроки.

Процесс

Далее мы раскроем основные этапы процесса создания графика проекта методом критической цепи. Процедура написана для работы «вручную», без использования программ для построения критических цепей. Эти правила успешно применялись руководителями отдельных проектов с бюджетом до $5 млн — для планирования и управления по ССРМ. Для управления более крупными проектами или программами необходимо специализированное программное обеспечение, работающее на алгоритме критической цепи.

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

1. Найдите критическую цепь.

Постройте логическую последовательность операций со связями типа «поздний финиш». Используйте среднюю длительность операций (вероятность 50/50) и укажите исходные данные о необходимых ресурсах. (Если для выполнения задачи требуется несколько исполнителей, укажите, кто, по вашему мнению, будет основным ограничением работ. Если таковых несколько, разбейте задачу в соответствии с количеством исполнителей-ограничений.)

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

Устраните конфликт ресурсов, запланировав выполнение некоторых операций на более ранний срок. (На данном этапе не задумывайтесь о появлении новых конфликтов; вы снимете их позже.)

Вернитесь в конец графика и выполните пункт 1.4 для следующего ресурса. Устраняя текущий конфликт, не допускайте повторного возникновения конфликтов, которые вы уже разрешили ранее. Повторяйте процедуру, пока не закроете все выявленные проблемы с ресурсами.

Найдите критическую цепь — самую длинную последовательность зависимых событий.

2. Найдите способ снизить влияние критической цепи.

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

Добавьте проектный буфер в конец критической цепи.

3. Подчините все операции, цепочки и ресурсы нуждам критической цепи.

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

3.2. Снимите все конфликты ресурсов, появившиеся после добавления буферов, путем перепланирования операций на более ранние сроки.

3.3. Соответственно сдвиньте на более ранние сроки операции, предшествующие тем, которые вы только что перепланировали.

4. Сократите общую длительность проекта, используя дополнительные ресурсы на определенных участках, чтобы снять конфликты.

5. Возвращайтесь на этап 1, не позволяя инерционности мышления стать ограничением.

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

«Достаточно хороший»

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

Примеры и упражнения

На рис. 1 дан небольшой пример работы с критической цепью. Вы видите классический график СРМ типа «ранний старт». Первая цифра в каждом прямоугольнике — идентификатор операции из иерархической структуры работ. Вторая цифра — в скобках — показывает длительность операции в днях. Обратите внимание, что операция 3 зависит от завершения операций 1.2 и 2.2.


Рис. 1. Простой проект: обычное расписание типа «ранний старт»

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

Далее мы добавляем проектный буфер и буферы на слияние путей. Поскольку исполнитель (ресурс) у всех операций один, в данном проекте нет необходимости добавлять ресурсный буфер (рис. 3).


Рис. 2. Первый шаг в создании критической цепи: сократить длительность операций и составить график типа «поздний финиш»


Рис. 3. Если конфликта ресурсов нет, просто добавляем буфера!

Теперь рассмотрим тот же небольшой проект, но уже с конфликтом ресурсов. Рис. 4 показывает последовательность операций в виде диаграммы PERT и без временной шкалы. Необходимые ресурсы в диаграмме обозначены разными цветами. Под этими цветами можно понимать, например, различные профессии (инженер, музыкант, оператор станков и т.п.).

Чертим диаграмму, сдвигая все операции на максимально поздние сроки. В данном случае необходимо лишь добавить ограничение «начало как можно позднее» к операции 2.1.

Затем устраняем конфликт ресурсов, двигаясь с конца проекта к началу (рис. 5).

На рис. 6 дается два способа снятия конфликта за ресурс «зеленый». Посмотрите, в каждом графике отображается новый тип зависимости от ресурса-ограничения. Какой из способов предпочтительней? На первый взгляд может показаться, что второй — нижний, поскольку последовательность операций получается короче. Во втором случае длина обеих цепочек одинакова, так что любую можно выбрать в качестве критической. А теперь добавьте в оба расписания проектный буфер и буферы на слияние путей и посмотрите, что получится.


Рис. 4. Тот же проект с указанием ресурсов


Рис. 5. На первом этапе все сдвигается на поздние сроки


Рис. 6. Способы снятия конфликта ресурсов

На рис. 7 показан план, полученный после применения первого способа снятия борьбы за «зеленый» ресурс. В критическую цепь вошли все операции, кроме операции 2.1. Размер буферов на слияние путей определяем как 50% от общей длительности работ пути, впадающего в критическую цепь.

Какой бы путь из двух мы ни выбрали в качестве критической цепи при первом способе снятия конфликта, общая длительность работ получится одинаковой. Также в обоих случаях после добавления буфера на слияние путей некритическая цепь получается больше критической. Это нормально. Просто появилось дополнительное время для завершения некритических цепочек работ. Обычно так получается, когда имеется два или более путей почти одинаковой длины, но, как правило, в крупных проектах это явление практически не заметно. Двигаемся дальше и устраняем следующий конфликт (рис. 8).


Рис. 7. Первый способ: плановая дата завершения проекта 7 марта 2000 года


(Кликните по изображению для его увеличения)


Рис. 8. Второй способ: при любой из двух возможных критических цепей дата завершения проекта — 10 марта 2007 года

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

На рис. 10 дана диаграмма проектных работ следующего, более сложного примера. Верхняя строка в каждом квадратике — идентификатор операции. Цвет обозначает необходимый тип ресурса. Цифры в нижней строке показывают длительность операции в днях. Длительность взята с 50%-ной вероятностью.

Необходимо составить план этого проекта методом критической цепи.

Первый шаг — начертить график работ. На рис. 11 работы представлены в виде диаграммы Гантта, составленной средствами MS Project. Посмотрите диаграмму слева направо и обратите внимание на пересечение операций А-1 и В-2, где исполнителем назначен «пурпурный». Также пересекаются операции В-3, С-3 и D-3, у которых ресурс «синий». Можно легко заметить, что критический путь в этой диаграмме — верхняя цепочка работ, так как в ней нет никаких разрывов.


Рис. 10. Сложный пример (длительность операций уже урезана)


Рис. 11. Сложный пример: диаграмма Гантта отражает конфликт ресурсов

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

Теперь необходимо найти критическую цепь. Рис. 13 показывает критическую цепь, определенную при помощи программы ССРМ+. Как вы видите, критическая цепь несколько раз «перепрыгивает» с одной логической последовательности операций на другую. При этом, если смотреть с конца проекта, видно, что на данный момент в критической цепи нет пробелов, хотя они есть почти во всех логических цепочках работ.


Рис. 12. Ресурсы выравнены, конфликты устранены



Рис. 13. Находим критическую цепь

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



Рис. 14. Добавляем проектный буфер и буферы на слияние путей, и план готов

Определение размера буфера и нахождение границ принятия решений

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

Статистическое обоснование

Рекомендации по вычислению размера буфера основаны на законах статистики. Это относительно простые правила, имеющие под собой теоретическую подоплеку. Доктор Элия Голдратт советует задавать размер буферов (проектного и на слияние путей) как половину от длительности пути, к которому добавляется буфер. Буферы призваны защищать проект от неопределенности в выполнении цепочек работ. При подсчетах не нужно учитывать пробелы в последовательностях операций.

Метод Голдратта основан на правиле статистики, описывающем сложение неопределенностей независимых событий. Правило гласит, что неопределенность суммы событий намного меньше, чем сумма неопределенностей каждого события. Это удобно, так как можно ожидать проявления как отрицательной, так и положительной вариабельности. Необходимо использовать рекомендацию Голдратта по определению размера буфера только в совокупности с правилом сокращения вдвое оценочной длительности всех операций проекта. Чтобы дать математическое обоснование методу Голдратта, необходимо сделать ряд дополнительных оговорок, к этому мы вернемся позднее. Как правило, следуя рекомендации Голдратта, вы получите больший размер буфера, чем пользуясь другим, описанным далее методом. Это оправданно, если вы только начинаете работать с критической цепью и стремитесь к упрощению процесса.

При определении размера буфера работают два правила статистики. Первое — правило сложения вариабельности. Оно гласит, что для независимых событий вариабельность1 распределения суммы событий равняется сумме вариабельностей распределений отдельных событий. Вариабельность обычно в литературе по статистике обозначается как о или s2 и является способом описания статистических колебаний в распределениях любого типа.

Разброс распределения пропорционален стандартному отклонению s2, или о. Таким образом, разброс, или протяженность распределения суммы (в нашем случае это буфер всего проекта), равняется квадратному корню от суммы квадратов отдельных распределений. (Внимание: если вы не любитель статистики и не знакомы с ее законами, не переживайте. Можете спокойно использовать метод критической цепи, руководствуясь простыми рекомендациями Голдратта или процедурой, приведенной ниже. Чтобы теория работала, вовсе не обязательно понимать ее в деталях.)

Есть еще и второе правило статистики, действующее нам на руку при формировании защиты критической цепи от неопределенности. По центральной предельной теореме, распределение выборки элементов из нескольких распределений по мере увеличения размера выборки стремится к нормальному. Это значит, что неопределенность при выполнении ряда операций в цепи имеет симметричное распределение, даже если распределения отдельных операций сильно смещены (например, имеют длинный «хвост» справа). Это снижает вероятность срыва сроков длительных проектов.

Есть очень простой способ использовать знания о вариабельности при определении размеров буферов (проектного и на слияние путей). Для этого необходимо сделать ряд допущений. Зачастую мы почти не располагаем информацией о фактическом распределении времени выполнения проектных работ. (Исключение — стандартные проекты с повторяющимся набором активностей, например строительные, по которым имеется большой массив данных для проведения оценки параметров отдельных операций.) Однако, как правило, мы можем определить границы — максимум и минимум времени, которое может уйти на выполнение работ. Если предположить, что ваш метод оценки дает примерно одинаковые значения максимума и минимума почти по всем проектным работам, можно сказать, что разница D между верхним и нижним пределом кратна стандартному отклонению. Мы можем не знать, идет ли речь о двух или шести стандартных отклонениях, мы просто предположили, что, какова бы ни была величина отклонения, она будет одинакова для всех операций, оценка которых проводилась одним и тем же методом. Тогда, даже не определяя точно верхнюю и нижнюю границы, можно задать размер буфера, который обеспечит цепочке работ ту же степень защиты, которую ранее применяли по каждой из работ в отдельности. Вы извлекаете квадратный корень из суммы квадратов величин D. Результат всегда будет меньше простой суммы всех D.

Рассмотрим для примера цепочку из четырех операций длительностью две недели каждая. Две недели — результат обычной оценки с перестраховкой, то есть с высокой вероятностью. Тогда оценка с 50%-ной вероятностью даст нам длительность каждой операции, равную одной неделе. Следовательно, разница D между этими оценками равна единице.

Длина критического пути составит восемь недель. При этом длительность операций в критической цепи равняется четырем неделям. Раз D равно единице, то и D в квадрате равно единице. Сумма квадратов D будет равна четырем, а корень квадратный из этой суммы — двум. Добавив буфер величиной две недели к критической цепи длиной четыре недели, получим общую длительность проекта, равной шести неделям (длина критического пути была бы восемь). В этом случае метод извлечения квадратного корня из суммы квадратов D даст тот же результат, что и упрощенный метод Голдратта. Это справедливо для любой цепочки из четырех равновеликих операций, где D равняется половине длительности операции. На практике такое встречается не часто.

Определение размера буферов: проектного и на слияние путей

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

Метод 1: 50% цепи. Необходимо сложить длительность всех операций цепи и разделить пополам — это и будет размер буфера. Считать пробелы между операциями не следует. Если цепочка, сливающаяся с критической, разветвляется, учитывайте только самую длинную последовательность.

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

Метод 2: квадратный корень суммы квадратов (КСК, SSQ — Square Root of the Sum of the Squares). В методе КСК используется информация о двух длительностях каждой операции в цепи — наиболее вероятной и средней. Размер буфера находится как квадратный корень из суммы квадратов разностей двух длительностей каждой операции. Как и в методе 1, в разветвляющейся и впадающей в критическую цепь последовательности работ учитывайте только самую длинную цепочку.

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

Метод 3: задержки плюс КСК. Это комбинация двух предыдущих методов. Итоговый буфер состоит из двух частей: фиксированной части (для компенсации действия вариабельности, вызванной особыми причинами) и части, вычисляемой методом КСК (для защиты от общих причин вариабельности). Фиксированная часть обычно будет намного меньше половины длины цепи, к которой добавляется буфер. В табл. 1 содержатся некоторые рекомендации для определения фиксированной части буферов времени и затрат. Результаты разных типов задержек суммировать необязательно. Чтобы подобрать правильную величину на компенсацию задержек, руководствуйтесь своим опытом работы в проектах.

Дополнительные рекомендации. Следующие советы помогут вам организовать эффективный буфер для вашего проекта.

1. Старайтесь, чтобы в критической цепи было как минимум десять операций. Объяснение: чем больше элементов в цепи, тем эффективнее действуют правило суммы квадратов и центральная предельная теорема.

Таблица 1. Рекомендации по определению размера фиксированной части буфера

Причина задержки

Доля в буфере времени

Доля в буфере затрат

Невыполнение необходимых действий

Соразмерная с последствиями для бюджета

5–10%

Слияние путей (более 5 параллельных цепочек)

До 20%

Нулевая

Ошибки

5–20%

5–20%

Особые причины вариабельности

0–30%

0–30%

Непредоставление информации о необходимых переделках

0–20%

Покрывается компенсацией на ошибки

2. Не допускайте, чтобы длительность отдельной операции была более 20% общей длительности работ цепи. Объяснение: неопределенность одной долгой операции будет оказывать воздействие на всю цепочку. Уменьшаются шансы того, что при выполнении других операций можно будет компенсировать перерасход времени на длинную.

3. Следите, чтобы проектный буфер был не менее 25% от длительности критической цепи. Объяснение: когда в цепочке есть несколько операций приблизительно одинаковой длительности, при расчете величина буфера, то есть степень защиты, может оказаться заниженной.

Границы принятия решений по буферу

Как только показатель расходования буфера переходит красную границу, необходимо восполнить запасы в буфере. Иначе резерва может не хватить на оставшиеся до конца проекта операции, и тогда проект будет завершен с перерасходом буфера (растратой более 100% запасов), то есть с опозданием.

Метод критической цепи предусматривает установку контрольных отметок для начала разработки и активации планов действия. Смысл этих отметок — минимизировать возможность «ложной тревоги» и обеспечить готовность к действию. Если установить слишком низкую желтую границу (сигнал к планированию), нежелательных последствий практически не будет. Однако в установлении чересчур низкой красной границы (сигнал к действию), влекущей совершение ненужных несвоевременных действий, кроется большая угроза для проекта. Происходящие в проекте изменения, в том числе и мероприятия по контролю, могут вызвать путаницу и отсрочить завершение проекта.

Необходимо регулярно отслеживать состояние буфера. Такая возможность предусмотрена в большинстве специализированных программ по ССРМ. И во всех программных продуктах заложены критерии оценки состояния буфера, варьирующиеся в зависимости от длины критической цепи. Их принято называть «графиком температур» (рис. 16). Идея в том, что пересечение границы между желтой и красной зонами должно служить сигналом к действию, то есть к пополнению буфера, величина которого стала недостаточной для оставшихся проектных работ. Для этого по мере выполнения проекта необходимо постоянно рассчитывать текущие размеры буфера. В компьютерных программах по ССРМ эта процедура заменяется линейным перерасчетом, и иногда пользователи могут сами передвигать границы принятия решений. Типичные значения граничных точек приведены в табл. 2.


Рис. 16. Отслеживание состояния буфера по «графику температур»

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

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

Таблица 2. Значения граничных точек принятия решений по буферу

Прохождение критической цепи (%)

Расход буфера (%)
Точка перехода из зеленой зоны в желтую (%)

Точка перехода из желтой зоны в красную (%)

0

15

30

100

17

90

Ресурсные буферы

Голдратт рекомендует пользоваться ресурсным буфером, который поможет исполнителям операций критической цепи понять, когда от них потребуется приступить к работе. Поскольку в ССРМ мы не назначаем дат на отдельные работы, а исполнителям иногда нужно планировать свою деятельность заранее (например, не брать отпуск, если близится задание из критической цепи), возрастает роль процесса оповещения. Теперь-то мы с вами понимаем, что даты, которые проставляются в планах проектов по каждой операции, имеют нулевую вероятность, в то же время людям нужно на что-то ориентироваться. Поэтому возникает необходимость в ресурсном буфере.

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

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

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

Определение размера буфера на непредвиденные расходы

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

При определении размера буфера на затраты нужно учитывать несколько факторов. Во-первых, вы должны заложить в проекте специальный бюджет, использование которого напрямую связано с состоянием временных буферов. Так, сдвиг начала работ напрямую на объеме затрат не скажется, а вот если исполнителю для завершения задания потребуется дополнительное время, расходы вырастут. В буфер на дополнительные затраты нужно закладывать как минимум 50% размера временного буфера в соответствующем денежном эквиваленте (по ставке за работы на цепи, которую защищает буфер). Или же, используя один из методов определения буфера времени, например «погрешность плюс КСК», изъять часть сумм, запланированных на каждую операцию, и буфер сформировать из изъятых долей. Тогда буфер на затраты будет равняться сумме квадратного корня из суммы квадратов изъятых из каждой операции частей и фиксированной величины затрат на компенсацию неожиданных сбоев. Не забывайте, что при использовании данного метода применительно к буферу на непредвиденные расходы действуют все те же правила, что и в случае с буфером времени. Например, если в цепочке много равновеликих операций, вычисленный данным методом буфер будет иметь величину меньше, чем при применении других методов.

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

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

Никогда не приступайте к работе, если величина буфера на затраты меньше 10% расходной части бюджета проекта. Дело в том, что в оценках затрат всегда есть погрешность. Непременно что-то не учли или недооценили. В ходе анализа проекта обычно устраняются все «излишние» статьи расходов и корректируются нереалистично большие оценочные величины затрат по отдельным операциям.

При определении доли буфера для компенсации неопределенности не забывайте, что редко когда удается испытать преимущество досрочного выполнения пакета работ (при использовании средней оценки), однако следует учитывать статистическую комбинацию положительных вариаций. Если один из пакетов работ оказывает доминирующее влияние на степень неопределенности и уровень затрат по проекту, именно он должен учитываться при статистическом расчете размера буфера на непредвиденные расходы. Если у вас несколько одинаковых пакетов работ, то статистическую составляющую буфера на затраты можно вычислить методом КСК.

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

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

Способы создания плана

Существует целый ряд способов разработки и управления планом проекта методом критической цепи, успешно применяющихся на практике. Изначально по всем проектам ССРМ использовался ручной способ. Не забывайте, что мы призываем избегать чрезмерного количества операций в плане критической цепи. То есть план критической цепи должен включать не более пары сотен операций. А лучше всего — менее ста.

Ручной способ

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

1. Заготовьте клеящийся листочек для каждой операции, написав на нем идентификационный номер операции, ее название, длительность (уже сокращенную вдвое) и исполнителя/ресурс, от которого зависит длительность. Такой ресурс можно обозначать цветом. На левой части листа укажите номера работ, результаты которых служат для данной операции исходным материалом.

2. Расположите листки на какой-нибудь поверхности в соответствии с логикой и ориентировочными сроками выполнения работ. Мы получили диаграмму PERT (или логическую диаграмму) с сегментацией по времени.

3. Устраните конфликты ресурсов.

4. Найдите критическую цепь.

5. Добавьте листки с обозначением буферов на слияние путей и проектного буфера.

6. Вычислите размер буферов.

7. Рассчитайте критическую цепь методом «прямого прохождения». Начиная с самой первой операции, в нижнем левом углу листков записывайте дату начала каждой операции, а в нижнем правом — дату окончания (равняется дате начала плюс длительность работ).

8. Методом «обратного прохождения», начиная от точки слияния, рассчитайте последовательности работ, «впадающие» в критическую цепь.

9. Устраните все оставшиеся конфликты ресурсов и проверьте результаты предыдущих вычислений.

Эта процедура удобна для планирования проектов, в которых менее 20 операций. Для более крупных проектов применять ее сложнее, так как требуется много места.

Метод можно модифицировать, используя цветную бумагу и вырезая прямоугольники разной длины. Длина будет соответствовать длительности операции, а цвет — типу ресурса, необходимого для ее выполнения. Это упростит процесс снятия конфликта за ресурсы и последующие вычисления. Конечно, потребуется чуть больше подготовительных работ. Этот метод успешно применялся даже на крупных проектах из 500 операций и более. Для составления расписания также можно воспользоваться магнитной доской или PowerPoint или Excel.

Программы с алгоритмом критического пути

Чтобы планировать и управлять проектом по методу критической цепи, можно воспользоваться компьютерными программами, разработанными для вычисления критического пути. Большинство программных продуктов предоставляет достаточно возможностей как для выравнивания ресурсов, так и для выстраивания методом «поздний старт» сливающихся с критической цепью последовательностей работ. Начинаем мы всегда с одного и того же: рисуем логику проекта, используя сокращенные длительности операций и данные о необходимых ресурсах. Обязательно проверьте сделанные установки (в зависимости от программы): во-первых, удостоверьтесь, что длительность операций — величина фиксированная и, во-вторых, что каждая цепочка работ строится по типу «поздний старт». В некоторых программах можно установить эти параметры сразу на весь проект. А иногда требуется программировать «поздний старт» на первую операцию каждой цепочки. Поэкспериментируйте, чтобы понять особенности программы, с которой работаете, и знать, какие установки в ней используются при выравнивании ресурсов.

Возможность задания алгоритма для выравнивания ресурсов заложена практически во все программы СРМ. Проверьте. Метод критической цепи не завязан на тот или иной алгоритм. Единственное требование — в готовом плане должны быть устранены все конфликты за ресурсы данного проекта. Обычно при желании можно выравнять ресурсы вручную и внести в программу финальный вариант распределения ресурсов по операциям.

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

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

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

1. Критическая цепь должна состоять как минимум из 10 операций (для средних по размеру проектов).

2. Величина операций критической цепи не должна быть более 20% цепи или 50% проектного буфера.

Далее необходимо добавить буферы на слияние путей и проектный буфер. Они обозначаются как обычные операции, только без указания ресурсов. Не забудьте пометить, что буфер на слияние путей является предшественником для определенной операции критической цепи, установите соответствующую связь. Затем нужно перепроверить результаты выравнивания ресурсов и произвести итоговые корректировки. (После добавления буферов на слияние путей обычно нужно повторно выравнять ресурсы.)

Программы, созданные для работы с критическими цепями, автоматически выполняют практически всю процедуру, описанную ранее. Самые доступные из них либо интегрировали Microsoft Project в себя, либо являются дополнительным модулем к нему.

Внешние ограничения

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

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

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

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

Вряд ли вы пойдете на шаг четвертый и решите полностью избавиться от внешнего ограничения.

Сокращение запланированного времени (или навязанная дата окончания работ)

У проджект-менеджеров часто требуют сократить время выполнения проекта. Если проект ведется методом критической цепи, велик соблазн выполнить это требование за счет проектного буфера. Казалось бы, вполне безболезненно можно урезать этот сочный кусок времени, сдвинув тем самым дату завершения проекта. На длительность проектных работ это никак не повлияет. Вы просто-напросто урезаете шансы на своевременное выполнение проекта и порождаете неадекватные значения контрольных точек принятия решения по буферу. А неадекватные границы принятия решения пагубно влияют на качество работ. А потому не трогайте проектный буфер!

Ускорение работ без влияния на уровень затрат (ослабить ограничение и подчинить ему все)

Есть несколько хороших способов сократить время выполнения проекта. Самые лучшие из них не вызывают роста расходов. Опишем два основных способа. Первый: привлечь дополнительные ресурсы на те участки работ, длительность которых увеличилась после выравнивания ресурсов. Второй: изучить сами работы на предмет выявления возможности их разбиения (то есть уменьшения размера группы работ).

Для достижения хороших результатов и сокращения времени проекта дополнительная рабочая сила может понадобиться на совсем небольшой период. Если есть такая возможность, длительность проекта уменьшится без дополнительных затрат. Ведь объем работ в человеко-днях остается неизменным. Если при этом сократится величина критической цепи, уменьшится также и проектный буфер.

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

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

Если речь идет о больших объемах продукции, можно запланировать их производство как повторяющийся процесс и применить к нему дополнительный метод отслеживания и контроля. В плане критической цепи такой процесс будет изображен как одна операция (например, «обработка 37 изделий»). Есть эффективный метод, объединяющий в себе черты процесса контроля операционной деятельности и управления проектом. Это метод «сбалансированного производства» (line-of-balance). Он предусматривает планирование того момента, когда каждая деталь должна попасть в производственную линию, таким образом, на каждый этап в определенное время поступает определенное количество деталей (движение деталей сбалансировано). Затем регулярно сравнивают фактическое и запланированное количество деталей на каждом этапе.

Ускорение работ с увеличением затрат на сырье (устранение ограничения)

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

По теории ограничений для принятия решения о незапланированных вложениях необходимо сопоставить уровень дополнительных операционных расходов с производительностью по денежному потоку — Т проекта. Производительность Т (в день), связанная с сокращением длительности проектных работ, равна для вас ценности всего проекта (в день). Сравните величину, на которую возрастут затраты на сырье, с тем, на сколько увеличится Т при ускорении работ. Если рост производительности всей системы по денежному потоку Т после завершения проекта превосходит рост затрат за один и тот же интервал времени, принимайте положительное решение и устраняйте ограничение. Как правило, Т увеличивается значительней, чем расходы. На двух проектах, с которыми я недавно работал, ускорение всего на один день принесло бы, соответственно, дополнительных $10 млн и $17 млн. Тут уж окупятся любые затраты.

Планирование ресурсов предприятия

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

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


1 Имеется в виду математическая дисперсия распределения.