Хочу поделиться своим мнением по поводу свежего холивара «разработчик-менеджер-потребитель» — кто главный, а кто лишний?
Безусловно, бывают клинические случаи, когда, например, представитель заказчика по каким-то причинам имеет карт-бланш на принятие идиотских решений. Крайним может оказаться представитель любой стороны, но это самое простое: «Мой дядюшка собрался сайтик своей компании запилить…»
Но как же получается, что порой встречаются компании, которые долгие годы успешно работают на рынке, и вдруг выясняется, что «кругом одни идиоты»?
Начнём с того, что каждый человек сам по себе и продавец, и покупатель, и менеджер, и дизайнер, и много кто ещё. Продукты в магазине покупаете? А навыки свои за зарплату продаёте? Дизайн в широком смысле вообще в половине наших действий.
А теперь представьте ситуацию: в проекте участвуют толковый заказчик, годные разработчики и неплохие менеджеры. И всё бы у них было хорошо, если бы менеджер не пришёл в свой отдел из группы разработчиков — теперь он прекрасно разбирается во всех их косяках и видит, до чего они тупые. Или представитель заказчика в своё время не изучил бы принципы эффективного менеджмента — теперь он видит, как менеджеры с обеих сторон тормозят проект.
Самое интересное, что всё это может эффективно работать, если все при этом специалисты в своей области. Поэтому если ваш проект работает, задумайтесь: может, это не они ничего не знают в своей области? Возможно, это вы слишком углубились в чужую?
Не задалбывайтесь по мелочам, уважайте коллег (да, и её тоже). Всем бобра!
Обычный пользователь? Видели, знаем. Лень-матушка не позволяет выучить простую последовательность действий.
На предыдущей моей работе были «любимые» многими бабульки, которые категорически не хотели чему-то обучаться. Пришлось дрессировать и учить читать. Выглядело это приблизительно так.
— Срочно иди сюда, у меня тут вот это не туда, потому что вот оттудова эта, а мне надо отчёт печатывать.
Подхожу и не сгоняю с места («куда пошла, стой и смотри»), а демонстративно убираю руки за спину — и диктую, где и какую кнопку тыкнуть и какое сообщение прочитать. Если появляется сообщение вида «Да/Нет/Отмена» — предлагаю его прочитать и выбрать правильный вариант, иногда задавая наводящие вопросы.
Если всё выполняет правильно — хвалю, говорю, что молодец, что без меня замечательно справилась, если ошибается в процессе — хмурюсь, рычу, не ругаюсь из почтения к возрасту, но нарочито грубо говорю, что и как делать, чтобы было правильно.
Что сказать — женщины падки на грубую лесть. Хамоватое отношение вообще редко кому нравится, а рефлексы у них, как оказалось, не хуже, чем у собачек Павлова. Через месяц меня начали звать скорее по привычке, и то, вероятно, для того, чтобы я похвалил после терпеливого стояния за их спиной, а ещё через некоторое время и звать перестали по всяким Вордам, Экселям и иже с ними.
Однажды, присмотревшись, заметил, что некоторые из них используют функции, про которые я даже не слышал (раньше — двух ячеек самостоятельно сложить не могли, на курсы никакие не ходили).
Вижу, менеджеры всех достали… Давайте я вам расскажу одну запомнившуюся мне историю, которую программисты мне припоминали потом ещё о-о-очеень долго.
Итак, небольшая компания, пилящая софт для химиков. На дворе 2006-й, конкурентов у нас не так много: конкретно нашу задачу не решает ни HYSYS, ни CHEMCAD. До релиза две недели, график-план на следующий релиз составлен, и я решаю проверить обновившуюся продукцию одного из двух конкурентов. Сразу обращает на себя внимание иконка в трее, вытаскивающая приложение на передний план, причём с сохранением иерархии окон. «Гм…» — думаю я, оформляю рабочую поездку и направляюсь к одному нашему клиенту.
Первое, что бросается в глаза — огромное количество открытых окон, полностью забитая панель быстрого запуска. Приложений открыто так много, что надо именно скроллить вниз, чтобы их все пролистать. Аккуратный расспрос химика подтверждает: все эти приложения ему нужны, он с ними работает. По большей части это просто документы с описаниями, но есть и разные таблицы, графики. Задаю вопрос насчёт иконки в трее и привожу химика в бешеный восторг. Аккуратный просмотр открытых приложений попутно с расспросом химика подтверждает: почти все эти окна исчезнут с его экрана… через два релиза. То есть через год. За этот год нас просто порвут на кусочки своей иконкой в трее.
Ещё два дня ездил по нашим клиентам и везде убеждался: иконка — это простой костыль, который станет ненужным через два, максимум три релиза. Но вот конкретно сейчас она нам просто необходима, иначе мы потеряем до половины клиентов (мы работали по подписке, так что клиент мог в любой момент разорвать договор).
В четверг (а релиз запланирован на следующую пятницу) я прихожу к директору, открываю перед ним ноутбук, показываю конкурента и рассказываю, как нас порвут без этой долбаной иконки. Директор кусает губы, просит составить ТЗ, а сам он пока подумает.
В общем, в пятницу, не дождавшись реакции директора, но понимая, что он, скорее всего, одобрит, я бегу к главному программисту с бумажкой ТЗ, объясняя, что это надо сделать до релиза. Программист начинает бухтеть, что это всё очень сложно, долго, и за неделю никак не успеть. Я прозрачно намекаю на то, что директор по-любому спустит это ТЗ, вопрос в том, когда: в понедельник или во вторник. Тимлид вздыхает и принимает бумажку.
На общей планёрке в понедельник директор достаёт ТЗ и начинает разливаться соловьём, как нам нужна эта иконка, без неё нам не жить, и я понимаю, что директор успел уже сам покататься по химикам и побеседовать с ними. Тут поднимается главный программист и начинает объяснять, что программистам никак не успеть.
— Не успеете — срежем премию, — говорит директор.
— А успеете — выплатим в полуторном размере, — добавляю я и получаю недовольный взгляд директора. Но всё же он кивает.
Засада в том, что это был 2006-й, и не у всех клиентов был высокоскоростной интернет. И для того, чтобы курьеры успели развести релиз, сборка должна проводится в четверг. Об этом нюансе я узнал вот прямо на планёрке.
Программисты уложились в срок. Правда, тестировать пришлось ручками, а не тестами, но всё же. В итоге баги той недели исправляли ещё месяц, если не два, выпуская и рассылая багфиксы. Однако клиенты не отвалились, все остались довольны, с прогерами я ещё не раз пил пиво.
Почему запомнили именно этот косяк? Потому что это был мой первый косяк в этой фирме. И именно косяк: задумайся я на три месяца раньше, при составлении плана на следующий релиз, иконка была бы в следующем релизе… И я бы успешно профукал её появление у наших конкурентов.
А иконка так и осталась, хотя теперь ей уже почти не пользуются.
Был у Microsoft раньше лозунг: «Where do you want to go today?». Плакат с ним висел в нашем магазине. Как-то ввалился туда не совсем трезвый старик и, посмотрев на плакат, произнёс:
— Я, блин, только посмотреть на ваши телевизоры с кнопками, а меня уже с порога посылают!
Так вот ты какой, простой пользователь… А я простой сисадмин. Тот самый, который быстрее тебя найдёт, где же ты накосячил в Экселе.
Но стоп, давай разберёмся. Эксель — твой рабочий инструмент, не мой. Названия моих инструментов тебе, скорее всего, ничего не скажут.
Да, я, когда приду к тебе разбираться, почему координаты ячейки из буквенно-числовых становятся просто числовыми или почему ты изменил данные, а результат не пересчитался, или ты дал ячейке имя, а как удалить его, не знаешь, разберусь быстрее тебя. И многое другое тоже. Но ты ведь заметил, что я когда садился за твой компьютер (эй, куда подался, стой рядом! Я не ясновидящий, если ты не в курсе), я тоже не знал решения. Но я его нашёл — и нашёл быстрее тебя. Хотя Эксель я знаю постольку-поскольку. А у соседа твоего — Ворд. А ещё дальше — КАДы. А дальше вообще Матлаб и Максима. А в бухгалтерии… Вообще молчу. В общем, куча софта. И каждый пользователь уверен, что я его рабочий инструмент знаю лучше, чем он сам. Неправда это. Я просто могу разобраться в нём быстрее пользователя.
А теперь вопрос: так почему вы все считаете меня вспомогательным персоналом? Я, по вашему же утверждению, знаю ваши рабочие программы лучше вас — профессионально на них работающих. Так кто здесь важнее?
Как-то «провёл эксперимент» — заболел. Да так, что из реанимации, как из отпуска, не вытащишь. И что я увидел, вернувшись? Душераздирающее зрелище. Так что мы-то без вас обойдемся. А вот вы без нас…
Ну, а теперь почему мы ворчим. Да потому, что, во-первых, ты оторвал меня от работы (случайно вытащенную мышку вставить на место — дело минутное, а в твою проблему ещё вникать надо); во-вторых, ты позавчера приходил с той же проблемой. И послезавтра придёшь. Конечно, оторвать сисадмина от работы гораздо проще, чем запомнить или записать, где в меню нужный переключатель. Вот только знаешь что? Я работаю здесь с прошлого века, а подобные тебе «опытные пользователи ПК» меняются каждые несколько месяцев. Передавай привет коллегам и всё же запомни: свой рабочий инструмент надо знать.
— У меня тут глазик вылазиет! И поэтому кино не играется!
С таким комментарием шеф забрал ноут у одной из сотрудниц и принёс его чинить мне. На ноуте сборка WinXP Black Edition, на которую смотреть страшно. Очень долго я у шефа узнавал, что за глазик, как он выглядит и что вообще происходит. Но нет, шеф не посчитал нужным это уточнить. Странно: начальник отдела АСУ, а думает, что мы тут экстрасенсы. Пару часов я провозился, проверяя, как в каких плеерах играется видео с диска в ноуте (других видео там не нашлось) — всё окей. В итоге пошёл ловить сотрудницу, но её не было. Сел обедать, думая о таинственном глазике, который у неё вылезает, когда она хочет посмотреть видео. Как назло, именно в этот момент пришла она.
— Что у вас происходит?
— Глазик вылазиет!
— Где? Когда?
— Когда видео смотрю!
Включаю плеер — всё в норме.
— Не то видео!
— Какое?
— В интернете.
У неё своё отдельное подключение. Идём к ней в кабинет, включаю ноут:
— Показывайте.
Открывает IE (на ноуте ещё стоят Хром и Яндекс-браузер), заходит на Яндекс, дрожащей рукой печатает: «даша путеше», жмакает на подсказку «даша путешественница смотреть онлайн бесплатно». IE видит кучу рекламы и выпадает в осадок, отказываясь работать.
— Вот! Вот он, глазик!
Смотрю в книгу — вижу фигу: нет нигде на странице никакого глазика.
— Где?
Тыкает пальцем в пиктограмму настройки безопасности IE.
Закрыл, показал Ютуб, сделал закладку на быстрой панельке Яндекс-браузера.
И так каждый день: то глазики, то в Экселе курсор крестиком, то «нет доступа к сети» у выключенного компа.
Недавно своими глазами наблюдал явление, которое впоследствии могло бы быть объяснено мистикой, душой техники и прочими тонкими материями.
Подошёл к концу отпуск, проведённый в прекрасном пляжном раю. Уезжать мучительно не хотелось, но увы… Пришлось завести будильник на пять утра, чтобы успеть на трансфер в аэропорт. Настроил будильник на смартфоне, подключил его к заряднику и лёг спать. Будильник работает в мягком режиме, начиная с вибрации и постепенно увеличивая громкость.
Однако «природный будильник» поднял меня с постели за минуту до сигнала смартфона, и я воочию наблюдал рождение эпической подлянки: смартфон проснулся, зажёг экран будильника с кнопками «Отключить» и «Отложить» и тихонько завибрировал. В то же мгновение скрученный провод зарядника, нависший над экраном, точно коснулся кнопки «Отключить» и выключил будильник!
Оказывается, сенсорный экран чувствителен к прикосновению именно этого зарядного провода и не реагирует на прикосновения изоляции других проводов. Но если бы я не стал свидетелем происходящего и проспал трансфер в аэропорт, то долго ломал бы голову, обвиняя себя или высшие силы.
Я простой пользователь. Да, я быстро и качественно работаю в нужных мне программах, знаю горячие клавиши, даже простенькие макросы в Экселе пишу. Но в ряде вопросов я полный ноль. Я не смогу переустановить винду или поставить драйвера, я не разбираюсь в настройках сетевых подключений, не смогу узнать IP-адрес. Но я могу определить, когда у меня сбоит роутер, а когда проблемы у провайдера, могу даже сам настроить роутер немного — на том уровне, на котором меня научили. Предупреждая все комментарии о неумехах, скажу, что никогда не лезу куда не нужно. Все работы дома вне моей компетенции, включая покупку компьютера, выполняет приятель-сисадмин — за деньги, кстати.
Вот объясните, что мне делать, когда нечто выбивает из колеи работу? Когда в Экселе координаты ячейки из буквенно-числовых становятся просто числовыми? Когда программа начинает выдавать ошибку
XYNH000000764657X-!
и выключаться? Я не сталкивался с этими вопросами и не знаю, что вообще произошло. Дома я гуглю, трачу полчаса, час, но разбираюсь и делаю сам. Но когда я на работе, я обращаюсь к вам. Почему? Потому что вам найти решение этой проблемы проще и быстрее, вы специалисты. Пока я буду перерывать кучу тупых ответов на форумах, вы сразу отсеете ненужное. И да, я не смогу сказать, что именно привело к ошибке: слишком много действий уже успел совершить.
Тогда какого чёрта корчить рыло, бормотать: «Нашёл, блин, проблему, теперь сиди разбирайся»? Я ведь не с фигнёй пришёл, фигню я и сам могу исправить. Тогда почему на безграмотных работничков, которые случайно отцепили кабель от мышки, вы просто снисходительно смотрите, а на меня реально злитесь? Потому что подкинул лишнюю сложную задачу? Дык я вообще полгода вас не дёргал, пока проблема не возникла.
Вы там определитесь, кто вас больше раздражает: куча тупых вопросов или редкие посложнее.
Мне довелось побыть с обеих сторон баррикад — как со стороны менеджера, так и со стороны программиста. Отличаются они той фразой, которую чаще всего говорят заказчику.
Программист чаще говорит «нет»:
— Это не нужно.
— Это не получится сделать быстро.
— Все от этого давно отказались.
— Сервер это не потянет, придётся заказывать дорогой хостинг.
— Это невозможно в текущих рамках проекта.
Менеджер чаще говорит «да»:
— Да, наши программисты это вставят.
— Конечно, я добавлю это в ТЗ.
— Какая хорошая идея!
— Да, эти стопицот только что выдуманных вами свистелок можно включить в ту же стоимость.
— С этим программисты быстро управятся.
Причина — в соотношении зарплаты и трудоёмкости. Трудоёмкость для менеджера не меняется: он должен передавать программистам пожелания и следить за их выполнением. Для программиста трудоёмкость увеличивается при добавлении каждой новой фичи.
Есть проект. Есть количество работы. Есть сроки. Есть стоимость. Каждая новая фича увеличивает количество работы. В случае адекватности менеджера вместе с увеличением трудоёмкости будет отодвигаться срок сдачи и расти стоимость проекта. Но почти всегда менеджеры совершенно не имеют представления о трудоёмкости процессов, поэтому количество работы растёт быстрей, чем стоимость проекта и время на работу.
Особо неадекватные менеджеры могут предлагать заказчику свои идеи свистелок-перделок, обещая включить их в проект «бесплатно», в качестве бонуса.
Но первое, что я встретил в среде менеджеров — это святую уверенность в том, что именно они тянут на себе весь продукт, а кодеры мало того, что ничего не хотят делать, так и не успевают постоянно.
Небольшой ЦОД. Оборудован по высшему классу. Через несколько лет после запуска пропадает питание по городу. Причём по обоим вводам. ИБП протянули, сколько могли, потом должны были вступить в игру дизель-генераторы. Они не вступили. ЦОД гаснет. Клиенты в бешенстве.
Небольшая ревизия выяснила: батареи в ИБП установлены дешёвые и с меньшей ёмкостью, солярки в дизель-генераторах нет, масло не менялось с даты пуска ЦОДа в эксплуатацию. Кто виноват? Управляющий! Недоглядел. А чё глядеть-то, если оно без сбоев само работало столько лет?
Поменяли управляющего. Через месяц вырубаются оба ввода. Поочерёдно. ИБП держат, запускается дизель. Вот только сообщений от Энергосбыта не было. Дежурный энергетик звонит в Энергосбыт, там говорят, что у них всё в порядке. Интересно, думает энергетик, как это так: кабель по двум вводам порвали, а Энергосбыт не знает? Не может быть!
Идёт в щитовую. Там находит нового управляющего, нетерпеливо посматривающего на часы. На немое удивление энергетика управляющий уверенно возвращает питание, закрывает дверь своим ключом и созывает совещание. На нём выносит благодарности дежурным энергетику и инженеру за отличное состояние резерва. На вопрос, откуда доступ в помещение и знание, что и как дёрнуть, отвечает, что он отвечает за всё и должен иметь доступ везде и знать обо всём.
За год он дёргал вводы раза три. Однажды дёрнул утром 1 января и встречал заспанного энергетика с шампанским в щитовой. Ну, постепенно все привыкли и на рёв дизель-генераторов никто не обращал внимания. Только дежурный энергетик привычным маршрутом шёл в щитовую, потому как управляющий обратно вводы не включал, пока кто-нибудь не подойдёт.
Можно было бы это всё списать на чудачества нового управляющего, если бы не одно «но». Однажды, через полтора года после смены управляющего, опять вырубили оба ввода. Энергетик попёрся в щитовую, однако управляющего там не было. Через минуту прибежал управляющий с большими глазами и спросил, в чём дело. В это время в штатном режиме отработали бесперебойники и запустились дизеля. Управляющий с энергетиком, обгоняя друг друга на поворотах, побежали звонить в Энергосбыт.
Кто проектировал вводы в ЦОД, я не знаю, но лежали они в одной канаве и заходили сначала в одну подстанцию, а потом вторая ветка шла во вторую. Неизвестно откуда взявшаяся дикая бригада строителей копала канаву перпендикулярно канаве с вводами и благополучно её нашла. В конце концов аварийная бригада Энергосбыта обнаружила пустой обуглившийся экскаватор и полную тишину вокруг. Испугались ребята. А кто бы не испугался? Высоковольтный кабель — это не шутки.
Дизеля проработали в штатном режиме часов семь, пока устраняли аварию. Пару раз им подвозили солярку по договору, который сразу после вступления в должность заключил новый управляющий. Клиенты ЦОДа ничего не заметили. Только дежурный инженер, вынужденно разруливающий ситуацию, удивлялся: куда это делись энергетик и управляющий?
Как раскололся на корпоративке энергетик, после того как он понял, что ничего нештатного не произойдёт, проверил уровень солярки, посмотрел на журнал обслуживания ИБП и дизелей и позвонил поставщику с просьбой подвезти солярки, если не хватит, он взял бутылку, заныканную для Нового года, и пошёл в кабинет к управляющему. Тот, увидев энергетика с бутылкой, молвил:
— Раз с бутылкой пришёл, значит, всё работает. Наливай!