воскресенье, 18 февраля 2007 г.

Как не стать Оленеводом Крайнего Севера

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

Подумайте вот о чем. Представьте, как если бы вы были Оленеводом Крайнего
Севера... Hа что была бы похожа ваша жизнь тогда? Посмотрим.

Понедельник. Вы пасете оленей.
Вторник. Вы пасете оленей.
Среда. Вы пасете оленей.
Четверг. Вы пасете оленей.
Пятница. Вы пасете оленей.
Суббота. Думали выходной, да? Хрен!!! Вы пасете оленей.
Воскресенье. Hу вы уже поняли, что вы делаете, да? Правильно. Пасете оленей.
У вас один выходной в год - это день, когда приезжают геологи, и вы обмениваете
оленей на водку.
В чуме вас ждут: страшная жена, семеро голодных детей, паленая водка от
геологов, и соленая оленина на ужин.
Вы моетесь дважды в течении всей жизни: при рождении, и после смерти.
Вы никогда не видели горячую воду.
Hастоящим лакомством для вас являются ягоды и коренья, собранные вашими детьми.
Если вы плохо пасете оленей, вы умрете от голода.

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

И прекратите, наконец, заниматься херней. Hачните работать.


«Есть желание поработать? Собирается команда для разработки проекта связанного с Интернет-пейджингом на С++. Предложение вообще супер, соглашайся, знакомый подсуетил информацию».

В июне 2003 года я закончил четвертый курс и уже видел себя, свободного и счастливого, купающегося во всех прелестях последних студенческих летних каникул. Но этот телефонный звонок перечеркнул все мои беззаботные планы относительно наступившего лета.
Ну кончено я не мог не согласиться на такое предложение, а это значило, что отныне летних каникул у меня больше не будет. По правде говоря, я был чрезвычайно рад такому повороту событий. Конечно, намного лучше потратить свободное время на что-то полезное, чем все лето предаваться неизвестно чему. Таким образом, я был привлечен, к моему первому такого масштаба проекту.
В команду были привлечены еще четверо моих друзей, с которыми мы вместе учились на одном потоке. Руководить нашей молодой командой взялись два менеджера-координатора. Таким образом, была снята квартира под наш офис, временно, до закупки корпоративных, перевезены туда наши компьютеры и работа над проектом началась.
Заказчик, молодой уважаемый англичанин, с которым мы общались только через интернет, хотел получить многофункциональную систему обмена мгновенными сообщениями, поддерживающую протоколы ICQ, AIM, IRC, MSN, Yahoo!. Должна была быть реализация многоаккаунтной работы клиента, поддержка шифрования передаваемых данных, возможность проведения аудио и видео конференций. Программа должна была обладать приятным многоязычным интерфейсом, поддерживающий скины. «Хочу Trillian, только лучше», - шутили менеджеры словами заказчика.
Между нами пятью были распределены протоколы для реализации. Мне достался легендарный ICQ. Практически все лето ушло на исследование каждым из нас своего протокола и реализации демонстрационного приложения, реализующего его базовые возможности. Менеджеры занимались организационными вопросами и формулированием требований к разрабатываемому проекту, точнее его первой альфа-версии.
С сентября мы приступили к совмещению своих наработок и созданию первой альфы. В связи с этим, каждому, помимо своего протокола, пришлось заниматься еще и задачами направленными на реализацию компонентов основной системы. А к тому же, летние каникулы закончились и опять началась учеба в университете. Однако, к счастью, на пятом курсе нет необходимости учебе уделять столько времени, сколько, скажем, на первом, и поэтому мы практически все время находились в офисе, посещая университет несколько раз в неделю, которых было достаточно для того, что бы избежать неприятных последствий нашего невнимания к учебному процессу.
Все условия занятости на проекте нас устраивали, мы были полны оптимизма и решимости. Все наши разговоры как на офисе, так и вне его всегда сводились только к проекту. Нам это было очень интересно. Думаю каждый из нас был уверен, что мы напишем что-то лучшее чем Trillian, по крайней мере с нашей точки зрения. Таким образом, к ноябрю проект дорос до статуса «Альфа» и увидел, что мир есть и за пределами нашего офиса;).
Но повышение статуса проекта до «Альфа», помимо всего прочего означало еще и то, что начиналось время дедлайнов (dead-line). Это значит, что где-то раз в две-три недели в пятницу нам приходилось засиживаться в офисе до полуночи и тщетно избавляться от неожиданно появившихся ошибок, о существовании которых ранее никто и представить не мог. Иногда все заканчивалось хорошо, и очередная версия отправлялась заказчику в срок. Однако бывали и такие случаи, когда сроки срывались и в понедельник имели место длительные дискуссии наших менеджеров с заказчиком о причинах срыва. Так или иначе проект рос и развивался.
Однако, как правило, любой длительный проект рано или поздно сталкивается с различными проблемами, корректное решение которых является единственным условием успешности проекта и определяется уровнем квалификации людей, занимающихся его управлением.
В нашем проекте подобных проблем также не удалось избежать. Основной проблемой, как мне кажется сейчас была неопределенность заказчика. То есть как бы работа над проектом ведется, средства на его поддержание вкладываются. Но остается главный вопрос – для чего все это? Как извлечь прибыль из проекта, как добиться его окупаемости? Вообще что нужно получить в результате. Ответов на эти вопросы у него не было. К проекту были привлечены люди на стороне заказчика координирующие развитие проекта и занимающихся его промоушеном. Было решено также применить более жесткие меры по контролю деятельности разработчиков (то есть нас) и оплаты их труда. Была введена система MBO, регулирующая сумму заработной платы на основании продуктивности работы каждого сотрудника и качества его рабочего дня. Если раньше мы все получали одинаковую сумму, то теперь появились существенные различия. И если кто-то получал больше, то это совсем не означало, что этот человек сделал больше и лучше чем тот, кто получил меньше. Ведь здесь помимо самой продуктивности сотрудников появился субъективный фактор, который определялся отношениями внутри нашего коллектива, а в особенности отношениями с нашими менеджерами.
По большому счету, введение системы было логичным этапом в развитии проекта такого масштаба. Она позволила бы простимулировать деятельность разработчиков, и исключила бы ситуации когда разработчик делая в несколько раз больше, чем другой получал бы столько же. Она положила бы начало формированию какого-то локального бюджета коллектива, который в дальнейшем мог бы уменьшить нашу финансовую зависимость от заказчика. Но на практике это нововведение стало началом конца проекта. Обычная человеческая алчность взяла верх.
Те из нас, кто стал получать меньше совершенно справедливо по их мнению затаили на менеджеров обиду и приняли решение что если получают меньше, то и работать должны меньше. Поползли мнения, что недоплаченные суммы попадают в карман наших непосредственных начальников и что те таким образом наживаются за наш счет. Подобные волнения сильно пошатнули моральное состояние нашей команды. И с этих пор все стало только ухудшаться. Отдельные люди практически перестали работать вовсе, отсиживая «попо»-часы и довольствуясь тем что осталось от заработанного после вполне справедливых вычетов. Остальные «обиженные» продолжали работать в том же ритме что и прежде, однако отношение к менеджерам очень сильно изменилось в худшую сторону.
В итоге все эти неприятности привели к необходимости проведения всеобщего совещания. Оно состоялось в марте в виде онлайн-конференции, в которой принимали участие мы, разработчики, наши менеждеры, и наш английский заказчик. Получив такую возможность непосредственного общения с заказчиком, мы, как вариант решения конфликта быстро убедили его в необходимости увеличения оплаты нашего труда. Таким образом, итогом конференции стал тот факт, уровень нашей заработной платы увеличился вдвое.
Но теперь очень обиженными стали наши менеджеры. Они посчитали, что мы, как все еще студенты, не должны получать таких больших сумм, и что это крайне неправильно. В результате штрафы по системе MBO увеличились еще больше, и некоторые из нас стали получать едва больше, чем до конференции, несмотря на то что нормативно заработная плата увеличилась вдвое. Теперь конфликт внутри нашего коллектива приобретал глобальный характер. Участились общения нас с заказчиком, относительно иррациональных действий менеджеров, и их некорректности ведения дел в команде.
То настроение, переполненное амбициями и оптимизмом, которое было ранее бесследно исчезло. По мере приближения релиза версии 1.0 негативные эмоции все больше преобладали в команде. Вместе с тем приближалось время нашего диплома в университете, а это значит, что на проект оставалось уделять еще меньше времени. Были недовольны мы, были недовольны наши менеджеры, был недоволен заказчик. Все катилось вниз по наклонной, с каждым днем все больше и больше.
Апогеем всех этих событий стала майская чистка нашего коллектива. Было уволено двое сотрудников нашей команды: разработчик, занимавшийся протоколом Yahoo! и наш тим-лидер (team-leader), душа всего коллектива и генератор оптимизма и бодрости нашей команды разработчиков, который занимался протоколом AIM. Если первая вакансия была в кратчайшие сроки ликвидирована, то увольнение тим-лидера, который к слову собственно и позвонил мне тем далеким летом, предложив заняться проектом, едва ли можно было назвать хорошим решением. Вот при таком упадочном настроении внутри команды в июле был отправлен на «золото» релиз версии 1.0.
К тому времени у продукта был полноценный сайт, огромный многоязычный форум, и большое количество посетителей и пользователей нашей программы. Ссылки на продукт стали появляться на различных софтверных порталах. О программе заговорили.
Но настроение в нашем коллективе были просто ниже плинтуса. Без тим-лидера не было того позитива в нашей работе и простить его увольнение нашим менеждерам мы не могли.
Мы проработали над проектом год, а значит настало время заслуженных отпусков. Ключевой разработчик занимавшийся разработкой ядра программы и протокола IRC с отпуска так и не вернулся. Он пошел работать в другое место. А в конце лета с проекта ушел и я, сославшись на то, что необходимо отрабатывать распределение (может кто-то еще в курсе что это такое:)). На наше место пришли новые разработчики, со своими амбициями и настроением. Но проект спасти было уже нельзя. В январе следующего года моя бывшая команда нашла силы выпустить версию 1.5. Позже , почти через полгода появилась 2.0 но все было тщетно. Проект уже был мертв. Позже не стало и сайта. Все было кончено – конкурента у триллиана больше не стало.
Теперь я иногда нахожу на софтверных порталах последнюю версию, ее до сих пор качают и используют, иногда даже хвалят, но у пользователей нет возможности обратиться к разработчикам, указать о наличии какой-то ошибки, поделиться впечатлениями или загрузить обновление программы.
Проекта больше нет, остались только воспоминания.