Аналитики vs инженеры, математики vs физики. Пост по итогам 10 главы курса СММ-2024

Первое, что мне понравилось в этой главе - это раздел про четыре обязательных вида разбиений системы (и пятый “почти обязательный”) и связанные с ними описания. Думаю, что это одна из самых практичных идей в курсе, которую сразу хочется брать и отрабатывать в практике. И это тот самый случай, когда курс по сути дает мета-модель для описаний на проекте и это помогает экономить внимание. В большинстве случаев документация проектов содержит в том или ином виде “лоскуты” информации из приведенных выше разбиений, но там ключевой вопрос: “А достаточно ли этого?” Дальше честный ответ: “В общем случае недостаточно, но вот необходимый минимум!” И это гарантия, что мы не совершаем “новичковых” ошибок. Это очень хороший инструмент. Ну и попробовав его приложить к текущему проекту тоже выявил недостатки текущих своих “гибридных” описаний и пошел их дорабатывать.

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

И еще одна мысль в эту сторону. В западных проектах и командах намного меньше распространены аналитики в виде отдельных сотрудников. Чаще всего ожидается, что аналитик - это роль, которую могут играть если не все члены команды, то точно все разработчики. То есть способность отрабатывать роль аналитика ожидается от инженера из коробки, а не выделяется в отдельную должность. Мне это прям бросилось в глаза несколько раз. И кажется, что это решает и проблему эффективности, и проблему профессиональных инженерных знаний для синтеза, и сразу дает ответ на вопросы “А почему я? И зачем мне это надо?”, то есть снижает риск дефицита лидерства. Похоже на элегантное решение сразу нескольких проблем.

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

Ну и самая глубокая идея про то, что основная сложность в практике возникает при типизации в реальных проектах, т.е. подборе в реальном проекте объектов соответствующего типа мета-мета-модели из курса. Все примеры с Р. Фейнманом, физикой и математикой зашли “как родные”. Я бы в ряд этих примеров еще Л.Д. Ландау добавил, у него в научной школе много было построено именно для отсечения сдающих теоретический минимум ровно по этому навыку. Вот в этом навыке надо прибавлять, это основа для беглости применения системного мышления. Я этого так ясно не понимал. Теперь, кажется, понимаю)))

4 лайка

Вот вам прямо пример из вашей текущей группы – там этот вопрос ставится письменно ))) Мой коммент как раз про вот это: [СММ-2024] Типы в голове - #5 от пользователя ailev

Это случайное совпадение. Я когда писал, думал о своих болях в компании по заказной разработке софта, прям представлял конкретных своих аналитиков))) Но пример ясен. Интересно, про разницу практик “у нас” и “на западе” мне не показалось? Есть у кого-нибудь похожие впечатления?

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

Разница практик на западе и у нас не показалась, как раз эта проблема называлась как одна из причин, почему отказались вообще от инженеров требований (это ж и есть “аналитики”). В наших курсах так примерно и описывается: синтез главный, без анализа нельзя, но разделение труда должно проходить по другой линии – уж точно не вынесение аналитика в отдельную должность. Это мы в разных курсах замечаем, нельзя на это не обратить внимания.

1 лайк

Идея “аналитики не нужны” очень красивая. Близко к ИКР: было три человека в цепочке остался один. Более того, можно даже в деньгах прикинуть сколько можно на ФОТ сэкономить, если два отдела аналитиков целиком уволить. Только я пока не представляю на сколько световых лет растянется поворот в мышлении у топ-менеджмента не знакомого со всей линейкой курсов ШСМ, чтобы такое решение им показалось хотя бы немного правдоподобным.

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

Мне кажется тут основная проблема не в топ-менеджерах, с ними можно договориться быстро. Гораздо сложнее найти таких квалифицированных разработчиков, которые умеют играть роль “аналитика”, когда надо, а потом еще кодируют нормально. Ибо все эти аналитик из сообществ где-то работают, и там они работают с разработчиками, которые “делают фичи по ТЗ”. Шаг влево - шаг вправо = коллапс. И похоже, что изменить реальную практику разработки, превратив аналитика в роль (читай разработчика в инженера, умеющего иногда работать аналитиком), много сложнее, чем договориться с топ-менеджерами. Сначала придется вырастить новый формат инженеров-разработчиков, умеющих когда надо поработать аналитиками. На западе научились лет 10 назад, кажется (у них аналитик тоже есть, их там не ноль, но они есть в действительно сложных и специфичных системах, их сильно меньше). У нас пока все впереди.

1 лайк