Фредерик П. Брукс

Вид материалаДокументы
Глава 14. Назревание катастрофы
Вехи или помехи?
"Другая часть тоже опаздывает"
Подобный материал:
1   ...   24   25   26   27   28   29   30   31   ...   48

Глава 14. Назревание катастрофы


Никто не любит приносящего дурные вести.

СОФОКА

Как оказывается, что проект запаздывает на год?

Сначала запаздывает на один день.

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

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

Вехи или помехи?


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

Для выбора всех вех есть только одно пригодное правило. Вехами должныслужить конкретные особые события, которые можно идентифицировать с полнойопределенностью. В качестве отрицательных примеров отметим, что написаниепрограммы "закончено на 90 процентов" в течение половины всего временикодирования. Отладка "закончена на 99 процентов" почти всегда. "Планированиезавершено" - событие, которое можно объявить почти произвольно.1

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

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

Два интересных исследования поведения правительственных подрядчиков попроведению оценок в крупномасштабных исследовательских проектах показали:

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

2. После начала работы завышенные изначально оценки постоянноуменьшаются по мере продвижения.

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

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

"Другая часть тоже опаздывает"


Отставание от графика на один день - ну и что? Кого волнует отставаниена один день? Позже нагоним. Другая часть, в которую входит наша, тожеотстает на один день.

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

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

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

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

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