89
пользовательских требований. Такой же подход можно использовать по отношению к средствам
и технологии: существуют средства, которые «необходимо использовать», «следует
использовать», и огромное разнообразие средств, которые «можно использовать». Этот подход
разумно применить в самом начале проекта, и тому есть ряд причин.
Наиболее очевидная причина лежит в плоскости экономики. Даже если средства хорошо
работают и все знакомы с ними, их приобретение может стоить слишком дорого. Кроме того, на
их получение может уйти слишком много времени - процесс приобретения в условиях обычной
корпоративной бюрократии может завершиться уже после окончания проекта. Для большинства
безнадежных проектов следует сосредоточиться на небольшом количестве критически важных
средств, и затем убедить
высшее руководство (или соответствующую службу) в необходимости их
приобретения.
С другой стороны, предположим, что команда работает в крупной корпорации, имеющей в
своем распоряжении сотни различных средств, приобретавшихся в течение целого ряда лет.
Следует ли их все использовать? Конечно, нет! Даже если все они работают, те умственные
усилия, которые необходимо приложить, чтобы
запомнить, как ими пользоваться, а также
дополнительные усилия для обеспечения их совместной работы обычно сводят на нет всю выгоду.
Можно провести аналогию с командой альпинистов, которые собираются штурмовать вершину и
пытаются решить, какое снаряжение им использовать. Существуют вещи, которые необходимы
(палатки, питьевая вода и т.д.); и, если маршрут не
слишком сложный, можно взять с собой
некоторые новомодные приспособления, о которых они прочли в своем любимом альпинистском
журнале. Однако, если они собираются штурмовать Эверест, им не обойтись без помощи ослов-
носильщиков или местных жителей, иначе они будут не в состоянии тащить на спине по 300
фунтов снаряжения на человека.
Команда безнадежного
проекта должна самостоятельно, независимо от принятых в
организации стандартов, решить, какие средства являются необходимыми, а без каких можно
обойтись. Меня очень удивил подход ряда организаций, в которых я побывал, к безнадежным
проектам, когда менеджер проекта с грустью говорил, что все проекты заставляют разрабатывать
на КОБОЛе (или, в других организациях, в таком
качестве может фигурировать Visual Basic или
Oracle или что-нибудь еще ...), даже если эта технология совершенно не подходит для его проекта.
Чепуха! Пошлите их подальше! Используйте те средства и технологии, в которых есть смысл! В
противном случае это можно сравнить с ситуацией, когда кто-либо говорит руководителю
команды альпинистов, собирающейся штурмовать Эверест: «Наш
комитет решил, что ваша
проектная команда должна взять подробную схему Нью-Йоркского метро, поскольку в
большинстве проектов ее сочли очень полезной». (Иногда в это дело вмешивается своими
грязными руками политика. В прошлом году мне приходилось видеть несчастных сотрудников
IBM, вынужденных использовать Lotus Freelance вместо PowerPoint и Lotus 1-2-3 вместо Excel,
поскольку у них не было никакого желания
ввязываться в противном случае в политические
баталии. Аналогично, я не уверен, что хотел бы оказаться в проектной команде Microsoft, которая
решила бы примерно в августе 1996 года использовать Netscape Navigator вместо Internet Explorer.)
Я думаю, очень важно, чтобы участники команды пришли к единому мнению относительно
используемых в проекте средств, иначе наступит хаос. Разумеется, это утверждение не
следует
понимать слишком буквально; оно не означает, что все участники команды должны обязательно
использовать один и тот же текстовый процессор для подготовки своих документов, однако,
скорее всего, важно использовать один и тот же компилятор С++. Одна из проблем, связанных с
безнадежными проектами, заключается в том, что разработчики ПО считают допустимой полную
анархию на индивидуальном уровне (например, если им хочется использовать никому не
известный компилятор С++, который они переписали с университетского Web-сайта, то они
считают, что это их неотъемлемое право). Это совсем не так: неотъемлемым правом обладает
команда, и менеджер проекта должен неуклонно проводить его в жизнь во всех ситуациях, когда
несовместимые
средства могут привести к значительным разногласиям.
Это означает, что, пока участники команды не поработают вместе на нескольких
безнадежных проектах, они не придут к единому мнению относительно «минимального» набора
средств. После того, как достигнут консенсус по поводу набора средств, команда может обсудить