vit_r: default (vit_r)
[personal profile] vit_r
Вчера [livejournal.com profile] juan_gandhi навёл на необходимость сформулировать словами ещё одну концепцию из тех, что я знаю интуитивно, но остальной народ воспринимает почему-то совсем иначе.

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

Попробую перевести на английский.

Engineering is the process of search for an optimal compromise of a tangle of interconnected problems that cannot be solved together by consideration of all given constraints.


(Определение в этой формулировке мне не очень нравится, но с этим уже можно работать. Я сейчас быстро намечу основные контуры. Для понятного описания надо копать слишком глубоко.)

В вульгарной интерпретации отсюда следует известная формула «Быстро, хорошо, дёшево: выберите два из трёх». Реальность гораздо сложнее.

Если принять предложенное определение, первым печальным фактом придётся признать, что мы работаем в зоне высокого риска. Search is not finding. То есть, можно затратить все ресурсы и ничего не найти.

Вторая проблема - проблема планирования.

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

Решается это или банальной магией по подобию «Мы делали подобный проект и затратили X ресурсов за Y времени. Новая проблема более-менее похожа. Накинем десять процентов и запишем в план», или путём последовательных приближений плана на будущее по результатам завершённых этапов (Moneyfall modell).

Третья основная проблема - невозможность человеку со стороны отличить специалиста от балабола.

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

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

Так работают немецкие частные фирмы выросшие вокруг инженеров старой закалки (пока молодая вдова не вступает в управление и не приглашает выпускников MBA, которые всё эффективно разваливают).

Если у управляющих нет необходимых для управления инженерами знаний и опыта, есть несколько подходов. Они заключаются в работе над словами «by consideration of all given constraints»

Самый распространённый - менеджерский.


Вышеприведённые слова, грубо говоря, определяют качество. Секрет ловкого менеджмента в том, чтобы обрезать его так, чтобы никто не заметил.

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

Эффективному управлению мешает только один факт: инженер - это тот, кто отказывается снижать качество, если это снижение принципиально. Причём, отказывается вплоть до увольнения.

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

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

Вторым подходом превращения инженерных задач в управляемые в основном страдают консультанты.

Они проповедуют, что ограничения бывают мелкие и крупные. Если мелкие отбросить, решаемые задачи становятся не связанными и их можно разложить в иерархические структуры, вполне решаемые с использованием Правильных Подходов и Правильных Тулов. (Обычно консультанты продают тулы, а подходы просто к ним привязывают. Особо наглы просто обучают Правильно Думать.)

На банальных примерах это работает великолепно. Что и объясняет повсеместное распространение этой заразы.

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

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

Я не буду тут пересказывать многочисленные посты в этом блоге и указывать пальцем на кое-кого, но те, кто здесь не впервые, могут добавить этот аспект к уже известной им информации.

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

Тут игнорируются не технические ограничения, а банальные характеристики мира.

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

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

По сути дела, проблема не в отсутствии правильных решений. Само определение говорит, что их попросту нет.

Каким образом объяснить, как с этим жить, я ещё сам не вполне определился. Не столько по смыслу (это я более-менее понимаю уже лет двадцать), сколько по форме и методике объяснения.

Плюс, есть достаточно мощные экономические предпосылки для вымирания культуры инженеров.

Углубляться в них не буду, лучше добавлю про мотивацию, с которой всё началось.

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

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

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

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

Date: 2016-10-31 06:09 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Психология - это такое же место как и computer science. Если не знаешь как найти вменяемых специалистов, кажется, что вокруг одни шарлатаны.

Гм...

Date: 2016-11-01 01:18 pm (UTC)
From: [identity profile] gineer.livejournal.com
вменяемых специалистов... для чего?

чтобы они мнесделали психоанализ? %)
как-то не нуждаюсь, знаете ли

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

вот мы с вами общались... я пробовал сформулировать проблему,
на максимально обобщенном, метафорическом языке (потому что специального нет и\или я/вы его не знаю)

и что получил в результате? ваш ответ "это мне не интересно".

думаете с психологами будет не так? %)))

Re: Гм...

Date: 2016-11-01 02:14 pm (UTC)
From: [identity profile] vit-r.livejournal.com
При чём тут психоанализ?

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

Ну да, из некоторых толстых книг удаётся извлечь одну-две полезные мысли. В каких-то - один бред. Но все учебники более-менее дают представление
о современном состоянии отрасли.

Серьёзный разговор предполагает некий багаж. В принципе, можно упрощать и объяснять на этом уровне, но это очень сложно и требует слишком много усилий.

Re: Гм...

Date: 2016-11-02 11:14 am (UTC)
From: [identity profile] gineer.livejournal.com
И какой же из этого следует вывод?

Кроме очевидного, что для того чтобы разобратся в любой(ом) Х,
требуется потратить много времени (в пределе всю жизнь),
При том, что жизней у нас в наличии -- одна штука.
А подобных Х... вагон и маленькая тележка. ;)

Re: Гм...

Date: 2016-11-02 01:07 pm (UTC)
From: [identity profile] vit-r.livejournal.com
На психологию время тратить стоит.

Вот я и спрашиваю ;)

Date: 2016-11-03 08:15 am (UTC)
From: [identity profile] gineer.livejournal.com
Какую из?
Классический психоанализ? Гештальт?
А может бихевиоризм? Или новомодное НЛП? %) (и этот список явно неполон... это только что до меня, краем уха долетало)

Re: Вот я и спрашиваю ;)

Date: 2016-11-03 08:24 am (UTC)
From: [identity profile] vit-r.livejournal.com
Ту, которая нужна. Нужно было понять, как работает текст, почитал про психолингвистику. Нужно было понять про изображение, прочитал про психологию восприятия. Сейчас лежит на столе книжка про мотивацию.

А как лечить глубокие травмы мрачного одинокого внутриутробного существования, меня не интересует.
Edited Date: 2016-11-03 08:25 am (UTC)

Re: Вот я и спрашиваю ;)

Date: 2016-11-03 02:41 pm (UTC)
From: [identity profile] gineer.livejournal.com
И? Какая там психология есть для абстрактного мЫшления? ;)

Re: Вот я и спрашиваю ;)

Date: 2016-11-03 04:09 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Ладно, как-нибудь составлю опись того, что стоит на полке по психологии.

Profile

vit_r: default (Default)
vit_r

June 2025

S M T W T F S
12345 6 7
8 910 11 12 1314
15 16 1718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 18th, 2025 06:12 pm
Powered by Dreamwidth Studios