В самом деле, даже если нам точно известно, когда произойдет кризис, все равно начинаются безнадежные проекты, поскольку руководство склонно отмахиваться от проблем до самого последнего момента. Как еще можно объяснить панику, охватившую многие IS/IT-организации, когда на горизонте замаячила проблема 2000 года? Мы давно знали о наступлении 1 января 2000 года, и знали, что этот конечный срок никак нельзя отодвинуть подальше. Мы точно знали, в чем заключается существо проблемы и что для ее решения не требуются никакие новомодные технологии вроде Java. Я работаю над этой книгой летом 1996 года и знаю наверняка, что сейчас формируется очередная команда для безнадежного проекта, связанного с решением проблемы 2000 года, и еще более безумные проекты будут начаты в 1997, 1998 и 1999 году.
В любом случае, непредвиденный кризис может повлечь за собой самые разнообразные безнадежные проекты. В худшем случае конечный срок таких проектов - «вчера, если не раньше», поскольку кризис уже наступил, и ситуация будет продолжать ухудшаться до тех пор, пока внедрение новой системы не позволит решить проблемы. В других случаях, например, при неожиданном увольнении ключевых разработчиков, «нормальный» в обычных условиях проект превращается в безнадежный из-за нехватки рабочей силы и потери ключевых интеллектуальных ресурсов.
По различным причинам, такая ситуация приводит к наихудшим разновидностям безнадежных проектов, поскольку заранее предвосхитить ее невозможно. Если к тому же еще имеет место синдром «Морского Корпуса», о котором говорилось выше, такое положение вообще не должно никого удивлять. С самого первого дня проекта все знают, что он, также как и все предыдущие проекты, потребует экстраординарных усилий. Что касается начинающих компаний, так они даже испытывают особенное волнение и возбуждение, начиная безнадежный проект; ведь его успех сделает всех сказочно богатыми.
1.4 Почему люди участвуют в безнадежных проектах?
В предыдущем разделе шла речь о том, что организации начинают и/или допускают существование безнадежных проектов по вполне определенным причинам. Мы можем с ними соглашаться или не соглашаться, можем сочувствовать тем, кого постиг неожиданный кризис, но, в конце концов, должны принять их безоговорочно.
Однако это вовсе не означает, что мы как индивидуумы обязаны лично участвовать в безнадежных проектах. В своей книге я в основном исхожу из предположения, что вы будете участвовать в безнадежном проекте, хотя в дальнейшем я советую в определенных обстоятельствах отказаться от участия. И в большинстве случаев это лучше всего сделать в самом начале проекта. Когда вам говорят, что вас решили включить в такой проект в качестве менеджера или технического специалиста, следовало бы ответить: «Благодарю покорно! Я лучше постою в стороне». Если же для вашей внутрикорпоративной культуры такой ответ неприемлем, вы почти всегда оставляете за собой право сказать: «Благодарю покорно! Я лучше уволюсь».
Очевидно, некоторые разработчики и, вероятно, еще в большей степени менеджеры возразят, что такой вариант им практически не подходит. Далее мы вкратце поговорим на эту тему, а сейчас важно отметить, что это одна из нескольких возможных «негативных» причин участия в безнадежном проекте; в этом нет ничего особенно хорошего, но, возможно, альтернативы еще хуже.
С другой стороны, некоторые разработчики (и менеджеры) с радостью соглашаются участвовать в таких проектах; спрашивается, почему же (не считая наивных оптимистов) нормальный здравомыслящий человек добровольно соглашается участвовать в проекте, где ему, скорее всего, придется работать 14 часов в день, 7 дней в неделю и год или два без отпуска?
Наиболее распространенные причины приведены в табл. 1.2, ниже они будут подробно обсуждаться.
Таблица 1.2 Причины участия в безнадежных проектах
Риск высок, но вознаграждение тоже |
Синдром покорителей Эвереста |
Удовольствие «вкалывать» среди других таких же энтузиастов |
Наивность и оптимизм молодости |
Альтернатива - безработица |
Возможность будущей карьеры |
Альтернатива - банкротство или прочие разные бедствия |
Возможность победить бюрократию |
Месть |
Этот список далеко не полон. Kevin Huigens на одном из недавних совещаний предложил своей проектной команде устроить небольшой мозговой штурм, в ходе которого они попытались ответить на три моих вопроса:
1. Почему трезвомыслящие люди соглашаются участвовать в безнадежном проекте?
2. Если ваш коллега собирается стать менеджером безнадежного проекта, что бы вы посоветовали ему сделать?
3. Наоборот, что бы вы посоветовали ему не делать ни при каких обстоятельствах?
В результате были получены следующие ответы:
1. На первый вопрос:
· каждый хочет быть нужным;
· ожидаемые возможности;
· ожидаемые доходы;
· не могу позволить себе потерять работу;
· приглашение со стороны возглавить проект;
· желание преодолеть недоверие к себе;
· возможность поработать с новой технологией, невзирая на возможный провал проекта;
· обучение новой технологии в процессе работы;
· вечный оптимизм;
· вызов;
· явная глупость;
· шанс самоутвердиться;
· работу надо выполнять;
· это всего лишь проект;
· мой друг руководит проектом;
· мой брат руководит проектом (это еще важнее, чем друг);
· мой босс сказал, что так надо;
· я не мыслю себе другой жизни;
· лучшего дела не существует;
· получение дивидендов по акциям;
· ожидание повышения зарплаты по сравнению с имеющейся;
· любовь слепа;
· формирование послужного списка;
· безразличие;
· чувство товарищества;
· ожидание, что проект продлится недолго.
2. На второй вопрос:
· оставь меня в покое;
· спасайся!
· будь внимателен;
· спроси: «Что я буду с этого иметь?»;
· перед началом проекта как следует отдохни;
· убедись, что можно полностью доверять всем своим сотрудникам;
· помни, что разработчики тебе не враги, враги - менеджеры;
· общение, общение и еще раз общение;
· не раздувай проектную команду;
· нанимай молодых специалистов;
· береги свою команду;
· сделай так, чтобы к началу тестирования план тестирования был уже готов;
· сделай так, чтобы каждый хорошо понимал, чем он занимается;
· поддерживай документацию в актуальном состоянии;
· каждый должен иметь доступ к документации;
· проводи регулярно еженедельные совещания для обсуждения хода разработки;
· проводи совещания ежедневно;
· держи под рукой побольше хорошего кофе;
· команда всегда должна быть в хорошем настроении;
· обеспечь команду всем необходимым.
3. На третий вопрос:
· не планируй бракосочетание;
· не оставляй проблем, за которые непонятно кто отвечает;
· не позволяй слишком беспечно относиться к внесению изменений в проект;
· не думай, что первая версия будет и последней;
· не раздражайся и не злись;
· не теряй самообладания;
· не позволяй другим терять самообладание;
· не принимай слишком близко к сердцу успех или неудачу проекта;
· не слишком полагайся только на одного человека из команды;
· не относись слишком несерьезно к распределению ресурсов;
· не думай, что команда способна понять весь проект в целом;
· если тебе что-то непонятно, не бойся спрашивать;
· не начинай проект сам;
· не начинай проект, если не хватает финансов для его завершения;
· не соглашайся на нереальные сроки;
· не бойся уйти из проекта, если видишь, что руководство ведет себя неразумно;
· не будь слишком строг к низкооплачиваемым сотрудникам;
· не затягивай совещания больше, чем на 1,5 часа;
· не забывай о личной жизни;
· не бойся требовать от руководства то, что тебе необходимо;
· не бойся начальства;
· не забывай обновлять свой послужной список;
· не молись на так называемых экспертов;
· не забывай, что руководство ничего не смыслит в разработке ПО.
Естественно, все сказанное предполагает, что вы заранее знаете о безнадежности проекта. Как отмечает эксперт Dave Kleist, это не так просто, когда вас интервьюируют по поводу новой работы:
... вряд ли можно где-нибудь увидеть объявление о найме для участия в безнадежном проекте. Какой смысл спрашивать: «Хотите ли вы работать сверхурочно без какой-либо прибавки к зарплате?»... На самом деле, безнадежные проекты редко объявляются таковыми во всеуслышание, и вам придется достаточно долго проработать в нанявшей вас компании, прежде чем удастся обнаружить, что она обладает склонностью плодить безнадежные проекты.
И, как отмечает Steve Benting (отвечая на те же три вопроса), иногда приходится сталкиваться с неприятными сюрпризами:
1. Первое время проект кажется довольно хорошо продуманным. У проекта есть лидер, есть реально заинтересованное лицо в руководстве, план выглядит достаточно солидным, а участники проекта - достаточно квалифицированными. В таком проекте действительно хочется работать. Но в один прекрасный момент все летит кувырком, потому что руководство увлеклось политическими играми, план основывался, как оказалось, на неверных предпосылках, и один или два ключевых разработчика вдруг закапризничали. Как ни старайся, невозможно полностью застраховаться от ошибок. Не хочется верить, что такое может повториться сначала. (Лично я участвовал в одном крупном проекте, но он закончился весьма неудачно. Срок завершения был перенесен с октября 1994 г. на март 1995 г. Я работал над планом действий в непредвиденных ситуациях до самого конца и ушел вслед за большинством участников проекта в январе 1995 г. Новая система так до сих пор и не разработана. В настоящий момент компания пытается приобрести другую систему, которая не обладает и половиной требуемой первоначально функциональности.)