75
новый и незнакомый процесс, то этот процесс - например, управление требованиями - может
оказаться последней каплей, переполнившей чашу терпения.
В самом деле, у меня нет для этой дилеммы другого решения, кроме как надеяться, что
проектная команда все же сможет справиться с одной новой идеей среди прочих своих средств и
процессов. Однако, меня охватывает
гораздо большее беспокойство, когда я вижу команды,
которые предпринимают свой первый безнадежный проект с решением (или, что более вероятно, с
указанием, навязанным им блюстителями методологии), обязывающим их использовать
формальные процессы, например, те, которые регламентируются SEI-CMM или ISO-9000.
Формальные процессы - это великая вещь, если вы хорошо знаете, что делаете, и если вы уже
использовали их прежде. Однако, реальность такова, что такие формальные процессы, как
правило, ранее вообще не использовались в организации, и безнадежный проект представляет
собой пилотный проект для апробации структурного анализа или ISO-9000.
Какое безумие! Это действительно последняя капля, которая переполнит чашу терпения; в
конце концов типичный безнадежный проект пытается выполнить то, что раньше
никогда не
делалось, и (несмотря на мои предостережения в главе 4) команда нередко состоит из людей,
которые никогда раньше не работали вместе. Так мало того, они еще вынуждены осваивать
использование незнакомой методологии или процесса, не будучи уверенными в том, что это им
необходимо в первую очередь, и, напротив, будучи убежденными, что
это только затормозит их
работу. Чему же тогда удивляются блюстители методологии, когда они в подобных
обстоятельствах сталкиваются с сопротивлением? Консультант Doug Scott недавно привел мне
пример такой ситуации:
В одном проекте, насколько мне известно, потребовался диаграммер для ERD, и они приобрели
Excelerator. Обнаружив, что он поддерживает методологию SSADM, они внедрили ее без какого-либо
обучения персонала, после чего обнаружили, что темп работы на проектом значительно снизился
(фактически, работа просто остановилась), в то время как каждый был занят чтением руководств,
освоением средств
и решением проблемы, что делать дальше (или переделывать то, что было сделано
в «неправильном» порядке). Почти идеальный сценарий для тех, кто наблюдает за безнадежными
проектами.
Чтобы достичь успеха, проектная команда должна придти к соглашению, какие процессы
будут формализованы - например, контроль исходного кода, управление изменениями и (хорошо
бы) управление требованиями - и какие будут выполняться на полностью неформальной основе
(например, проектирование пользовательского интерфейса). Бессмысленно навязывать какой-либо
процесс в обязательном порядке, если никто не собирается ему следовать
. Блюстители
методологии просто зря теряют время, пытаясь сделать это, а в результате, что гораздо хуже,
может напрасно потерять время проектная команда (во многих случаях эти деятели не совершают
ничего полезного, кроме суеты вокруг департамента информационных технологий и надоедания и
без того уставшей от всего проектной команде).
Это означает, что менеджер
безнадежного проекта должен безоговорочно настаивать на
процессах, которые он считает принципиально важными - например: «Каждый, кто посмеет внести
изменения в исходный код, минуя процесс управления изменениями, будет немедленно уволен!»
Или проектная команда должна сама сознательно пойти на внедрение процесса, понимая, что это
позволит сократить затраты. Такое может скорее произойти в том случае
, если участники команды
ранее уже работали вместе и приобрели общий опыт использования различных процессов
создания ПО; и наоборот, это маловероятно, если только один из участников команды встанет и
скажет: «Я глубоко уверен, что структурный анализ является критически важным для успеха
нашего проекта», в то время как другие и понятия не
имеют, о чем это он говорит. Еще одно
утверждение, следующее из этого правила: попытка внедрить в безнадежном проекте новый,
незнакомый процесс может закончиться катастрофически, даже если команда верит, что он может
помочь в работе. Проблемы с освоением, неизбежная путаница и споры по поводу деталей
процесса обычно сводят на нет все выгоды
.
Это означает, что такие формальные подходы, как SEI-CMM, ISO-9000 или внедрение новых
методологий анализа/проектирования должны иметь место где-нибудь за пределами безнадежного