Category: природа

vit_r

Про чекистское рождество

Смотрим на аватар и запоминаем:
Vit minus R dot com

Там сейчас ничего нет, но если что, адрес всем известен.

Запомнить советую потому, что Гугл находить не будет, если сделаю так, как мне нравится. Судя по тестам, Империя Зла фильтрует определённые вещи из результатов поиска. Бинг и остальные в подобном не замечены.

А теперь к делу.
Collapse )
vit_r

В дебрях водопада

Изучая развитие технологий производства и методологий планирования процессов в области информационных технологий, всё больше и больше склоняюсь к мысли о том, что оптимизируются они по формуле P4Sh (Pay for shit! или более вежливо You have to pay for our shit.)

Причём, это действует на всех уровнях от языков программирования до создания новых направлений.

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

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

Удаётся отнюдь не всем.
vit_r

В дебрях водопада

Первое правило консалтинга:

Если тебя о чём-то спросили, не убеждай себя, что от тебя ждут ответа.


Увидел у slavinsky рассуждения об эффективности консультантов. Начал писать комментарий там, но поставлю сюда. В принципе, ничего нового, но, вроде, в компактной форме ещё не было.

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

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

Очень редко (и практически никогда в Германии) приглашающий консультантов менеджер на самом деле думает «Я не понимаю, что происходит. Я не умею работать с такой ситуацией. Я не представляю себе, что надо делать.»

Если за красивыми декларируемыми ценностями видеть скрытые личные цели менеджмента, всё становится проще.

Скажем, консультант приходит в фирму и слышит:

- Мы хотим, чтобы за три месяца вы разработали новую революционную концепцию нашего продукта.
Collapse )
vit_r

В дебрях водопада

Сейчас перечитываю свой блог с 2007 года и наводит это меня на грустные мысли. В части критики существующего положения мало что изменилось. А что делать с позитивной частью, до сих пор не понятно. (Хотя в этом вопросе я и стал мудрее на десять лет.)

Из новогодних постов знаменитых консультантов ailev и slavinsky вывел достаточно банальную вещь:

Успешный консалтинг порождает иллюзию понимания.

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

Практически распознать людей, обработанных консалтингом очень просто. (Да, как консультант я даю жульнические рецепты. Но они работают.)

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

Отконсультированный на сложнейшую проблему достанет из рукава «Я знаю! Нужно только применить Х.»

И не пробуйте заставить его немного подумать, задав вопрос «Почему?» Самое малое, вам объяснят, что вы ретроград, носитель допотопных знаний и луддит, мешающий прогрессу. (Тут с женщинами проще, они обычно пытаются хотя бы вступить в диалог с сомневающимися.)

Конечно, помогает и то, что консалтинг короток по времени. Любое изменение даёт положительный эффект или его иллюзию. А ко времени, когда вылезают неожиданные последствия, консультант уже давно растворился в голубой дали. Если он ещё и появится на горизонте, то не для того, чтобы ответить за последствия, а чтобы принести ещё более надёжную и ещё более современную идею.

Да, слово уходящего года для меня - это без сомнения «мышлема». Причём вариант «мыСлема» (в связи с которым вспоминаются религиозные войны вокруг «суши» - «суси») противоречит звучанию русского языка. Буква «с» подходит только для чего-то вроде «мысля» или «мыслишка».
vit_r

В дебрях водопада

Хотел написать вечером, получилось ночью. ailev выставил замечательную схему. Она настолько прекрасна, что я её сюда скопирую.

ailev_LJ_1289942_Схема_организации_предпринимательства

В центре - предприниматель с (чужими) деньгами. Справа - покупатели и инвестор. Слева - Инженерный Менеджер [sic], Системный Инженер, CTO/CIO.

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

Такие тут не ходят, так что можно приоткрыть завесу над тайной современной индустрии софтописания. (Предваряя вопросы, замечу, что я знаю, как надо, но это рассказ долгий и не сейчас.)
Collapse )
vit_r

В дебрях водопада

Маленькое добавление к делу Фольксвагена. Всегда думал, что уж в ситуациях, когда на кон поставлена жизнь людей, управленцы не опускаются до лжи. Хотя бы потому, что не хотят оказаться под трибуналом. Оказалось, это далеко не так.
Огромная проблема состояла в том, что мы четко знали, что горловское направление оставалось абсолютно голое - от Углегорска до Светлодарска там никого не было, кроме одного наблюдательного пункта из трех бойцов 54-го батальона. Как это можно было допустить? Сказать, что не знали - нельзя, потому что 6 февраля я докладывал командующему сектора об этом, и мой начальник артразведки докладывал, 8 числа, в ночь перед захватом Логвиново. Просто моя разведка и саперы ногами прошли горловское направление, и они прозрели, когда там побывали. Вернулись, смотрят на меня, у них волосы шевелятся, и говорят: "Командир, там никого нет". Я спросил, а какие-то водные преграды, еще что-то. А они, что, командир, мы там пешком прошли, а значит, танки проскочат. И я понимаю, что мы в жопе. Но когда я докладывал ситуацию командующему сектором, что в разных местах (и показывал, каких именно) не очень сладкая ситуация и возможен прорыв, командующий при мне докладывал начальнику Генштаба о том, что все хорошо. Поэтому люди, которые это допустили, должны бы отвечать, но один из них уже получил орден Ярослава Мудрого. А второй сейчас курирует мой батальон.


Как, чёрт побери, это знакомо.

И ещё про расстановку приоритетов. Теперь просто в ИТ.
Потому что рано или поздно вы, переключая контекст, ошибетесь. Это только вопрос времени. А практика нас учит, что данные ценнее кода. Если поломается ваш код - это поправимо. Если ваш код поломает данные - придется сливать воду.
kondybas в споре с программистами (Опа! Для меня доступ тоже закрыт. Чистота FP хранится строго)
vit_r

В дебрях водопада

Заметил опасную тенденцию: то, что раньше писал на русском и намёками, сейчас выдаю на английском и практически прямым текстом. Хорошо, что в закрытых группах и там, куда никто не ходит. Если мысли распространятся, результаты будут катастрофическими как для карьеры лично, так и для индустрии в целом.

По этому поводу возникла пара вопросов. Вдруг, кто знает.

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

Хочется чего-то большего.

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

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

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

Ещё интересна места, где бы можно было сделать вброс. Скажем, прийти к проповедникам agile и устроить там скандальчик. При этом хотелось бы наличие адекватной составляющей доходящей хотя бы до половины аудитории. (Я понимаю, что требования взаимоисключают друг друга, но всё-таки...)

Найденные на данный момент варианты или не удобны до отвращения, или наполнены неадекватом больше критической массы. Когда-то сидел в ньюсгруппах, но по нынешним временам они пусты и не интересны. По крайней мере, те, что удалось найти.
vit_r

В дебрях водопада

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

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

С софтом, что завязан на мехатронику, попроще, но там свои приколы.

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

А гении не врубаются.

При этом на нуле познания не о какой-нибудь коммуникативной психологии, или псхиологии восприятия, а в самых банальных базовых принципах:

- Я знаю, как работает компьютер, а человеческий мозг похож на компьютер (который я знаю), следовательно...

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

Софтописание - дисциплина гуманитарная. При этом, именно в этой области познания как у питекантропа в матанализе.

И как прикажете выражаться понятно и просто, при этом никого не обидев?

Писал одному по делу. Простое «нет» пришлось преобразовывать в набор более понятных фраз. И то, не известно, насколько будет воспринято.

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

Ниже краткий перевод существенной части.

The Joy-Factor-Problem


Collapse )
vit_r

В дебрях водопада

Написал мейл, начинающийся с загадочной фразы на плохом английском: "we are engineers and we can speak with numbers." В мейле про то, что наши героические, широко разрекламированные и горячо поддержанные всеми слоями менеджмента усилия по ускорению программы приносят на круг порядка минуты в процессах добычи данных, при этом на саму оптимизацию этой добычи софт тратит минимум в двадцать раз больше времени.

По сути, второй подарок такого маштаба после скрипта, убивающего 365/7/24 кластер.

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

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

В дебрях водопада

Waterfall:
You need well defined requirements or at least clear goals to speak with people that give you money.
Agile:
You take the money and then ask your sponsors how to burn it.


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

Впрочем, эта тема дальше не пойдёт. Надо взять чего-нибудь попроще.

Весь опыт работы вокруг спецификаций говорит о том, что в книжках, докладах и сертификатах всё более или менее фигня. Единственное абсолютное и необходимое требование на требование - это наличие двух полей:
  1. Owner
  2. Stakeholder(s)

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

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

Пусть там, даже, стоит «TBD», «UNKNOWN» или «Х/З». Это гораздо лучше, чем десятки и сотни человеколет, которые сгорают в попытках найти того, у кого есть хоть-какая-то информация.

В одном недавнем проекте ко мне подошёл один местный гений и сообщил:

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