Вовремя и в рамках бюджета - Лоуренс Лич
Шрифт:
Интервал:
Закладка:
На рис. 6.10 дана диаграмма проектных работ следующего, более сложного примера. Верхняя строка в каждом квадратике — идентификатор операции. Цвет обозначает необходимый тип ресурса. Цифры в нижней строке показывают длительность операции в днях. Длительность взята с 50%-ной вероятностью.
Необходимо составить план этого проекта методом критической цепи.
Первый шаг — начертить график работ. На рис. 6.11 работы представлены в виде диаграммы Гантта, составленной средствами MS Project. Посмотрите диаграмму слева направо и обратите внимание на пересечение операций А-1 и В-2, где исполнителем назначен «пурпурный». Также пересекаются операции В-3, С-3 и D-3, у которых ресурс «синий». Можно легко заметить, что критический путь в этой диаграмме — верхняя цепочка работ, так как в ней нет никаких разрывов.
Программа MS Project позволяет снять конфликт путем выравнивания ресурсов, как продемонстрировано на рис. 6.12. Обратите внимание, теперь почти во всех цепочках операций есть пробелы, и поэтому считать их критическим путем нельзя.
Теперь необходимо найти критическую цепь. Рис. 6.13 показывает критическую цепь, определенную при помощи программы ССРМ + . Как вы видите, критическая цепь несколько раз «перепрыгивает» с одной логической последовательности операций на другую. При этом, если смотреть с конца проекта, видно, что на данный момент в критической цепи нет пробелов, хотя они есть почти во всех логических цепочках работ.
И наконец, завершаем создание плана, добавив проектный буфер и буферы на слияние путей. На рис. 6.14 приведен готовый план. В данном случае размер буферов мы находили как половину от длительности цепочки работ, после которой добавляется буфер. В нашем проекте потребовалось три буфера на слияние путей.
6.3.3. СЛОЖНОЕ УПРАЖНЕНИЕВзяв за основу данные рисунка 6.15, постройте план проекта методом критической цепи со всеми соответствующими буферами. Как и прежде, первая строка показывает номер операции. Вторая — тип ресурса. Третья — длительность операции в днях (уже сокращенная). (Чтобы проверить приблизительную длительность расписания, которое должно у вас получиться, смотрите последний вопрос в разделе 6.10.) Учтите: приемлемый вариант критической цепи может отличаться от критического пути лишь на небольшой процент от величины буфера проекта.
6.4. Определение размера буфера и нахождение границ принятия решений
Заложенный в план размер буфера определяет общую длительность вашего проекта и степень защиты от непредвиденных обстоятельств. Границы принятия решений по буферу задают частоту, с которой вы будете предпринимать корректирующие действия. Обычно границы устанавливаются исходя из процента расходования буфера, поэтому размер буфера фактически влияет и на чувствительность порогов принятия решений по проекту.
6.4.1. СТАТИСТИЧЕСКОЕ ОБОСНОВАНИЕРекомендации по вычислению размера буфера основаны на законах статистики. Это относительно простые правила, имеющие под собой теоретическую подоплеку. Доктор Элия Голдратт советует задавать размер буферов (проектного и на слияние путей) как половину от длительности пути, к которому добавляется буфер. Буферы призваны защищать проект от неопределенности в выполнении цепочек работ. При подсчетах не нужно учитывать пробелы в последовательностях операций.
Метод Голдратта основан на правиле статистики, описывающем сложение неопределенностей независимых событий. Правило гласит, что неопределенность суммы событий намного меньше, чем сумма неопределенностей каждого события. Это удобно, так как можно ожидать проявления как отрицательной, так и положительной вариабельности. Необходимо использовать рекомендацию Голдратта по определению размера буфера только в совокупности с правилом сокращения вдвое оценочной длительности всех операций проекта. Чтобы дать математическое обоснование методу Голдратта, необходимо сделать ряд дополнительных оговорок, к этому мы вернемся позднее. Как правило, следуя рекомендации Голдрат-та, вы получите больший размер буфера, чем пользуясь другим, описанным далее методом. Это оправданно, если вы только начинаете работать с критической цепью и стремитесь к упрощению процесса.
При определении размера буфера работают два правила статистики. Первое — правило сложения вариабельности. Оно гласит, что для независимых событий вариабельность15 распределения суммы событий равняется сумме вариабельностей распределений отдельных событий. Вариабельность обычно в литературе по статистике обозначается как о или s2 и является способом описания статистических колебаний в распределениях любого типа.
Разброс распределения пропорционален стандартному отклонению s2, или о. Таким образом, разброс, или протяженность распределения суммы (в нашем случае это буфер всего проекта), равняется квадратному корню от суммы квадратов отдельных распределений. (Внимание: если вы не любитель статистики и не знакомы с ее законами, не переживайте. Можете спокойно использовать метод критической цепи, руководствуясь простыми рекомендациями Голдратта или процедурой, приведенной ниже. Чтобы теория работала, вовсе не обязательно понимать ее в деталях.)
Есть еще и второе правило статистики, действующее нам на руку при формировании защиты критической цепи от неопределенности. По центральной предельной теореме, распределение выборки элементов из нескольких распределений по мере увеличения размера выборки стремится к нормальному. Это значит, что неопределенность при выполнении ряда операций в цепи имеет симметричное распределение, даже если распределения отдельных операций сильно смещены (например, имеют длинный «хвост» справа). Это снижает вероятность срыва сроков длительных проектов.
Есть очень простой способ использовать знания о вариабельности при определении размеров буферов (проектного и на слияние путей). Для этого необходимо сделать ряд допущений. Зачастую мы почти не располагаем информацией о фактическом распределении времени выполнения проектных работ. (Исключение — стандартные проекты с повторяющимся набором активностей, например строительные, по которым имеется большой массив данных для проведения оценки параметров отдельных операций.) Однако, как правило, мы можем определить границы — максимум и минимум времени, которое может уйти на выполнение работ. Если предположить, что ваш метод оценки дает примерно одинаковые значения максимума и минимума почти по всем проектным работам, можно сказать, что разница D между верхним и нижним пределом кратна стандартному отклонению. Мы можем не знать, идет ли речь о двух или шести стандартных отклонениях, мы просто предположили, что, какова бы ни была величина отклонения, она будет одинакова для всех операций, оценка которых проводилась одним и тем же методом. Тогда, даже не определяя точно верхнюю и нижнюю границы, можно задать размер буфера, который обеспечит цепочке работ ту же степень защиты, которую ранее применяли по каждой из работ в отдельности. Вы извлекаете квадратный корень из суммы квадратов величин D. Результат всегда будет меньше простой суммы всех D.