Блог

«Всем придётся стать архитекторами». Главные выводы и прогнозы по Software Architecture с митапа TechSpot

В сентябре мы проводили ивент по архитектуре: обсуждали актуальные подходы, решения и делали прогнозы по трансформации software architecture. 

Делюсь кратким конспектом двух докладов — от Director Platform Architecture в PandaDoc и автора O’Reilly.


Кто пишет: Антон Васильев, CTO компании On The Spot — организатора митапов TechSpot про IT-архитектуру и распределенные системы. 
Обязательно прочитайте, как On The Spot организовывали митапы в Варшаве. 


Атмосфера перед началом ивента

«Ценность  системы — это ее связи, а не сумма компонентов»

Спикер: Влад Хононов, Software Architect, автор «Learning Domain-Driven Design» издательства O’Reilly и известный спикер. Доклад ссылался на новую книгу Влада «Balancing Coupling in Software Design», которая еще не опубликована.

  • Термин «coupling» (связанность) определяет, насколько взаимозависимы компоненты в системе. Обычно рекомендуют стремиться к низкому количеству связей, так как каждая из них уменьшает степень свободы. Однако Влад Хононов предлагает взглянуть на ценность системы не как на сумму частей, а оценивать сами связи.
  • Связанность — не препятствие, а инструмент проектирования: она помогает выявить изменения, которые можно внести в систему, сохраняя при этом ее функциональную целостность. 
  • Вместо того, чтобы избавляться от связанности, оцените связи в системе: работают они на вас, против вас, и можно ли обратить их в свою пользу. «Хорошая» связанность или нет, зависит от сочетания параметров Сила, Расстояние и Изменчивость.
  • Сила — это то, насколько влияют изменения в одном компоненте на другие. Чем больше Расстояние между связанными компонентами, тем сложнее координировать реализацию изменений. Поэтому цена изменений пропорциональна расстоянию между компонентами, а жизненный цикл ему обратно пропорционален. Изменчивость — это частота модификации связанных компонентов. Если компания предлагает инновации и выделяется на рынке, Изменчивость будет высокой.
  • Чем выше Сила, тем выше вероятность каскадных изменений. Чем выше Изменчивость, более нестабильна система и тем чаще придется заботиться об изменениях. Чем выше Расстояние, тем сложнее координация и выше цена изменений.
  • Оценивая параметры выше, можно узнать «стоимость» связанности — или же, по термину Влада, «Боль от обслуживания». Боль от обслуживания = Сила * Расстояние * Изменчивость. 
    Соответственно, чтобы минимизировать Боль от обслуживания системы, нужно один из параметров сделать = 0. Оценивая возможности этого, можно принимать прагматичные решения по развитию системы.

А вот и запись доклада: 

«Разработка сложных систем изменилась»

Спикер: Иван Подобед, Director Platform Architecture в PandaDoc. 

В докладе «The Next Big Thing In Architecture Domain» Иван поведал о трансформации архитектурных практик, сделал прогнозы и представил свой стартап. 

  • Процесс разработки сложных систем изменился. Принятие решений становится распределенным потоком, который затрагивает проектирование продукта и организации.
    Схема из книги «Facilitating Software Architecture» .
  • Техлиды, архитекторы или другая централизованная власть становится узким местом в динамичных компаниях. Есть два решения: поставить архитектора в каждую команду или сделать всю команду «архитектором», то есть наращивать потенциал принятия архитектурных решений. Все, кто имеет полномочия и потребность влиять на продукт, являются архитектором.
  • Настоящий кросс-функциональный подход — это про междисциплинарность,  а не про добавление в одну команду бэкенда, фронтенда и QA. 
  • Решения РМов, сейлзов, аналитиков влияют на дизайн и эволюцию системы, но не имеют ни ADR, ни архитектурной документации. Значительная часть контекста, важного для создания успешной архитектуры, остается не документирована.
  • Fitness function помогает определить, хороша ли архитектура, но не дает нам достаточного понимания системы. Приведение к наименьшим значениям — хорошо, но можно ли построить из них масштабную систему?
  • Эволюция — это последовательные изменения системы в рамках отдельной продуктовой области-домена, которая развивается к идеальному состоянию. А фитнес-функция только позволит механически проверить качество отдельных аспектов системы (пуговицы пришиты хорошо, но пиджак все равно не застегивается — пуговицы сделаны из бумаги).
  • Единственная действенная логическая декомпозиция системы — на основе домена (см. DDD), потому что она гарантирует согласованность coupling и cohesion.
  • Архитекторы тоже ошибаются. Поэтому сотрудничество и помощь команды, особенно если она разделяет контекст, важны. Но нужен продвинутый тулинг.
  • Сотрудничество, а также оунершип полного цикла (концепт «You Build It, You Run It») — две большие тенденции будущего.
  • Действительно сильные команды способны нести ответственность за свои решения, их последствия и могут напрямую общаться с кастомерами. Быть product-minded инженером — это уметь строить причинно-следственные связи насчет проектирования, эксплуатации и внедрения системы.
  • В будущем инженерные команды должны стать архитекторами. То есть расширить области экспертизы, уровень ответственности и видеть систему на более глубоком уровне. 
  • Самое главное: всем придется стать архитекторами. И инженерам, и продуктовым менеджерам, и инженерным менеджерам, и аналитикам. Сделать так, чтобы все стали архитекторами, очень непросто. Нужна будет помощь инструментов нового поколения, которые умеют работать с полным контекстом систем. Одним из таких инструментов станет System5.dev — новый продукт, который представил Иван. На сайте уже можно попробовать и применить новый Architecture Copilot.

А вот и запись доклада: 

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

Мнение автора может не отражать позицию редакции. 



dev.by, как и другим честным медиа, сегодня очень сложно: редакция работает за пределами страны, а наши рекламные доходы сократились в несколько раз. Но мы справляемся — с вашей помощью. Это вы делитесь с нами инфоповодами, мнениями, опытом, временем и вниманием. А 230 читателей поддерживают нас донатами.

В 2023 году мы хотим собрать 1000 читателей-подписчиков.

Помочь нам можно через Patreon
Из Беларуси — через Donorbox.
И ещё криптой, тут кошельки.

Спасибо, что прочитали это сообщение.

Что ещё почитать у комьюнити: 

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

1

"Мыши, станьте ёжиками!" (С)

3

Годно, девбай

Аллах  Математик
Аллах Математик Рэппер в Perfect Hip-Hop
-2

При чем тут девбай? Это митап аутстафф компании. Был момент, когда эти персонажи готовы были за кандидата подарить рефералу новый макбук.

Идеология которая тут продвигается видна тренированным бывалым глазом.

Во-первых, ДДД мало где приживается, во-вторых cohesion/coupling первоначально имели отношение к SOLID, в-третьих — Фаулер идет нафиг.
В четвертых, они хотят обвешать инженера таким набором обязанностей и продать ему, что сейчас во всех престижных компаниях с шестизначными зарплатами так.

А на деле, это гибрид поехавших Amazon Leadership Principles c аутсорс/аутстафф мышлением, чтоб подороже продать чистокровного арабского скакуна, а скакуну выплатить хорошо если 50% его реальной рыночной стоимости.

Марксизм-ленинизм в новой обертке: продакт майндед сениор инженер/архитектор — элита, но домик на Майорке все равно будет у СЕО и СТО.

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

0

топовый материал. Сейчас на проекте как раз и движемся в таком направлении через изучение ООП языка, на котором написан продукт. Учат его все инженеры, которые занимаются клаудом и не только.

nothing
nothing Свободный гребец в Галера
2

Так у нас уже давно все джуны после курсов проданы как сеньоры.
Теперь их нужно как архитекторов продать?

Пользователь отредактировал комментарий 11 декабря 2023, 16:47

Антон Васильев
Антон Васильев CTO в On The Spot Development
4

Теперь их нужно обучить до синьеров.

гр. О.  Бендер
гр. О. Бендер Капитан в свободном плавании
-1

Контрпродуктивно. Они ж ЗП попросят как сеньёры. Не, брать джунов, продавать сеньёров архитектов - годный бизнес-план.