О чём курс
Очень часто при внедрении Agile нет понимания, как совместить постулаты и рекомендации Agile с теорией и практиками архитектурного проектирования и управления архитектурой. В некоторых случаях необходимость архитектурных практик отрицается, даже в крупных проектах, что, конечно же, не приводит ни к чему хорошему.
На самом деле никакого противоречия между практиками Agile и архитектурного проектирования нет, и все развитые Agile-фреймворки это признают и обозначают места и роли для архитектурной работы.
Данный курс продолжает курс «Ключевые практики архитектора ПО» (ARC-001), в котором данная проблема лишь затронута, и изучает архитектуру в Agile-проектах досконально:
разбирается взаимосвязь Agile и архитектурных практик,
выясняется, почему и как они дополняют друг друга,
к чему могут приводить перекосы в ту или иную сторону,
как практически можно и нужно адаптировать архитектурные практики в Agile-контексте.
Рассматриваются такие практики, как:
анализ требований в условиях их неполноты и постоянного изменения,
принятие архитектурных решений (с учетом рисков и компромиссов),
документирование и самодокументирование проекта,
архитектурный надзор и ревью с использование техник Agile.
Курс сочетает в себе и теоретическое ознакомление, и практическую отработку навыков анализа проектного контекста, рисков, а также навыков технического и организационного проектирования в рамках разбираемых тем.
Цели
Дать участникам достаточно богатые представления о том, как совмещаются практики Agile и архитектуры в современной организации разработки ПО,
Исключить «детские» ошибки в будущей организационной работе (организации себя и других), вызванные упрощенностью видения по одному из направлений (архитектура/agile) или «разорванностью» накопленных знаний по этим направлениям,
Поддержать архитектурные бизнес-интересы в противовес «наивному» внедрению Agile.
Целевая аудитория
архитекторы,
технические лидеры и ведущие разработчики;
проектировщики.
Предварительная подготовка
Слушатели должны знать основные практики архитектора и основные принципы Agile методологии, крайне желателен опыт участия в Agile проекте и опыт проектирования ПО
Для кого
Архитектор ПО
Проектировщик
Руководитель группы\Тимлид
Разработчик
Улучшаемые навыки
Agile
Risk-driven model
Evolutionary Architectures
Event Storming
DDD
Impact Mapping
Инструменты
CI/CD
Agile
Расписание курсов
Программа курса
01
Особенности архитектуры в Agile
Принципы Agile и предпосылки внедрения
Особенности Agile в разных организациях
Роль архитектуры\ архитектора в Agile-разработке
Технический долг и рефакторинг
Проблемы "коррупции Agile"
Ценность архитектуры для Agile
Роль архитектуры в снижении рисков
Архитектурные риски в процессе разработки
03
Архитектурный анализ в Agile
Процесс: как устроены данные в Agile, где начинается и как развивается
Практики: Event Storming, бизнес-модель, ASR анализ
Артефакты: Результаты, которые поддерживают темп принятия решений
Фундамент и стратегия
Команды и коммуникации
Тактики и качество
Эволюция и практика
Философия архитектуры
05
Оценка архитектурных решений в Agile
Необходимость архитектурной оценки
Процесс архитектурного надзораУровни и инструменты оценки
Методы оценки архитектуры
Уровни и инструменты оценки
06
Документирование в разработке
Современное документирование
ADR
C4
Архитектура как код
ARC24
07
Организационные аспекты
Закон Конвея.
Два подхода: от архитектуры или от имеющейся команды.
Антипаттерны.
08
Итого на курс 16 часов: теория – 11 ч ( 69%), практика – 5 ч (31 %)
Чему вы научитесь
01
Анализировать архитектурно-значимые требования в Agile.
02
Принимать архитектурные решения с учетом рисков и компромиссов.
03
Документировать архитектурные решения в Agile-проектах.
04
Организовывать команду для эффективной архитектурной работы в Agile.
05
Осуществлять архитектурный надзор с использованием инструментов CI и UT.
06
Проводить ревью архитектурных решений в Agile-контексте
Курс проводят
Гордиенко Владимир
Эксперт в области разработки и Архитектуры ПО.
О тренере
Владимир с 2012 года занимается разработкой информационных систем. За это время прошел путь от разработчика на бэкенде и фронтенде до проектировщика информационных систем. Участвовал в разработке промышленных систем для автомобильной промышленности и коммерческих продуктов в области телекоммуникаций и интернета вещей. Специализируется на проектировании и разработке распределенных систем на основе облачных решений. Имеет огромный опыт в использовании Agile подходов в разработке и проектировании.
В рамках своей профессиональной деятельности занимался:
- разработкой микросервисной архитектуры продукта;
- решением проблем с производительностью и масштабированием;
- разработкой решений по интеграции внешних систем;
- предложением заказчику оптимальных решений на основе анализа трудозатрат и эффективности;
- консультированием и управлением командой разработки;
- анализом требований заказчика и интегрированием их в продукт;
- созданием, согласованием технических решений и контролем их выполнения;
- улучшением внутренних процессов разработки и увеличением производительности выбор наиболее приоритетных задач для разработки.
Курсы и сертификаты