Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта. Благодаря им мы улучшаем сайт!
Принять и закрыть

Читать, слущать книги онлайн бесплатно!

Электронная Литература.

Бесплатная онлайн библиотека.



Главная
Все книги
Назад
Читать: - на бесплатной онлайн библиотеке Э-Лит


Помоги проекту - поделись книгой:

69) не молись на так называемых экспертов;

70) не забывай, что руководство ничего не смыслит в разработке ПО.

Естественно, все сказанное предполагает, что вы заранее знаете о безнадёжности проекта. Как отмечает эксперт Dave Kleist, это не так просто, когда вас интервьюируют по поводу новой работы:

… вряд ли можно где-нибудь увидеть объявление о найме для участия в безнадёжном проекте. Какой смысл спрашивать: «Хотите ли вы работать сверхурочно без какой-либо прибавки к зарплате?»… На самом деле, безнадёжные проекты редко объявляются таковыми во всеуслышание, и вам придётся достаточно долго проработать в нанявшей вас компании, прежде чем удастся обнаружить, что она обладает склонностью плодить безнадёжные проекты.

И, как отмечает Steve Benting (отвечая на те же три вопроса), иногда приходится сталкиваться с неприятными сюрпризами:

1) Первое время проект кажется довольно хорошо продуманным. У проекта есть лидер, есть реально заинтересованное лицо в руководстве, план выглядит достаточно солидным, а участники проекта – достаточно квалифицированными. В таком проекте действительно хочется работать. Но в один прекрасный момент все летит кувырком, потому что руководство увлеклось политическими играми, план основывался, как оказалось, на неверных предпосылках, и один или два ключевых разработчика вдруг закапризничали. Как ни старайся, невозможно полностью застраховаться от ошибок. Не хочется верить, что такое может повториться сначала. (Лично я участвовал в одном крупном проекте, но он закончился весьма неудачно. Срок завершения был перенесён с октября 1994 г. на март 1995 г. Я работал над планом действий в непредвиденных ситуациях до самого конца и ушёл вслед за большинством участников проекта в январе 1995 г. Новая система так до сих пор и не разработана. В настоящий момент компания пытается приобрести другую систему, которая не обладает и половиной требуемой первоначально функциональности.)

2) Я бы посоветовал как можно более внимательно относиться к участникам своей команды. Выставляйте их с работы в пятницу вечером и старайтесь дать им возможность нормально высыпаться. (Если месяцами работать по шесть дней в неделю и по двенадцать часов в день, то большинство разработчиков в конце концов либо уволится, либо наделает кучу ошибок.) Как бы ни шла работа, всегда заботьтесь о своих людях. Кроме того, постарайтесь сделать оплату их труда как можно более приличной. Кардинально это дела не изменит, но, по крайней мере, поможет сохранить команду в целости.

3) Не позволяйте кому-либо, помимо вас, серьёзно вмешиваться в дела ваших сотрудников и обращаться к ним с различными просьбами, отвлекающими их от работы. Это не значит, что вы сами не должны оказывать на них никакого давления, но ситуация должна быть под вашим контролем, если хотите, чтобы дела в команде шли нормально.

1.4.1 Риск высок, но вознаграждение тоже

Наилучший пример данной ситуации – это работа в начинающей компании, которая обсуждалась в подразд. 1.3.4. Если вы заверите участников проекта, что его успех принесёт компании всеобщую известность, а их самих сделает миллионерами, то они с радостью будут работать до изнеможения. Конечно, они могут отдавать себе отчёт в рискованности этой затеи, но, поскольку многие верят, что они всемогущи и бессмертны, они не обратят особого внимания на риск.

В самом деле, если принимать во внимание влияние западной культуры (особенно в США), то вовсе не удивительно наблюдать, как молодые программисты готовы добровольно участвовать в безнадёжных проектах. Мы не устаём повторять, что успех кинозвёзд, рок-певцов, выдающихся спортсменов и олимпийских чемпионов, а также лидеров в софтверном бизнесе, объясняется их колоссальной энергией, огромной работоспособностью и готовностью принести свою личную жизнь в жертву успеху. Мы никогда не слышали о том, чтобы успех могли принести хитрость и двуличность, сомнительные сделки и противозаконная деятельность. И нам не часто приходится слышать, что удачу приносит умение оказаться в нужном месте в нужное время. Например, Билл Гейтс, определённо, представляет собой книжный образ удачливого бизнесмена; однако, если бы группа руководителей IBM не появилась бы в Сиэттле, чтобы взглянуть на операционную систему для ПК, и если бы Гейтс не оказался под рукой в то время, как IBM не смогла дождаться результата от своего первоначального подрядчика, кто знает, где была бы Microsoft сегодня?

И ещё один момент: мы не слишком много знаем о реальных последствиях тех «жертв», которые обычно требует безнадёжный проект – жертв, связанных с физическим и психическим здоровьем, человеческими взаимоотношениями. Все это кажется неважным для 22-летнего специалиста и для необщительных интровертов, которые полностью поглощены работой на компьютерах. С другой стороны, несколько удивляет, что среди 40– и 50-летних тоже оказываются добровольные участники безнадёжных проектов; ведь они не только знают, что большинство таких проектов обречено на провал, но и убедились (на своём же горьком опыте!), что бессмысленно жертвовать своей семейной жизнью и хорошими отношениями с детьми.

В конце концов, это личный выбор каждого, и он зависит от системы ценностей. Я не в состоянии больше говорить на тему о том, что хорошо и что плохо. Я только хотел бы подчеркнуть, что я совсем не так уж негативно отношусь к участию в безнадёжных проектах, как можно подумать из сказанного выше. Хотя я думаю, что я не так наивен, как 30 лет назад, меня все ещё привлекают возможности предпринимательства. Поманите меня достаточно привлекательным соотношением риска и вознаграждения, и я брошусь в ещё один безнадёжный проект.

Между прочим, иногда вознаграждение является чисто психологическим, а не денежным. Как отмечает Sharon March Roberts:

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

Потому что «герои» необходимы, нужны и желанны. Только они займут своё место в истории, поскольку могут собственной грудью защитить проект от провала.

Такие люди буквально горят желанием тушить пожары. Если тебе удаётся выиграть в одном случае из десяти, в то время как остальные проигрывают во всех десяти, почему бы тебе тоже не быть героем?

1.4.2 Синдром покорителей Эвереста

Почему люди штурмуют такие опасные горы, как Эверест, несмотря на риск и мучения? Почему они участвуют в марафонских забегах и доводят себя до физического изнеможения в многоборье? Потому что этим они бросают вызов окружающим. Ещё больше возбуждает, если ты пытаешься совершить то, что до тебя никто не смог сделать. Например, из пяти миллиардов людей на планете только один может сказать: «Я был первым человеком, ступившим на Луну». Кто-то может подумать, что даже сама попытка совершить нечто подобное – это безумие и эгоизм, а другие, наоборот, хотели бы бросить вызов всем преградам в надежде завоевать славу и общественное признание. Как заметил недавно в своём письме ко мне консультант Al Christians:

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

То же самое можно сказать и про безнадёжные софтверные проекты. У меня была возможность посетить разработчиков проекта Macintosh в конце 1983 г., за несколько месяцев до официального объявления продукта, и я был просто поражён их энергией. Помимо прочих причин, побуждающих их долго и интенсивно работать, имея дело с маниакальной личностью Стива Джобса, участники команды были абсолютно уверены (отчасти благодаря харизме Джобса), что Macintosh должен произвести революцию в персональных вычислениях. Они были вполне счастливы.

С точки зрения такой перспективы даже проваленные безнадёжные проекты могут выглядеть довольно значительными. В эту категорию попадает бесчисленное множество проектов в Силиконовой Долине, зачастую после прожигания десятков миллионов долларов. Несмотря на то, что их провал влечёт за собой банкротство целых компаний, разводы, язвенные болезни, нервные расстройства и многое другое, люди, участвовавшие в таких проектах, все ещё с гордостью говорят о своём опыте. «Я работал над созданием операционной системы в корпорации Go!, это была настоящая революция в программном обеспечении!», – скажет закалённый ветеран охваченному благоговением стажёру.

Хотя такие проекты могут никогда не попасть на первые страницы Computerworld, тем не менее в больших корпорациях выполняется множество чрезвычайно амбициозных проектов, и разработчики приложений с радостью соглашаются участвовать в них, поскольку «корпоративный Эверест» выглядит в их глазах весьма достойным вызовом. Иногда такие проекты заканчиваются провалом, потому что пользователи на рынке и в самой корпорации не хотят и не нуждаются в такой чудесной и революционной системе; иногда – потому, что проектная команда хватает больше, чем может съесть, и обещает больше, чем может сделать.

Если вас все же затягивает массовый психоз безнадёжного проекта типа «покорения Эвереста», не забывайте про две важные вещи. Во-первых, остерегайтесь проектов, которые заранее обречены на неудачу. Предположим, например, кто-то сказал вам, что есть возможность принять участие в первой экспедиции на Марс и, даже более того, вам может выпасть честь оказаться первым человеком, ступившим на поверхность Марса. «Разумеется», – продолжал бы ваш менеджер проекта, – «у вас не будет никаких кислородных баллонов, потому что в космическом корабле не хватает места для дополнительного груза. Это означает, что вы наверняка погибнете – однако подумайте о чести и славе, которая вас ждёт!» (Когда я заканчивал писать эту книгу в конце 1996 г., в NewYorkTimes появилась статья, в которой описывалась примерно такая же стратегия первого полёта на Марс: послать астронавтов с достаточным для 40-летней жизни на Марсе количеством пищи и воды, но без топлива на обратный полет. Логика была такой: топливо на обратный полет весит гораздо больше, чем пища и вода. Но самое замечательное заключается в том, что этот доклад был совершенно серьёзно представлен на научной конференции, и почти треть слушателей выразила готовность участвовать в таком путешествии в одну сторону!). Более детально такие проекты (под названием «камикадзе») будут обсуждаться в главе 3, а сейчас описанный выше сценарий говорит сам за себя.

Во-вторых, следует остерегаться таких ситуаций, когда грандиозная задача, поставленная руководством корпорации (или владельцем вашей софтверной компании), может впоследствии оказаться совсем не такой важной. Особенно коварна ситуация, когда проблема по своей природе является чисто технической, например, «Мы будем первыми людьми на Земле, сумевшими уместить операционную систему с функциональностью Windows 95 в 4К ROM!». Да, это было бы замечательное техническое достижение, ну и что с того?

Это хорошая мысль – регулярно задавать такой вопрос на каждое очередное сообщение руководства корпорации. Например, вам говорят: «Такая Windows 95 сможет уместиться в ваших наручных часах!», а вы в ответ снова спрашиваете: «Ну и что?» В конце концов, ответы могут оказаться настолько глупыми, что это само собой вернёт вас на грешную землю. Например, вообразите, что ваш босс отвечает на второй вопрос «ну и что?» таким объяснением: «Ну, если мы сможем сжать до такого же размера систему распознавания речи, то можно будет писать программы на Visual Basic, прогуливаясь по улице и разговаривая со своими часами!»

Нет сомнения, что найдётся несколько дюжин программистов, которые воскликнут: «Здорово!» и добровольно согласятся посвятить следующие три года своей жизни такому проекту. Для них не имеет никакого значения, что ни один разумный человек не будет пользоваться такой системой; достаточным оправданием служит сама техническая проблема. Размещение Windows 95, системы распознавания речи и Visual Basic в 4К ROM даст вам право на высшую степень бахвальства перед любым собранием хакеров и программистов; если это именно то, ради чего вы живёте, то вперёд и с песнями.

Ещё одна хорошая мысль – простым нетехническим языком изложить суть проекта своей супруге, родителям или, ещё лучше, детям. Они спросят «ну и что?», не будучи обременёнными никаким искушением вызова, бросаемого технической проблемой. «Ты собираешься угробить свои вечера, выходные и отпуска на два года вперёд только для того, чтобы впихнуть Windows 95 в наручные часы?», – с ужасом спросит ваша супруга. И ваши дети спросят: «Зачем вообще это нужно делать?» Если вы в состоянии ответить на эти вопросы, не чувствуя себя полным идиотом, то можете с чистой совестью участвовать в этом проекте.

Наихудшей разновидностью проекта «покорения Эвереста» является та, где решаемая проблема имеет чрезвычайно важное значение для руководства корпорации, но ровным счётом никакого значения для любого, кто остановится и задумается о ней хотя бы на секунду. «Почему мы должны участвовать в этом безнадёжном проекте, босс?», – невинно спросит молодой программист. «Потому», – ответит босс с праведным негодованием, – «что это увеличит доход нашей корпорации на одну акцию на целых 3,14159 цента!» Это означает, что если программиста вполне удовлетворяет обладание сотней акций своей компании, и если каждый цент из возросших доходов будет выплачен в виде дивидендов, то он получит огромные деньги – целых 3,14 доллара; и, если реакция Уолл-Стрита на успех проекта будет настолько замечательной, что акции подорожают на один доллар, то чистый доход программиста увеличится ещё на какую-нибудь сотню долларов. «И это все, что я буду иметь за тысячи часов сверхурочной работы, босс?», – спросит программист. Но босс будет хранить молчание, потому что честный ответ (и он прекрасно это знает): ничего. Такой проект лишён какой-либо привлекательности, не использует новых технологий, и вероятность его провала – не меньше 75%.

Но, по-моему, ещё хуже тот случай, когда босс умышленно вводит в заблуждение ничего не подозревающую проектную команду, заставляя их поверить, что проект на самом деле сродни покорению Эвереста, в то время как он прекрасно знает, что это не так. Представьте себе, что участник проектной команды спрашивает: «Почему мы должны так стараться, чтобы разработать на КОБОЛе эту пакетную систему резервирования авиабилетов для мэйнфрейма всего за шесть месяцев, босс?» Босс, скорее всего, ответит: «Потому что раньше во всей авиационной индустрии никто даже не пытался сделать это быстрее, чем за три года!» Может быть, это на самом деле серьёзная техническая задача, заслуживающая внимания, но это совсем не та технология, с которой я бы хотел иметь дело в конце 90-х годов. В любом случае, это проект выглядит безнадёжным не из-за решаемой технической проблемы, а из-за смехотворных сроков. Почему же менеджер проекта поступает таким образом? Причины могут быть самыми разными, однако вряд ли всем этим можно будет похвастаться перед своими друзьями год спустя.

1.4.3 Наивность и оптимизм молодости

Наша индустрия достаточно молода, и многие из наиболее претенциозных и вызывающих проектов выполняются и возглавляются людьми, которым нет ещё и 30 лет. Для безнадёжного проекта не ничего необычного, если все технические специалисты в проектной команде моложе 25 лет. Они напоминают мне пилотов-истребителей, призванных в Военно-Воздушные Силы во время Второй Мировой и вьетнамской войн: такие же молодые идеалисты, абсолютно убеждённые, что они могут все. Как отметил David Maxwelname = "note"

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

Разумеется, огромная самоуверенность выручает такие команды в ситуациях, когда обычные проектные команды терпят поражение. Тот факт, что наиболее успешные продукты – от Lotus 1-2-3 до Netscape Navigator – были разработаны небольшими командами в условиях, неприемлемых для нормальных людей, уже стал фольклором в нашей индустрии. Когда такие проекты заканчиваются успешно, они приносят проектной команде известность и славу; даже когда они проваливаются, то зачастую позволяют всем участникам извлечь для себя важные уроки (хотя для организации в целом последствия могут быть катастрофическими!).

Важно отметить, что наивность и оптимизм молодости обычно сочетаются с огромной энергией, целеустремлённостью и отсутствием таких помех, как семейные отношения. Безусловно, все это не является прерогативой одной лишь только молодости, однако гораздо чаще можно встретить 22-летнего программиста, который готов и жаждет участвовать в безнадёжном проекте со 100-часовой рабочей неделей в течение года или двух, чем 35-летнего женатого программиста с двумя детьми и весьма умеренной склонностью к покорению горных вершин. Молодой программист, готовый участвовать в безнадёжном проекте, а также относительно молодой менеджер проекта, дающий оптимистические обещания начальству, как бы утверждают: «Разумеется, мы обеспечим успех этого проекта и сокрушим все препятствия на своём пути!»

Мне не хотелось бы высказывать какое-либо серьёзное суждение по этому поводу, потому что это бессмысленно. Как уже было отмечено выше, наша индустрия привлекает молодых, и я не думаю, что ситуация изменится в ближайшие несколько лет. Я также не думаю, что молодёжь может лишиться своего оптимизма, энергии и способности сосредотачиваться на решении проблем. Что касается их наивности …, ничего не поделаешь, эта болезнь проходит только с возрастом.

1.4.4 Альтернатива – безработица

Поскольку мы действительно работаем в индустрии молодых оптимистов, и наша индустрия непрерывно (и временами довольно быстро) развивается по крайней мере последние 30-40 лет, я всегда удивлялся, когда участники безнадёжных проектов приводили мне этот довод.

С другой стороны нужно учитывать, что в таких условиях профессиональные знания довольно быстро обесцениваются. В самом деле, за последнее десятилетие произошли такие огромные изменения, что наша профессия, как и многие другие профессии «белых воротничков», накопила значительный опыт даунсайзинга, реинжиниринга и аутсорсинга. В целом уровень занятости в индустрии ПО постоянно растёт, но при этом не надо забывать, что спрос на программистов С++ растёт быстрее, чем падает спрос на программистов КОБОЛа (правда, мои коллеги напомнили мне, что такой спрос ещё существует в связи с проблемой 2000 года и необходимостью преобразования множества программ, написанных на КОБОЛе. Тем не менее, я уверен, что после 1-го января 2000 года перспективы программистов КОБОЛа существенно ухудшатся). Кроме того, большие IS/IT-организации, которые превратились в огромные бюрократические монстры с тысячами сотрудников, оказались частично подверженными реинжинирингу и даунсайзингу; их высшее руководство может быть не готовым к сокращению технических специалистов, но зачастую сокращает менеджеров среднего звена, администраторов и обслуживающий персонал.

Все это приобретает особое значение в безнадёжных проектах. Вполне возможно, что нехватка людей в проектной команде является следствием общего сокращения штатов разработчиков ПО, предпринятого руководством. И, аналогично, сокращение вдвое срока разработки может быть следствием реинжиниринга под лозунгом: организация должна работать вдвое продуктивнее, чем прежде (что в переводе на командный язык означает «Работать усерднее! Работать быстрее!»). Кстати, эта ситуация гораздо более характерна для Северной Америки, чем для стран Западной Европы, где мне удалось побывать. Только в Северной Америке увлекаются таким «радикальным» реинжинирингом, что масса сотрудников увольняется с работы. По этим же причинам (с учётом культурных традиций, социальной политики и законов) количество безнадёжных проектов в этих странах существенно меньше. Служащие, особенно в Западной Европе, гораздо больше защищены от сверхурочной работы и ревностно отстаивают свои права на отпуск, выходные, личное время и др. Хорошо это или плохо – это тема для отдельного разговора.

Поскольку реинжиниринг не является темой данной книги, мне не хотелось бы давать какие-либо комментарии по поводу стратегий реинжиниринга, предпочитаемых менеджментом. В данном случае важно то, что многие технические специалисты и менеджеры ощущают скрытую угрозу, когда проекты выполняются в такой обстановке. Довольно часто бывает, что несогласие с какими-либо установками проекта означает для них увольнение с работы. Для 22-летнего неженатого программиста в этом нет ничего страшного, а для 35-летнего менеджера проекта, обременённого семьёй и долгами, увольнение может стать серьёзной проблемой. Что же касается 45-летнего программиста, вся квалификация которого – КОБОЛ и CICS, то проблема ещё серьёзнее. Несмотря на молодость нашей индустрии, она существует достаточно долго для того, чтобы было найти даже 55– и 60-летних программистов, которые вынуждены изо всех сил держаться за свою работу, пока не получат законное право на пенсию.

Для людей среднего возраста и более старших характерна привязанность к своему месту жительства, поскольку их супруги работают в том же городе, либо дети могут учиться только в местных школах, либо совесть не позволяет покинуть своих старых родителей и других членов семьи. Это не является проблемой, если рынок труда достаточно велик, однако каждый, кто сегодня живёт в Пукипси, Нью-Йорк, хорошо знает, о чем я говорю. Люди, живущие в Редмонде, Вашингтон, вероятно, могли сталкиваться с такими же неприятными проблемами 5, 10 или 20 лет назад.

Я очень сочувствую профессионалам-разработчикам среднего и более старшего возраста, которые оказались сегодня в сложном положении, хотя я весьма удивлён, что технические специалисты усиленно игнорировали тот факт, что это может случиться именно с ними, несмотря на то, что разнообразные мероприятия по реинжирингу/даунсайзингу проводятся уже достаточно долго. Но это также предмет для отдельной книги; я уже обсуждал эти проблемы в своих книгах «Decline and Fall of the American Programmer» и «Rise and Resurrection of the American Programmer», и я ограничиваю свои соображения здесь только тем, что непосредственно касается безнадёжных проектов.

Если вам говорят открытым текстом или намекают, что если не согласитесь участвовать в проекте со смехотворным графиком, бюджетом и ресурсами, то останетесь без работы, то что вам остаётся делать? Очевидно, это зависит от того, как вы оцениваете своё финансовое, физическое, эмоциональное и психологическое состояние; но, кроме этого, вы должны точно оценить положение дел в вашей компании. В некоторых случаях реальная опасность заключается в том, что ваше продвижение по службе, премии или рост зарплаты будут остановлены, если вы откажетесь участвовать в проекте (ниже я отдельно остановлюсь на этой проблеме). Однако, даже если вам угрожает потеря работы, в больших компаниях обычно невозможно претворить эту угрозу в жизнь немедленно; у вас может быть два или три месяца в запасе до увольнения, и этого может оказаться достаточно для поиска новой работы.

Но что если угроза гораздо ближе и ощутимее? Например, ваш босс заявляет: «Немедленно ставь свою подпись под согласием участвовать в проекте, или собирай свои вещи и выметайся отсюда!» Непостижимо, чтобы разумный человек мог предпочесть работать в такой обстановке, однако давайте предположим, что до сих пор обстановка была вполне дружелюбной, пока последняя реинжиниринговая мания не сделала вашего босса неуправляемым лунатиком. Итак, вам предстоит выбор: подписаться, уйти или быть уволенным. Что вы предпочтёте?

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

Если же вам некуда деваться – близится уход на пенсию, ваша квалификация не пользуется спросом на рынке или во всем городе один-единственный работодатель, а семейные обстоятельства не позволяют никуда уехать, вам следует убедить себя выработать более позитивное отношение к безнадёжному проекту. «Черт возьми, я докажу им, что этот старый пёс ещё способен лаять», – скажет среднего возраста ветеран. «Я покажу начальству, что мы ничуть не хуже этих сопливых мальчишек, и мы сделаем проект в срок!» Конечно, смелость и позитивный взгляд на вещи просто замечательны, но не забывайте при этом одно обстоятельство: если безнадёжный проект закончится успешно, за ним последует ещё один. Не забывайте о том, что было сказано в начале книги:безнадёжные проекты являются нормой, а не исключением.

1.4.5 Возможность будущей карьеры

Как было сказано выше, бывают ситуации, когда «приглашение» участвовать в безнадёжном проекте сопряжено с опасностью поставить будущее продвижение по службе в зависимость от успеха проекта и того признания, которое он получит. Зачастую это связано с реинжинирингом – например, «Только те люди, которые возглавят этот невероятно сложный проект реинжиниринга Total System 2000, возглавят и сам Мега-Банк в XXI столетии!» Если вы оказались в подобной ситуации, помните, что ключевым фактором здесь является политика. Те люди, которые в конечном счёте делают ставку на успех безнадёжного проекта, могут сами в нем и не участвовать. Тот менеджер, который инициирует безнадёжный проект реинжиниринга, может рассматривать его просто как возможность сделать себе карьеру, наплевав на судьбу, которая ожидает участников проектной команды.

Если вы помните каждое слово из «Принца» Маккиавелли, и если политические игры доставляют вам удовольствие, то такие безнадёжные проекты как раз для вас. Однако большинство профессиональных разработчиков ПО вряд ли читало «Принца» после окончания колледжа (или вообще никогда) и, помимо своей неискушённости в политике, они просто испытывают отвращение к ней самой и абсолютное неуважение к тем людям, которые увлекается политикой. Если это так, почему же тогда находятся люди, готовые участвовать в проекте Total System 2000 Мега-Банка? Единственный правдоподобный ответ: они искренне верят, что других таких проектов больше не будет и что этот проект надолго обеспечит им успешную карьеру в Мега-Банке. Если вы на самом деле верите в это, то вы, должно быть, верите также, что свиньи умеют летать.

В большинстве ситуаций, которые мне приходилось наблюдать, угроза для карьеры является неотъемлемым свойством обсуждаемой ранее культуры «Морского Корпуса». Хорошо это или плохо, в данный момент не имеет значения; важно то, что это непреложный факт. Если такая угроза имеет место в вашем первом безнадёжном проекте, то, вероятно, то же самое будет во втором, третьем и четвёртом. Когда вы только начали работать в какой-либо компании, вы ещё слишком простодушны, чтобы всерьёз задуматься над долгосрочными последствиями такой политики, но рано или поздно вам придётся с ними столкнуться. В этой ситуации у вас только две возможности: принять все как есть или уйти.

1.4.6 Альтернатива – банкротство или прочие разные бедствия

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

Мы не обсуждаем здесь, правильно или неправильно действует руководство в подобной ситуации, пытаясь заранее упредить надвигающийся кризис. Суть дела в том, что поскольку кризис наступил и руководство затевает безнадёжный проект, вам предстоит принять взвешенное решение – участвовать в нем или нет. Когда писалась эта книга, Apple как раз являла собой хороший пример компании, переполненной безнадёжными проектами, поскольку она вела борьбу за выживание (хотя лично мне ничего не известно о каких-либо ультиматумах руководства вроде «соглашайся или уходи»).

Учитывая ранее сказанное, вы можете предвидеть, каким будет мой совет: отступите на шаг и спросите себя, является ли этот безнадёжный проект исключением, или все ещё только начинается. Даже если вы выиграете своё сражение, компания может проиграть войну; в самом деле, ваш успех в проекте может оказать компании медвежью услугу, оттянув её крах на срок, достаточный для того, чтобы затеять второй безнадёжный проект.

Ещё раз повторюсь, что ваше решение является сугубо личным, и к нему могут примешиваться такие соображения, как преданность компании, сочувствие или желание показать всему миру, что вы и ваша компания не собираетесь сдаваться без борьбы. И кто знает, может быть, значительный успех безнадёжного проекта сумеет в корне изменить ситуацию. Именно так произошло в 1995 году с фирмой Borland, выпустившей на рынок свой продукт Delphi. Ни у кого из нас нет хрустального шара, чтобы предсказать будущее безнадёжного проекта; мы не можем также точно предсказать, каковы будут последствия успеха или неудачи проекта. Некоторые компании умирают быстро, другие терпят долгий затяжной крах, а некоторые успевает кто-нибудь купить, пока они окончательно не вступили в полосу неудач.

Поскольку вы консультируетесь со своим собственным хрустальным шаром, поинтересуйтесь мнением как можно большего количества людей – особенно тех, кто не имеет своей доли в доходах компании. Может быть, вам удастся побеседовать с честными и беспристрастными руководителями, которые искренне готовы обсуждать последствия неудачи или успеха безнадёжного проекта; но вам следует также помнить, что те же руководители делают свои карьеры и заботятся о своей зарплате; эгоизм и политическое чутьё могут не позволить им сообщить вам какую-либо информацию, жизненно важную для принятия правильного решения.

1.4.7 Возможность победить бюрократию

Технические специалисты и менеджеры проектов часто жалуются, что их корпоративная бюрократия снижает продуктивность работы и вносит ненужные задержки в процесс разработки ПО. Чем крупнее организация, тем сильнее пускает в ней бюрократия свои корни – особенно в тех организациях, где служба стандартов требует строгого соблюдения требований SEI-CMM или ISO-9000. Аналогично, департамент персонала может использовать процедуры скрупулёзной проверки каждого вновь принимаемого на работу сотрудника или стороннего разработчика, привлекаемого к участию в проекте.

Безнадёжные проекты нередко предоставляют возможность обойти некоторые, если не все, бюрократические рогатки – и этого достаточно, чтобы раздражённые бюрократией разработчики ПО принимали участие в таких проектах. В крайнем случае проектная команда даже перебирается в отдельное здание, где они могут выполнять свою работу, не отвлекаясь на обычную бюрократию. Даже в менее экстремальной ситуации безнадёжный проект зачастую даёт возможность свои собственные средства и языки программирования, осваивать новые технологии наподобие объектно-ориентированного программирования, а также сокращать большинство громоздких процедур и объём документации, которые в обычных условиях требуются в полном объёме. Не менее важно, что менеджер проекта зачастую получает гораздо большую свободу действий в подборе участников проектной команды, чем в обычных условиях.

В лучшем случае все эти перемены могут сделать безнадёжный проект своего рода цивилизованным экспериментом, поскольку отвергается или смягчается целый ряд ограничений на процедуры, технологии или людские ресурсы, которые обычно угрожают превратить проект в безнадёжный. И, если безнадёжный проект будет иметь шумный успех, он может послужить катализатором процесса внедрения используемых технологических и управлеченских новшеств во все другие проекты, выполняемые в организации. И наоборот, если проект проваливается, это может послужить подтверждением того, что «стандартные» бюрократические процедуры, в конце концов, не так уж и плохи.

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

1.4.8 Месть

Месть может показаться не слишком разумным объяснением участия в безнадёжном проекте, но, тем не менее, это обстоит именно так. Успех безнадёжного проекта может оказаться достаточным для того, чтобы выбить власть из рук некомпетентного вице-президента компании, или утереть нос критиканам, которые все время уверяли вас, что в рамках ограниченных сроков и бюджета такой проект выполнить немыслимо. Месть – это весьма сильное чувство, и оно играет особенную роль на уровне высшего руководства в крупных организациях, где обиды запоминаются на всю жизнь, и хитрые политики могут месяцами и годами дожидаться возможности отомстить своим противникам.

Месть может быть очень мощным личным мотиватором, но обычно не так просто внушить это чувство всей проектной команде. Если это случается, то возникает ситуация, когда проектная команда перестаёт видеть «официальную» цель разработки, которая была запланирована в проекте – их первым и высшим приоритетом становится месть.

Если вашим личным мотивом является месть, то я могу сказать только одно – это ваши личные проблемы. Но если вы собираетесь участвовать в проекте, в котором менеджер или вся команда из чувства мести готовы согласиться с совершенно неразумными для «нормального» проекта планом и бюджетом, то следует быть особенно осмотрительным. «Вице-президент – кретин», – может сказать вам менеджер проекта, – «и если мы завершим этот проект за шесть месяцев, то он будет выглядеть таким дураком перед Советом Директоров, что ему придётся подать в отставку!» Хорошо, все это замечательно – может быть, вице-президент и в самом деле кретин. Однако, стоит ли ради его отставки жертвовать своей личной жизнью в течение двух ближайших лет? В конце концов, следующий вице-президент может оказаться ещё большим кретином, чем прежний.

С другой стороны, если в глазах всех вице-президент выглядит воплощением тёмных сил, а менеджер проекта предстаёт этаким героем-освободителем, то это придаёт безнадёжному проекту дополнительные силы. В этом случае весь проект предстаёт в виде битвы Господа с Дьяволом, и этого достаточно, чтобы люди добровольно принесли огромные жертвы на алтарь проекта.

1.5 Заключение

Как бы цинично или пессимистично ни звучало сказанное в этой главе, это не поможет избавиться от безнадёжных проектов. Компании (как крупные, так и небольшие) переполнены политикой, там работают менеджеры и технические специалисты, страдающие безудержным оптимизмом и испытывающие полную гамму эмоций – страха, беззащитности, самонадеянности и жестокости. Сочетание таких факторов, как реинжиниринг, даунсайзинг, аутсорсинг и глобальная конкуренция – в совокупности с возможностями, предоставляемыми новыми технологиями, такими, как объектно-ориентированное программирование, клиент-сервер и Internet – приводит меня к выводу, что в ближайшие годы безнадёжные проекты будут, вероятно, всеобщим явлением.

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

Между прочим, все это не означает, что я против любых безнадёжных проектов; я согласен с мнением моего коллеги Rick Zahniser, что такие проекты даже в случае неудачи могут дать очень полезный опыт:

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

1) провести ночь в тюрьме;

2) напиться в стельку;

3) вырастить сына;

4) вырастить дочь;

5) начать свой собственный бизнес;

6) подняться на гору Фудзи.

(Японцы по этому поводу говорят: «Кому не удалось подняться на гору Фудзи – тот дурак. Тот, кто поднялся на гору Фудзи дважды – ещё больший дурак».)

Что касается остальной части книги, я исхожу из предположения, что вы уже приняли обдуманное решение участвовать в проекте, хотя я время от времени буду напоминать вам о возможности выйти из него в процессе работы. Будем предполагать, что в данный момент ваша главная цель – добиться успеха, или, по крайней мере, спасти проект, и в последующих главах мы попробуем разобраться, как это можно сделать.

Литература к главе:

1) John Boddie. Crunch Mode. Englewood Cliffs, NJ: Yourdon Press/Prentice Hall, 1987.

2) Scott Adams. The Dilbert Principle. New York: HarperBusiness, 1996.

ГЛАВА 2.

ПОЛИТИКА

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

Многие разработчики ПО считают, что поскольку политики не избежать, они предпочли бы держаться подальше от всей этой грязи. Это вполне понятное желание – многие из нас, кто всерьёз поглощён разработкой ПО, социально инертны и политически наивны: мы не только считаем политические игры тошнотворными, но и уверены, что попытки играть в политические «игры» ничем хорошим для нас кончиться не могут. Все это хорошо до тех пор, пока кто-нибудь (обычно менеджер проекта) в состоянии держать политиков в руках. Однако, если все участники безнадёжного проекта полагают, что «поскольку данный проект так важен, они оставят нас в покое и избавят от грязных политических игр», такой проект имеет весьма мало шансов на успех.

В данной главе будут обсуждаться три аспекта политики:

1) идентификация политических «игроков», вовлечённых в проект;

2) определение сущности проекта;

3) отношение участников к проекту.

2.1 Идентификация «игроков», вовлечённых в проект

Главное, что я хочу здесь отметить, это что ваши шансы на успех в безнадёжном проекте будут равны нулю до тех пор, пока участники проектной команды не узнают ключевых «игроков». Некоторые из них производят больше шума, чем другие, некоторые будут друзьями и сторонниками; в то же время некоторые будут крикливыми оппонентами проекта, а другие будут ждать удобного момента, чтобы нанести менеджеру удар в спину. Обо всем этом легко забыть среди тысячи других административных и технических проблем, но это очень важно.

Я убеждён, что каждый участник проекта обязан знать ключевых «игроков» – даже если постоянное взаимодействие с ними входит в обязанность только менеджера проекта. В редких случаях «особо важных» команде удаётся отгородиться от всего остального мира на время выполнения проекта, но это не типично. На самом деле в современном мире даже такие проекты не могут быть полностью изолированы, поскольку все взаимодействуют друг с другом посредством электронной почты и Internet. В нормальной рабочей обстановке каждый участник проекта взаимодействует со своими коллегами – техническими специалистами, а также с вышестоящим руководством и различными представителями сообщества пользователей. Это неизбежно – мы сталкиваемся с ними в коридоре, кафетерии или в комнате отдыха.

Поэтому, если участник проекта сталкивается с совершенно невинным, на первый взгляд, телефонным звонком, почтовым сообщением или как бы случайным вопросом типа «Как движется проект?», который задаёт дружелюбным тоном один из менеджеров среднего звена, для участника проекта важно знать, кто к нему обращается – друг или враг, и не содержит ли в связи с этим вопрос политический подтекст. Что бы вы не ответили на такой вопрос, ответ, скорее всего, станет достоянием всей организации, и ничего удивительного, если содержащаяся в нем информация будет утрирована, искажена или скрыта.

Типичными «игроками» в безнадёжном проекте являются следующие:

4) владелец;

5) заказчик;

6) акционер;

7) заинтересованное лицо;

8) защитник.

Каждая из этих ролей будет обсуждаться ниже.

2.1.1 Владелец

Традиционно владелец – это человек, который принимает, санкционирует или финансирует систему и/или результаты проекта. Чрезвычайно важно идентифицировать этого человека и сделать все возможное, чтобы он был удовлетворён ходом проекта.

Удивительно, как много проектов выполняются без малейшего представления их участников о том, кто является владельцем; это особенно типично для организаций, где проекты порождаются честолюбием и сверхэнергией IT-профессионалов, которые стремятся перещеголять друг друга утверждениями вроде «держу пари, что отдел маркетинга придёт в экстаз, когда увидит эту новую систему, которую мы разрабатываем для них». Очевидно, в организациях с грамотным руководством такие проекты никогда не смогут начаться – но главное, что я хотел здесь сказать – можно с трудом найти такие безнадёжные проекты, которые начались бы без чёткого распоряжения со стороны владельца. Причина очевидна: такие проекты чрезвычайно дороги и/или рискованны и/или ограничены по срокам. Невероятно, чтобы IS/IT-подразделение выдумало такой проект по собственной инициативе, и нормальные бюрократы в организации не позволят включить его в план и финансировать до тех пор, пока не получат чёткое и недвусмысленное указание от того, кто имеет на это право.

Отсюда следует одно интересное соображение: владелец безнадёжного проекта зачастую является руководителем гораздо более высокого уровня, чем в случае «нормального» проекта. В самом деле, владельцем может быть президент или исполнительный директор, поскольку проект может затрагивать жизненно важные интересы организации. Даже если это всего лишь вице-президент, заметим, что владелец безнадёжного проекта обычно имеет гораздо больше полномочий в вопросах дополнительных расходов или исключения бюрократических ограничений, чем в «нормальном» проекте.

С другой стороны, это не означает, что вся руководящая иерархия куда-то исчезла; наоборот, одна из проблем во многих безнадёжных проектах заключается в том, что менеджер проекта совсем мало или вообще не контактирует непосредственно с владельцем проекта. Различные распоряжения и требования об отчётах о состоянии проекта могут спускаться вниз по цепочке от владельца к менеджеру среднего уровня, который является как раз непосредственным начальником менеджера проекта. И все эти посредники между реальным владельцем и менеджером проекта могут быть, говоря вышеуказанными терминами, пользователями, акционерами, заинтересованными лицами или чемпионами – или политическими противниками проекта.

Об этом важно помнить, поскольку изначальные требования владельца проекта могут быть легко искажены, пока достигнут менеджера проекта. Наиболее часто тем аспектом безнадёжного проекта, по которому не удаётся достичь соглашения, является конечный срок: новая Супер-Система однозначно и безусловно должна быть закончена к 1 января, иначе наступит конец света! Однако, пока это указание доберётся вниз по иерархической лестнице до менеджера, оно с помощью бюрократии обрастёт целым слоем дополнительных требований, например: в качестве языков программирования использовать только Ada и RPG; в проектную команду нужно обязательно включить Джорджа, Харриет и Мелвина (потому что они настолько некомпетентны, что их не берут ни в один проект; в проекте должна использоваться вновь созданная (но никогда не использовавшаяся ранее) объектно-ориентированная методология; проектная команда должна еженедельно проверяться на предмет того, правильную ли методологию она использует; каждый участник проектной команды должен в конце каждого рабочего дня заполнять 17-страничную форму XJ13 в трех экземплярах; … и так можно продолжать до бесконечности.

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

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

Вместе с тем не надо забывать, что владелец проекта может быть совсем не тем человеком, который будет реально использовать разработанную систему, и вовсе не он один может иметь политическое влияние на ход выполнения проекта. Следует учитывать влияние и других «игроков», которые рассматриваются ниже.



Поделиться книгой:



Регистрация