October 17th, 2016

vit_r

Moneyfall taming and other lost secrets of ancient ages

Вчера 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»

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