О чём курс
Очень часто при внедрении 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: от отрицания к модели архитектуры, управляемой рисками.
02
Концепции Agile архитектуры: RAD, SAFe
Архитектура, управляемая рисками.
Архитектура высокоизменчивых систем.
Роль архитектора в SAFe.
03
Работа с архитектурно-значимыми требованиями
Архитектурно-значимые требования.
Ключевые сценарии.
Основные функциональные требования, нефункциональные требования.
Подход “If it's non-functional, why do I care about it?”.
Ограничения на User Story, Enablers, Techdebt Stories, Landing Zone.
Архитектурные ограничения.
04
Процесс принятия решений, архитектурные стили
Итерационный процесс принятия решений (облегченные версии ADD).
Быстрое моделирование.
Применение стилей и шаблонов с примерами (микросервисы).
05
Документирование решений: NoUML, «живая» документация
Контекст, перспективы (Perspective).
NoUML: C4 и LADR.
«Живая» документация.Антипаттерны.
06
Организация команды, масштабируемый Agile
Закон Конвея.
Два подхода: от архитектуры или от имеющейся команды.
Антипаттерны.
07
Архитектурный надзор с привлечением инструментов CI и UT
Ключевые механизмы.
Архитектурное ревью кода.
Архитектурные модульные тесты.
Статические анализаторы кода, метрики.
Фитнес-функции
08
Ревью архитектурных решений
LAAAM.
TARA.
09
Итого на курс 16 часов: теория – 12 ч ( 75%), практика – 4 ч (25 %)
Чему вы научитесь
01
Анализировать архитектурно-значимые требования в Agile.
02
Принимать архитектурные решения с учетом рисков и компромиссов.
03
Документировать архитектурные решения в Agile-проектах.
04
Организовывать команду для эффективной архитектурной работы в Agile.
05
Осуществлять архитектурный надзор с использованием инструментов CI и UT.
06
Проводить ревью архитектурных решений в Agile-контексте
Курс проводят
Гордиенко Владимир
Эксперт в области разработки и Архитектуры ПО.
О тренере
Владимир с 2012 года занимается разработкой информационных систем. За это время прошел путь от разработчика на бэкенде и фронтенде до проектировщика информационных систем. Участвовал в разработке промышленных систем для автомобильной промышленности и коммерческих продуктов в области телекоммуникаций и интернета вещей. Специализируется на проектировании и разработке распределенных систем на основе облачных решений. Имеет огромный опыт в использовании Agile подходов в разработке и проектировании.
В рамках своей профессиональной деятельности занимался:
- разработкой микросервисной архитектуры продукта;
- решением проблем с производительностью и масштабированием;
- разработкой решений по интеграции внешних систем;
- предложением заказчику оптимальных решений на основе анализа трудозатрат и эффективности;
- консультированием и управлением командой разработки;
- анализом требований заказчика и интегрированием их в продукт;
- созданием, согласованием технических решений и контролем их выполнения;
- улучшением внутренних процессов разработки и увеличением производительности выбор наиболее приоритетных задач для разработки.
Курсы и сертификаты