К основному содержимому
#Architecture

Practical (a.k.a. Actually Useful) Architecture • Stefan Tilkov • GOTO 2023

#Architecture #Software #Engineering

Это выступление является последним для Стефана Тилькова на goto конференциях, где он начал выступать еще в 2012 году. Я помню как в 2019 году лично посетил его выступление про архитектуру в Берлине на Software Architecture Conference. Тогда мне показалось, что он очень бодрый спикер и консультант, который еще много лет будет выступать, напишет много статей и книжек, но в середине 2023 года его не стало. Goto сделали страницу в память о его наследии, ну а дальше я расскажу про его последнее выступление, в котором он дал 10 советов для прагматичной архитектурной работы

1. Choose your perspective(s) consciously - Стефан предлагает выбирать перспективу осмысленно. Он показывает разные перспективы: доменную архитектуру (с основными сервисами по доменам и стыками с внешними системами), макро-архитектуру (с основными доменами и их взаимодействиями внутри), микроархитектуру (какие технологии используются для этих сервисов). 2. Explicitly architect your team setup - здесь Стефан фактически отсылает нас к обратному маневру Конвея и дальше упоминает книгу Team topologies 3. Match your organizational setup to project size, etc. - про эту тему я рассказывал отдельный доклад на YaTalks, правда, у Стефана фокус на том, как выглядит архитектурная работа в каждом из случаев 4. Don't be afraid to decide things centrally - для эффективной работы автономных команд требуется принять ряд централизованных решений (что довольно иронично). Стефан рассказывает про то, какие это решения 5. Pick your battles wisely - тут речь про change management и про выбор тех изменений, которые требуются прямо сейчас. Важно не запускать слишком много изменений 6. Enforce the least viable amount of rules, rigidly - здесь автор показывает важность того, чтобы правил не было слишком много, иначе мы можем потерять гибкость и слишком бюрократизироваться 7. Balance prescriptive vs. descriptive architecture - здесь автор говорит хорощие вещи, что документирование архитектурных решений - это не то же самое, что их принятие:) Часто это документирование является первым шагом, но не конечной целью. Также круто сказано о том, что хорошее архитектурное решение не может нравиться всем, а если вам удалось принять решение, удовлетворяющее всех, то скорее всего это плохое решение (на эту тему можно посмотреть клип Би2 - Компромисс) 8. Don't aim for perfection - iterate - про итеративный подход к улучшениям 9. Architect for delivery flow as much as for runtime quality - здесь Стефан рассказывает о том, что при принятии архитектурных решений надо смотреть не только на функциональные и нефункциональные требования, но и на то, как это влияет на процессы разработки. Про это я тоже рассказывал в докладе "Как мы меняли разработку лучшего* мобильного банка под требования бизнеса" 10. Be boring & do more with less - здесь Стефан рассказывает про технологическую стабильность, а также про уровень безумия компаний, который зависит от количества денег, что они готовы тратить на консультации:) В итоге, советы от Стефана звучат так

Prefer simple, straightforward solutions to overly clever and complicated, cool approaches и Focus innovation on the domain, not technology

Ну и финальный аккорд выступления посвящен тому, что архитектура до сих пор остается самой интересной областью в IT потому, что она имеет значение - если сделать ее плохо, то все развалится, а вот если сделать правильно, то успех еще не гарантирован:)

P.S. RIP Стефан. Ты был крутым архитектором, консультантом и спикером.

#Architecture #Software #Engineering