Размышления в июле

Пишу только заметки "в стол", пытаюсь вытащить витающую в воздухе SoTA по архитектуре (там за последние несколько лет довольно много чего интересного произошло). Задаюсь вопросами типа "почему это все книжки по инженерии требований перестали массово выходить где-то в 2016 году, а по архитектуре продолжают выходить? Вымерла инженерия требований как отдельная дисциплина?". А ещё понятно, что это огромный такой растянутый пелетон, где корпоративная разработка софта на впереди планеты всей в развитии методов инженерии, но искусственный интеллект, разработка микрочипов и прочие подобные дисциплины быстро догоняют, да и инженеры киберфизики на месте не стоят -- но идеи, как всегда, плывут от софтовиков-затейников к хардверным инженером, и раньше лаг был 10-15 лет, а теперь всё много быстрее. И нужно отследить, что там перспективного и уже по факту в жизни есть у всех (то есть безмасштабное, фундаментальное, общее), а что надо давать в прикладных курсах. И ещё думаю, что даже в софте уже столько всего разного (ибо корпоративный софт и веб-программирование это отнюдь не всё на свете программирование, программная инженерия не менее уже разнообразна, чем всякая остальная инженерия). И для менеджмента там тоже много интересного: все эти эксперименты с продуктной организацией кросс-функциональных команд, которые выживают функциональную организацию, и чёрт с ней, трудностью общения и реюза -- ибо реюз чего бы то ни было добавляет coupling, а это зло для быстрых изменений. Это, замечу, уже какая-то объяснительная теория, а не просто "вот пошла мода на продуктную организацию, а до этого почему-то продуктная организация не выживала, только функциональная". Да, но и архитектура самих продуктов была другая (монолиты, никаких тебе микросервисов), а теперь обратный манёвр Конвея с новыми архитектурами -- и получите другие организационные решения. Что там с датами выпуска остальных глав "Системной инженерии" не понимаю, но пока я подзастрял: вносить изменения нужно в само разбитие инженерной практики на подпрактики, и требуется какое-то время, чтобы голова всё это как-то согласовала. Книжки по инженерии чего бы то ни было транслируют предыдущую SoTA архитектуры и инженерии требований. А вот специализированные книжки и статьи уже вещают новое. Поэтому моя книжка должна не пересказывать на русском языке другие книжки по системной инженерии (их есть! много!), а выдать таки SoTA, уж насколько мне это удастся.

Продолжаем обсуждать разницу между методологическим содержанием каких-то практик и методическим (материал курса). Я писал уже про разницу между тамошними архитектурами, они есть и у методматериала (описывает мастерство) и курса (описывает больше ход инсталляции мастерства в голову). А там ещё управление конфигурацией. Эта проблема известна в моделе-ориентированном программировании, которое по факту не взлетело, как я понимаю, но нужно будет дополнительно поглядеть, что там и как. Пишешь модель, генерируешь из неё исходный код. Потом нужно поправить какую-то мелочь (букву). Два варианта: правишь в модели, генерируешь новый код. Второй вариант: правишь букву прямо в коде, экономишь генерацию из модели (часто там нетривиально и не очень просто получается, "компиляция из модели в код вручную", например, и это главный мотив, "неавтоматичненько"). Итог практически всегда: модель используется для самой первой генерации, а потом все правки вносятся прямо в код. Через пару таких итераций хочешь поправить что-то по-крупному в модели, и понимаешь, что при этом пропадут 50 исправленных мелких ошибок в коде, и дальше правишь по-крупному уже в коде, а модель забываешь. Вот у нас методологический текст в wiki — это модель (удобная, кстати, для писания и как справочник, помним про "гиперкниготексты", https://ailev.livejournal.com/103692.html), а методический текст это "откомпилированный для исполнения мозгом" текст учебника и задачника, причём компиляция пока только вручную. И могу предсказать, что если "xxYxx" менять на "xxZxx", то это будет сделано не в методмодели, а в материалах курса — очень ведь будет быстро и понятно. А методологическая строгая модель-энциклопедия? Она останется нетронутой (некогда, трудоёмко, и не влияет на результат!). После пятой такой правки модель потеряет актуальность, а вот учебные материалы курса будут актуальными. А второй, третий учебные курсы, которые должны бы создаваться из модели? А их не будет, и одного курса хватит! А если будут их создавать, то воспользуются не "энциклопедией", а материалами курса! Если бы было три-четыре выходных артефакта и автоматическая генерация курса из энциклопедии, то модель была бы очевидно нужна — но и компиляция каждый раз не вручную должна была бы быть. А сейчас методическая работа одна (один курс) и она делается вручную.

В связи с последними идеями по курсостроительству вспоминаю идею "языков паттернов" (книжки, которые я сейчас читаю по архитектуре, до сих пор содержат ровно вот такое изложение), приведу фрагмент своего текста лета 2007 года, когда я ещё не знал ни системной инженерии, ни понятия практики, но очень хотел как-то структурированно излагать свои мысли на тему менеджмента (https://ailev.livejournal.com/488174.html). Я там писал про систему паттернов, которая:
-- нацелена на содействие "сдвигу в мозгах", это образовательная практика прежде всего. Так что паттерны вполне могут быть инструментом методологов организации.
-- включает обычно две части: 1. нарратив/пролог/учебник, задающий целостность системы, показывающей связь контекстов и используемых в них паттернов, часто это около 20% (http://www.theserverside.com/news/thread.tss?thread_id=28365) от всего текста 2. "справочник" по отдельным паттернам, подробно их описывающий -- 80% текста.
-- это сборник удачных типовых решений для типовых затыков, получаемых при попытках деятельности. Каждый паттерн может быть выражен сверхкратко (thumbnail для паттерна -- это фраза типа "Акционер у вас странный -- ориентируйтесь на "идеального акционера"" или "Достали непродуктивные кофликты подразделений -- сделайте критерием их разрешения ориентацию на достижение ими глобального максимума (показателей Цели)") или подробно разжеван на паре десятков страниц.
-- это "сократический метод" в специально организованной форме, каждый раздел формы паттерна заставляет отвечать на ее специфический вопрос, задавая постепенное разворачивание содержания.
-- это способ структурирования know-how для слабо проработанных предметных областей. Паттерны получают имена, и дальше можно обсуждать их применимость в той или иной ситуации.
-- это способ рефлексии деятельности (идентификация типовых затыков и удачных типовых решений, в нашем случае это инструмент общения методологов организации и организаторов).

В чате блога неожиданно был задан вопрос про то, как распознавать проблемы, а то везде (в частности, в SEBoK) написано как их решать, но откуда они берутся -- молчок (https://t.me/ailev_blog_discussion/15677). Очень хороший вопрос. При этом SEBoK говорит нам, как выигрывать в давно прошедших войнах — там не столько SoTA, сколько внятный пересказ SoTA решения проблем предыдущих поколений. Есть разные трактовки "проблемы", у одного слова довольно много словарных значений, "косил косой косой косой". Например, проблемы из "теорий" для фаундеров в варианте "найди проблему пользователя и реши её". Обычно это заключается в том, что человек имеет вялую хотелку (или даже не имеет этой хотелки), а ему придумывают способ задёшево хотелку удовлетворить. Но есть и другие варианты, например, использование практик выявления противоречий, иногда называемые практиками проблематизации. Можно ткнуть в ТРИЗ, в СМД-методологию, в голдратовские "мыслительные процессы" (где всё вокруг схемы грозовой тучи крутится), см. "творчество в системном мышлении", https://ailev.livejournal.com/1425331.html. Дальше выходим на попперианских товарищей типа Дойча. Дойч довольно подробно поясняет, как появляются проблемы в науке (из-за расхождений предсказаний теорий и наблюдаемых в жизни измерений). Если нет теории, то нет и расхождения её с жизнью, нет и проблемы. А потом помним про разные варианты решения проблемы: Хассабис различал интерполяцию (у вас ящик с сотней ручек, надо найти оптимальное положение этих ручек, но это не проблема, а задача), экстраполяцию (тот же ящик с сотней ручек, но вы некоторые ручки докручиваете при решении задачи туда, где таких их значений никто ещё не видел, "идёте в ранее не наблюдавшееся") и вот таки реальное "решение проблемы" -- выкидываете старый ящик со всеми его ручками и выставляете новый, с новыми ручками, которые крутить для оптимизации можно проще и решение будет точнее. Ну, типа как выкинули ньютоновскую механику с силами тяготения и предложили искривление пространства-времени без сил тяготения -- и многие проблемы (неточное предсказание результатов эксперимента: противоречие жизни и предсказаний теории) с гравитацией были решены. Но проблемы в части несовпадения результатов на микромасштабах квантовой физики остались. Можно только вот такие проблемы считать проблемами. В этом плане AI проблем пока не решает. А эволюция решает (и люди тоже решают, но неправильно считать, что отдельные люди. Все вместе, та же эволюция, только меметическая и с какой-то оптимизацией эволюционного алгоритма).

На каком уровне нужно владеть практиками интеллект-стека? Тут мы влезаем в большую дискуссию, что такое "норма". При этом в инженерии нет понятия "нормы", но есть понятие SoTA (state-of-the-art). При этом инженерия чётко говорит, что преодолевать нужно техническими средствами, а не биологическими. Грубо говоря, не развивать телепатию, а давать сотовый телефон. Не надо бегать быстрее, надо давать людям велосипед. То есть можно учиться дальше, а можно чему-то выучиться, и иметь Aisystant (последние два пункта https://ailev.livejournal.com/1637656.html и ещё про подсказчики в моделерах и текстах более ранний текст https://ailev.livejournal.com/1515735.html). Поэтому "развитие человека выше нормы", "обучение человека выше нормы" — это сильно провокационный термин, если мы не говорим о рекордах Гиннеса или цирке. В принципе, танцы и цирк недалеко друг от друга ушли, но вот системный фитнес в сути своей не для цирка как основное направление, куда он работает. У нас тут неделю назад было обсуждение, один из инструкторов этого фитнеса жаловался: "люди решают свою проблему, и перестают заниматься системным фитнесом, а должны развиваться бесконечно". Он-то сам препод-инструктор, он и будет развиваться бесконечно, показывать студентам что-то цирковое, чтобы привлечь внимание и продемонстрировать свои способности (и продемонстрировать их ещё и себе самому, ему ж интересно! Он не случайно стал инструктором!). А у человека перестала болеть спина, получилось вновь завязывать шнурки на ботинке, получилось станцевать на вечеринке (а не на олимпийских играх!) — и ладно, бюджет времени на системный фитнес ограничен, ибо есть и другие интересы в жизни. Преподам телески это, понятно, претит, они обсуждают, как заставить студентов продолжать совершенствовать своё тело. Но смотреть надо на жизнь в целом, оптимизировать на всех системных уровнях, а не только на уровне системного фитнеса. Всё это рассуждение переносится и на весь интеллект-стек в целом. Кто-то резко стал умнее от нашего подготовительного курса "Системное саморазвитие", поднял самооценку, увеличил мыслительную производительность втрое, и ему норм. А кто-то уже давно мудрец, и ему вся программа "Бесконечное развитие" на один зуб -- и дальше нужна будет специальная литература. И всё это не впрок, а для каких-то проектов. А потом? А потом может и сам интеллект-стек станет делом жизни (вот как у меня), и тогда ни на что другое времени и не останется. Впрочем, у меня время остаётся на проекты: и Школа немаленький уже проект, и проекты студентов, с которыми приходится сталкиваться. Поэтому внятного ответа на вопрос о нужном уровне владения практиками интеллект-стека нет и не может быть. Как с игрой на фортепиано: один научится играть "Мурку" (или "К Элизе", это ж без разницы), и будет счастлив, а другой пока не сыграет в самом большом концертном зале мира, не успокоится. И между ними пропасть. И ещё всегда есть опция "вам этого не нужно, вас и так неплохо кормят".

Началось с Евровидения, которое стало политикой через попсу, а теперь мне трудно смотреть America Got Talent, ибо там ещё не политика, но через одного перед началом выступления парад жертв: кого-то травили в школе, у кого-то у мамы-папы (или у него самого) рак, кто-то сбежал из абсолютно неразвитой страны и только-только перестал голодать, и так примерно половина -- сначала рассказать о серьёзной беде, выжать слезу у публики и жюри (и обязательно всплакнуть самим, прямо перед выступлением), а потом уже быстро профессионально успокоиться и немедленно круто развлечь. Всё это соревнование по развлекухе, entertainment. Нет, я понимаю, что одно такое выступление на десять -- вроде немного должно быть. Но из всей сотни конкурсантов их тогда был бы десяток жертв-развлекателей. Но мне лично кажется, что там такого уже примерно половина, а не десять процентов. Америка начала находить не просто талантов, но талантливых жертв, какая досада. Вот тут их гнездо, сходите поглядите сами: https://www.youtube.com/agt.

Почитал новости. В новостях через одну "читатели газеты X возмутились фактом Y". Это что, других новостей нет?! Это что, серьёзно выдаётся за какое-то важное событие, что кто-то там (имени не знаем) что-то высказал в комментах к какому-то материалу какой-то газеты?! Вы читали когда-нибудь комменты при газетных статьях, неважно даже насколько популярных газет? "Читатели возмутились" -- это что, двадцать читателей возмутилось, а сто двадцать похвалило, или наоборот? Более того, кто все эти люди, кто пишет комменты к этим газетам, кто там возмущался, почему их мнение важно?! Когда я читаю "немецких пользователей социальных сетей очень сильно рассердили слова..." (это вот прямо сейчас на странице выдачи краткой информации о происходящем в мире на первой странице Яндекса), я понимаю, что меня держат за идиота. Спасибо, я авторов таких текстов идиотами не считаю, я их считаю чем-то типа напёрсточников, у которых "ничего личного, это наш бизнес". Второе, что мы узнаём, так это мнение самых разных экспертов. А вот чего не узнаём, так это мнение лиц, принимающих решения. Об этом молчок. Ещё один интересный трюк: высказывание на три строчки лица, принимающего решение бьётся на эти самые три строчки и подаётся тремя новостями (ага, новость -- это каждая сказанная фраза! Если три фразы было сказано, то это будет три отдельных текста). К каждой такой строчке затем добавляется пара абзацев справочки официальной версии общей ситуации в мире, одни и те же абзацы не только к каждой из этих строчек, но и вообще ко всем одиноким разодранным на цитаты строчкам всех остальных ньюсмейкеров, включая таких ньюсмекеров как "пользователи социальных сетей" какой-то страны (или даже всей планеты, чего уж там. В Советском Союзе это называлось "письма трудящихся", паттерн-то вечный!). Итог: мало кто понимает, что вообще происходит. Хотя время от времени прорываются какие-то новости. Например, идёт полным ходом организация госплана и регулирования цен. Это, вообще-то, революция: смена общественного строя. Важное событие? Вроде да. Но в прессе об этом нет. Зато мы знаем каждую оговорку Байдена (но только оговорки, а не тезисы его выступлений. Живём в мире известных оговорок при произнесении неизвестным тезисов). А что там про оговорки кого-то поближе к дому? О, эти люди не оговариваются! И говорят мало. Приходится выдавать их тезисы по одной фразе на новость. Журналисты, меня от вас тошнит. Напишите об этом, "пользователи социальных сетей выражают недовольство работой прессы, качеством подачи материала", слабо? Или я только что обидел социальную группу, и так нельзя? Но я ж про себя пишу, тошнит-то меня. Ну, и критика качества работы, "ничего личного, обсуждаем подачу материала, вот как это должны делать на журфаках". Хотя я понимаю, что для кого-то это и есть "качественная работа", то что сегодня происходит в прессе. Но пока я вижу, что совок окончательно вернулся: двойная мораль, одна в жизни, другая в газетах. ОК, просто примем к сведению: новостей нет.

А других новостей у меня нет. Хотя есть. Поменял вот подшипники в самокате, он стал греметь меньше, но всё равно гремит -- когда я его качу по плитке, прямо как лягушонка в коробчонке из сказки едет. Полюбил сметанник из "Мельница. Хлебные традиции" кафешки-пекарни в Сокольниках. Купил ботинки, но первый раз не в Ecco, ибо там колодка стала неудобна (что, у меня ноги изменились?), да и вообще модельный ряд как-то не показался в этом году. И это как раз в тот момент, когда Ecco лишилось звания поставщика королевского двора в Дании за то, что приняло решение оставить все двести своих магазинов в России, https://obzor.lt/news/n82445.html. Я зашёл в соседний бутик и купил ботинки там, из той же ценовой категории, но вот сейчас силюсь вспомнить бренд, и не в силах. Ну, дорогие маркетологи и бренд-менеджеры, извинити. Обувь это коммодити, я Ecco различал только потому, что носил туфли этого бренда лет двадцать, если не больше, ибо была колодка удобная. А сейчас ррраз -- и перешёл на наверняка не менее знаменитый, но для меня полностью сейчас безымянный бренд. Вот тебе и меметика, вот тебе и нейромаркетинг.

UPDATE: обсуждение в https://www.facebook.com/ailevenchuk/posts/pfbid0whkppbmX4KP47GLs8x1nFdkgKji3YL2wMeJUHBV6tCAxhgog8kiMCg4ZFBrNc5y2l, в чате блога с https://t.me/ailev_blog_discussion/15684

Источник: https://ailev.livejournal.com/1638928.html