[Из песочницы] О здравом смысле и руководстве компаний
Мы все знаем, что при росте организации решения руководства обычно становятся все более и более неоптимальными, все дальше отходят от здравого смысла. Это связано с общим законом сложных иерархических систем, в которых руководство не выбирается, а назначается (в результате назначаются люди, худшие, чем назначающий руководитель).Это все понятно, но почему руководство в больших организациях зачастую принимает не просто неоптимальные, но абсурдные решения? Почему не руководствоваться ну хотя бы здравым смыслом? Под катом несколько примеров из трудовой биографии старого опытного программиста.
Комсомольско-буржуинские планыВсе началось в далекие восьмидесятые, со знаменитой советской бюрократии, когда в крупном оборонном «ящике», куда я распределился начинающим программистом, всех заставляли писать индивидуальные комсомольско-производственные планы. Планы были на год, на три и на пять. То есть, все программисты и другие работники (далеко не ученые со свободой выбора исследования), состоящие в комсомоле (а это 99% всех до 45 лет, кроме партийных), были обязаны сами придумывать, писать, обсуждать и принимать эти планы. На ежегодном комсомольском собрании эти планы сравнивались с реальными достижениями и выносилась оценка «выполнил» или «нет». Ну это в теории, а на практике это была ежегодная неделя идиотизма, когда каждый инженер, ломая голову от тоски и безысходности, высасывал из пальца нечто, что было бы и не слишком абстрактно типа «работать хорошо», и не слишком конкретно, чтобы потом не облажаться на этапе контроля выполнения. И главное, никто, кроме начальства, понятия не имел, какие реально у нашего отдела планы, и поэтому ну никак не мог написать что-то вразумительно про свое участие в этих неизвестных планах. Более того, даже если бы он имел полное представление об этих общих планах отдела, откуда инженер мог знать, какую именно часть и в каком объеме (на каком языке, на какой платформе и т.п.) поручит ему руководство? В общем, все прекрасно понимали, какое это бредовое мероприятие, но, увы, надо было слушаться начальство. И когда началась «WOW, GLASNOST'!» (еще до «WOW, PERESTROYKA!»), на первом же комсомольском собрании, к полному ужасу присутствующего на нем руководства отдела, единогласным и почти экстатичным голосованием мы отменили эти чертовы индивидуальные планы (демократия, блин! Мы тогда — страшно подумать — и начальников себе выбирали голосованием!). И каково же было мое удивление и почти шок, когда на «прожженном звоном монет» буржуинском Западе я столкнулся с точно таким же бредом — почти во всех больших фирмах всех программистов заставляют писать ежегодные планы самим себе. Заметьте — не высказывать пожелания («я бы хотел изучить и где-нибудь применить Скалу» или «что-то код в сериализации у нас кривой, надо бы его конкретно порефакторить, а то и переписать»), а именно писать конкретные планы. Которые потом надо будет выполнять и отчитываться об этом перед руководством — при том, что руководство будет давать тебе конечно же свои планы. Я принципиально не понимаю, как можно составлять планы снизу-вверх, если работа всегда назначается сверху-вниз. Не говоря уже о том, что программист не знает ни сроков, ни бюджета, ни секретных распоряжений высшего руководства, ни всего остального, что может влиять на годовой план. И ладно бы еще, если бы планы сначала составлялись снизу-вверх, а потом на основе них примерно так же и распределялась бы работа сверху-вниз. Но нет, все в едином порыве пишут себе планы, сдают их руководству (иногда с третьего раза), потом обе стороны на эти планы дружно забивают на год, год живут на другим, реальным планам, а через год руководство вдруг вспоминает про них на событии с названием performance review и грозно спрашивает: «почему ты не сделал одно изобретение и не подал заявку на три патента, как написано у тебя в плане? А?» Кстати, про патенты и изобретения, это я не утрирую, но про это потом. В итоге имеем ту же неделю головной боли, когда над тобой висит составление нового плана, причем критерии для него у тебя точно такие же, какие были в эпоху Совка — отписаться чем-то минимально конкретным, чтобы легко можно было «показать», что ты якобы это сделал (или трудно доказать обратное) и чтобы начальство не отфутболило уж слишком абстрактный и туманный план. Ладно, с комсомольско-буржуинскими планами разобрались, теперь дальше.
О выборе глобальных проектов и направлений Работая в тогда очень известной канадской фирме и полностью устав ковыряться в ужасном старом коде проекта нашей группы, я перевелся в другое отделение фирмы, начавшее делать «Джава-Офис». Планы были никак не меньше, чем «втоптать в грязь Микрософт». Джава — новый модный язык, только-только набиравший обороты и популярность (мы писали на версии Java 1.02). В общем, я повелся. В первый же день босс всего отделения Джава-Офис, а это человек сто или больше, показал мне прототип Офиса. То есть, сильно уменьшенную, без многих модулей и функциональности, версию. Он дважды кликнул на иконку Офиса и я стал внимательно смотреть. Смотрел, смотрел, но ничего не происходило. Прекрасно поняв мой вопросительный взгляд, начальник сказал, слегка смущаясь: «Это он так стартует медленно. А потом-то побыстрее все пойдет.» Так сидели мы минуты две и только потом появился рабочий стол, главное окно Офиса. Сказать, что я был в шоке, это не сказать ничего. Потом, уже начав работать с Джавой, я понял, насколько это сырая и медленная платформа, и чтобы достичь функциональности Офиса от Микрософт, надо было наворотить такого монстра, что он вообще едва бы ворочался на тогдашних пентиумах. И никакого улучшения от языка в обозримом будущем не ожидалось. Для меня стало совершенно очевидно, что весь проект пойдет в корзину, и я потерял всякий интерес к нему, хотя и честно выполнял свою часть работы. И когда после года работы над проектом его отменили, я испытал чуть ли не злорадное удовольствие — вот, я оказался прав! Хотя как тут можно было бы оказаться не правым, я не представляю. Неужели начальник отделения этого не видел? Видел. Тогда зачем было тратить время и ресурсы, пока не стало ясно даже уборщицам, что ничего из этого не выйдет? Более того, на карту был поставлено имя компании, потому что президент и пиарщики на всех углах почти год вещали, потирая руки, что «вот-вот все как заработает, как мы утрем нос Микрософту! «Дальше был не менее бредовый и не менее большой проект о создании корпоративного видеотелефона (устанавливается на стол каждому сотруднику). Там заранее было непонятно, кто и зачем купит такую систему, даже если мы и сможем ее сделать. И мы даже таки сделали какую-то альфа-версию, правда она требовала ну очень быстрой внутренней сети у покупателя. Но по неизвестной причине не нашлось желающих платить за криво работающий видеотелефон по 300 баксов за рабочее место. Как-то все решили, что обойдутся и обычным телефоном. И даже сейчас, в век быстрого интернета и вездесущего скайпа и аналогов, вы часто пользуйтесь видеозвонками для обсуждения дел с сотрудниками внутри одного здания?
Был еще один безумный по тем временам проект — сделать клиент-серверный эмулятор Виндов, типа юниксовских X-Windows, и продавать его корпорациям, чтобы они экономили кучу бабок на «тонких клиентах», небольших дешевых компьютерах для работников. Теоретически проект имел под собой какой-то реальный смысл, но в реальности надо было сэмулировать на сервере несколько тысяч функций виндовского API, включая все известные и неизвестные багги и «фичи», и передавать их от сервера к клиенту и обратно, не говоря уже о нагрузке на корпоративную сеть от всего этого. То есть, трудозатраты и время на проект явно превышали планы и проект тоже был брошен, что было ясно для меня с самого начала.
О производственном процессе В сингапурском офисе одного крупнейшего международного банка, на этаже программистов (!), на стене висел большой плакат с двумя белыми джентльменами, стоящими в непринужденных позах на гольфовом поле, держащими клюшки на фоне красивых сумок для клюшек, и что-то весело обсуждающими. Подпись была такая: «Work hard. We’ll take care of the rest.» Перевод: «работайте шипче, ребятушки-негры, солнце еще высоко! А мы, начальство, за гольфом в поте лица позаботимся о вас, кормильцах наших». При этом из программистов было 99% индусов, снимающих квартиры на несколько человек, а то и на несколько семей, из-за маленьких зарплат. То есть, такого наглого и откровенного стеба, даже прямой насмешки над своими же работниками я никогда больше не видел. Представьте, с каким настроением программировали эти индусы.На этаже программистов было два принтера, в противоположных концах. То есть, было больше, но другие уже давно не работали и про них даже как-то и забыли. Но эти два работали исправно и народ частенько распечатывал куски кода или документов, чтобы поработать/подумать/почитать дома или в транспорте. И вот как-то в принтере около меня кончился порошок в кассете. Я, как и положено, подал заявку на замену кассеты по нашей крутейшей внутрибанковской автоматической системе документооборота и делопроизводства. Прошел месяц, я стал как-то узнавать, почему принтер все еще не работает. Оказалось, что я подал заявку начальнику моего начальника (то есть, под ним работало человек 100–150, а всего в Сингапуре — около 500), а он ушел в отпуск за день до этого и никто, кроме него, не может распорядиться таким важным стратегическим элементом для банка, как одной черной кассетой для принтера. Прошел еще почти месяц, но кассету так и не поменяли. Тогда я опять стал копать, разбираться и узнал, что начальник моего начальника давно пришел из отпуска, но даже он не может утвердить замену кассеты, а может лишь поставить свою электронную подпись под заявкой и переслать ее другому большому начальнику… в Индию! А тот, собака, чего-то никак не утверждал. Забыл просто, наверное. Я даже выяснил его имя и написал ему письмо-напоминание, тогда через неделю принтер, наконец, заработал. Мне было очень любопытно, кто придумал такую систему в банке, что для того, чтобы сменить несчастную кассету в принтере, требовалась такая длинная цепочка, да еще и с утверждением у высокого начальства в Индии, которая не имеет ну никакого отношения к Сингапуру. В результате тривиальная операция, которая должна занимать 15–2 минут, заняла более 2 месяцев.
О патентах Работая в Сингапуре в очень известной, большой и старой IT-фирме (ей не так давно исполнилось 100 лет и ее именем раньше назывались все персональные компьютеры), я с удивлением узнал (хотя пора было бы уже привыкнуть к бреду начальствующей бюрократии), что всех программистов поголовно заставляют подавать заявки на патенты. Само собой, все заявки подавались от имени фирмы и владельцем патентов была фирма, а собственно автору доставалось «большое спасибо», и совсем небольшая премия, если патентов было больше трех за год, кажется. То есть, в тот же свой индивидуальный план на год каждый обязан был записать: «подать заявку на столько-то патентов». А работа у меня была такая: 8 часов в день, 5 дней в неделю фиксить чужие баги в чужом коде (всего кода в продукте чуть меньше миллиона строк). И как, скажите, при такой работе я должен изобрести, придумать что-то и подать заявку на патент этого чего-то? А если бы даже и просто работал над новой версией нашего продукта? Как можно придумывать что-то действительно новое, еще не придуманное, по плану? Это ж даже не картины там маслом писать или шлягеры сочинять. Тут реально думать надо. А в конце года начальник: «так и запишем: не выполнил пункт плана по патентам». Ну не бред? А планы начальников проекта были верхом словоблудия (как будто они учились в Высшей Школе КПСС!): улучшить… углубить… обеспечить… дальнейшее повышение… всеобщее развитие… и так далее.А кстати, о самой работе в этой фирме…
Специально выделенная группа поддержки третьего уровня Когда я поступал в эту фирму, то они не уточняли, в какой конкретно группе я буду работать. И оказалось так, что я стал первым и долгое время единственным программистом в только что созданной специальной группе поддержки третьего уровня. То есть, весь большой продукт разрабатывался группой разработки, чьи рабочие столы стояли рядом, а вот разбираться с реальными ошибками в продукте, поступающими как жалобы от корпоративных клиентов, и исправлять их было поручено мне. Какой злой гений менеджмента на самом верху руководства компании придумал это, я не знаю, но по их «гениальной» задумке наша группа, как и все остальные такие группы по фирме, должна была разгрузить группу разработки для собственно разработки и освободить ее от неопределенности процесса выявления и исправления ошибок. И все это якобы должно было привести к лучшему прогнозированию развития продукта. Думаю, даже ежику ясно, насколько тут все неверно, нелепо и поставлено с ног на голову. Но поскольку решение было принято где-то на самом верху (а верх реально высокий — в компании несколько сотен тысяч человек), то все взяли под козырек и дружно ринулись выполнять.Разное В этой же крупнейшей фирме девизом долгое время было (или все еще есть?) «smart то, smart сё…», вроде как она всё делает умным — от табуретки, через фирмы и города, до всей Планеты. А умным, это значит оптимальным и адаптивным, и всякое такое — через повсеместное использование разных источников информации об объекте, включая датчики, ну и компьютеров, конечно. Самых крутых и самых умных. Так вот, в офисе этой крутейшей фирмы, делающей умным всё и вся, было ну очень холодно. Большинство имело на работе теплую кофту или свитер. А в конференц-залах был вообще конкретный дубак. Не помогали даже кофты. Да и кофе остывал очень быстро. Все это при том, что на улице было +30 круглый год. Оказывается, фирма не смогла сделать минимально умным свой собственный офис и тратила нехилые деньги на излишней работе кондиционеров, не говоря уже об убытках из-за частых простудных заболеваний сотрудников и пониженной производительности труда из-за явно не комфортных условий, не говоря уже о собственно вреде здоровью сотрудников. Поэтому, мне каждый раз было просто смешно читать на больших современных экранах по стенам лобби, что «мы всё для вас сделаем smart! «Возвратимся лет на 12 назад. Шок вплоть до легкого нервного срыва я получил, когда году в 1998-м наш небольшой (60 человек) канадский стартап купила довольно крупная американская фирма. В связи с покупкой и новой фирменной большой политикой начальство решило провести суперважное единое глобальное собрание по всему миру. В «прямом эфире», в одно время. Нам повезло, потому что наш часовой пояс отличался от американского главного штаба часа на два, а вот другим подразделениям по всему миру не повезло — некоторые должны были придти на работу ночью или ранним утром и т.д. Недели за две до собрания на стол каждому положили несколько пластмассовых частей какой-то простенькой головоломки типа «собери, если можешь». И почти каждый день шли письма из штаба, что «блин, ребята, вы даже не представляете, какое важное собрание у нас будет! оно перевернет всё, просто всё в нашей фирме!». Народ уже с конкретным страхом ждал этого собрания, чувствуя, что тут могут и половину уволить легко или вообще закрыть какие-то филиалы. И вот настал день и час, всем сказали взять с собой головоломку в разобранном виде (которую каждый давно собрал минуты за две) и идти с конференц-зал. Дозвонились до штаба, включили громкоговоритель и все стали слушать речь президента фирмы. Минут 5 он вещал что-то совсем абстрактное типа «Радикальные изменения!… надо работать по-новому!» и т.д. Типа, разогревал и готовил нас к главной части. Наконец, сказал: «А теперь самое главное. Пусть каждый возьмет длинную темно-коричневую деталь головоломки». Все в полном смятении и гробовой тишине взяли в руки эту детальку. Главный босс продолжал: «Это означает, что мы едины духом!» Дальше была пара минут про Дух единства. Потом: «положите на нее белую деталь, так чтобы она вошла в паз. Все положили? У всех вошла?» (в ответ по залу вялое «Да, да…») «Вот так и мы, в сложных ситуациях будем принимать одинаковые и единственно верные решения! Все, как один!» Еще пару минут Босс вещал про это… В таком духе минут за 15 мы собрали всю головоломку из пяти частей. Последние Слова Великого Откровения были чем-то вроде: «Вся фирма! В едином порыве! Как один кулак! Я верю в вас! Мы это можем! Мы это сделаем!» Для совсем уж завершения картины не хватало только всем встать, трижды крикнуть «ура!» и спеть «Союз нерушимый республик свободных»… Ну или принять таблетки и разойтись по палатам, если бы дело происходило в психбольнице. С собрания все выходили очень молчаливые и очень подавленные. Я был, как уже написал выше, просто в шоке и в состоянии легкого нервного срыва. Среди всеобщего молчаливого потока людей я спросил почти шепотом своего коллегу, молодого канадца: «Я не уверен, что все правильно понял. Точнее, вроде я понял все слова, но ни черта не понял, что он хотел сказать и что все это значило. А ты?» Он покачал головой и ответил: «Я тоже ни черта не понял. И уверен, что никто ничего не понял. Чего от нас хотят-то?» В общем, все остальные тоже были в шоке. Только все были в шоке от тщетных попыток понять, что все это значило, а я был в шоке от того, как бред советской, как я тогда думал, бюрократии может победить в одной, отдельно взятой фирме на Западе. А скорее всего, дело было тривиально просто: начальство компании наняло какую-то супермодную и супердорогую фирму по «оптимизации бизнес-процессов, улучшению производительности, поднятию духа в коллективе, повышению качества работы» и прочей мутоте прочих важных элементов рабочего процесса. Результатом выкидывания нескольких (наверное) миллионов баксов и работы этих модных «специалистов по дальнейшему улучшению» и явилось то глобальное собрание с головоломкой. Про которое, кстати, забыли через пару дней и никогда (поняли? никогда!) больше не вспоминали — ни в нашем маленьком канадском отделении, ни в центральном американском.
Эх, можно было бы еще много чего рассказать про повсеместные нелады со здравым смыслом в больших компаниях, но уже и так многабукв. И несмотря ни на что, остается вечный вопрос: зачем, ну зачем так по-идиотски делать? Или: зачем принимать на работу таких руководителей, которые так по-идиотски руководят? Или: кому не спится в ночь глухую? Ну, а что там привычно ответило эхо, это уже другая история…