Кто пишет: Антон Васильев, 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.
И ещё криптой, тут кошельки.
Спасибо, что прочитали это сообщение.
Что ещё почитать у комьюнити:
- Tech lead с 20+ годами опыта рассказывает, как проводит собесы;
- «Какой бэкграунд у фаундеров?» и ещё 17 вопросов, которые стоит задать на собеседовании в стартап;
- Как PM найти работу в Европе? Рассказывает та, которой удалось;
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.
"Мыши, станьте ёжиками!" (С)
Годно, девбай
При чем тут девбай? Это митап аутстафф компании. Был момент, когда эти персонажи готовы были за кандидата подарить рефералу новый макбук.
Идеология которая тут продвигается видна тренированным бывалым глазом.
Во-первых, ДДД мало где приживается, во-вторых cohesion/coupling первоначально имели отношение к SOLID, в-третьих — Фаулер идет нафиг.
В четвертых, они хотят обвешать инженера таким набором обязанностей и продать ему, что сейчас во всех престижных компаниях с шестизначными зарплатами так.
А на деле, это гибрид поехавших Amazon Leadership Principles c аутсорс/аутстафф мышлением, чтоб подороже продать чистокровного арабского скакуна, а скакуну выплатить хорошо если 50% его реальной рыночной стоимости.
Марксизм-ленинизм в новой обертке: продакт майндед сениор инженер/архитектор — элита, но домик на Майорке все равно будет у СЕО и СТО.
В конечном же счете, эти энергичные ребята, которые водят руками по воздуху (а на фото таких не один и не два) никому не дадут намека сколько килобаксов упадет в карман замечательного падавана, который реализует всех их интерфейсы правильно.
топовый материал. Сейчас на проекте как раз и движемся в таком направлении через изучение ООП языка, на котором написан продукт. Учат его все инженеры, которые занимаются клаудом и не только.
Так у нас уже давно все джуны после курсов проданы как сеньоры.
Теперь их нужно как архитекторов продать?
Пользователь отредактировал комментарий 11 декабря 2023, 16:47
Теперь их нужно обучить до синьеров.
Контрпродуктивно. Они ж ЗП попросят как сеньёры. Не, брать джунов, продавать сеньёров архитектов - годный бизнес-план.