Путь камикадзе. Как разработчику программного обеспечения выжить в безнадежном проекте - Йордон Эдвард
Шрифт:
Интервал:
Закладка:
Конечно, можно возразить, что в компании с хорошим руководством такие вещи, как возможный уход двух лучших программистов, стараются предвидеть заранее и быть к ним готовыми. И вы не так глупы, чтобы полностью зависеть от единственного поставщика телекоммуникационного оборудования. И руководство должно быть достаточно предусмотрительным, чтобы детально изучить Указ Q. В представлении идеалиста такие кризисы – это результат плохого планирования и плохого руководства; «незапланированный кризис» – это нонсенс.
Может быть, так оно и есть, но на практике становится все труднее и труднее предвидеть и планировать все возможные казусы, которые случаются в мире бизнеса. Хорошо это или плохо, но мы живём в мире хаоса, и безнадёжные проекты – это естественное следствие такого хаоса. В самом деле, даже если мы хорошо представляем себе, что может произойти в будущем в этом хаотическом мире, мы в состоянии отреагировать на это только безнадёжными проектами. Например, каждый, кто живёт поблизости от разлома Сан Андреас в Калифорнии, знает, что там рано или поздно произойдёт крупное землетрясение, но это не остановило начало массы всяких прожектов буквально на следующий день после того, как западная половина штата оказалась немножко поближе к Тихому Океану.
В самом деле, даже если нам точно известно, когда произойдёт кризис, все равно начинаются безнадёжные проекты, поскольку руководство склонно отмахиваться от проблем до самого последнего момента. Как ещё можно объяснить панику, охватившую многие 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. На первый вопрос:
1) каждый хочет быть нужным;
2) ожидаемые возможности;
3) ожидаемые доходы;
4) не могу позволить себе потерять работу;
5) приглашение со стороны возглавить проект;
6) желание преодолеть недоверие к себе;
7) возможность поработать с новой технологией, невзирая на возможный провал проекта;
8) обучение новой технологии в процессе работы;
9) вечный оптимизм;
10) вызов;
11) явная глупость;
12) шанс самоутвердиться;
13) работу надо выполнять;
14) это всего лишь проект;
15) мой друг руководит проектом;
16) мой брат руководит проектом (это ещё важнее, чем друг) ;
17) мой босс сказал, что так надо;
18) я не мыслю себе другой жизни;
19) лучшего дела не существует;
20) получение дивидендов по акциям;
21) ожидание повышения зарплаты по сравнению с имеющейся;
22) любовь слепа;
23) формирование послужного списка;
24) безразличие;
25) чувство товарищества;
26) ожидание, что проект продлится недолго.
2. На второй вопрос:
27) оставь меня в покое;
28) спасайся!
29) будь внимателен;
30) спроси: «Что я буду с этого иметь?»;
31) перед началом проекта как следует отдохни;
32) убедись, что можно полностью доверять всем своим сотрудникам;
33) помни, что разработчики тебе не враги, враги – менеджеры;
34) общение, общение и ещё раз общение;
35) не раздувай проектную команду;
36) нанимай молодых специалистов;
37) береги свою команду;
38) сделай так, чтобы к началу тестирования план тестирования был уже готов;
39) сделай так, чтобы каждый хорошо понимал, чем он занимается;
40) поддерживай документацию в актуальном состоянии;
41) каждый должен иметь доступ к документации;
42) проводи регулярно еженедельные совещания для обсуждения хода разработки;
43) проводи совещания ежедневно;
44) держи под рукой побольше хорошего кофе;
45) команда всегда должна быть в хорошем настроении;