Курс: ARC-014 new
Длительность: 16 ч.
Длительность: 16 ч.
Описание
Очень часто при внедрении Agile нет понимания, как совместить постулаты и рекомендации Agile с теорией и практиками архитектурного проектирования и управления архитектурой. В некоторых случаях необходимость архитектурных практик отрицается, даже в крупных проектах, что, конечно же, не приводит ни к чему хорошему.На самом деле никакого противоречия между практиками Agile и архитектурного проектирования нет, и все развитые Agile-фреймворки это признают и обозначают места и роли для архитектурной работы.
Данный курс продолжает курс ARC-001, в котором данная проблема лишь затронута, и изучает данную тему досконально. Разбирается взаимосвязь Agile и архитектурных практик, выясняется, почему и как они дополняют друг друга, к чему могут приводить перекосы в ту или иную сторону и как практически можно и нужно адаптировать архитектурные практики в Agile-контексте. Рассматриваются такие практики, как: анализ требований в условиях их неполноты и постоянного изменения, принятие архитектурных решений (с учетом рисков и компромиссов), документирование и самодокументирование проекта, а также архитектурный надзор и ревью с использованием техник Agile.
Курс сочетает в себе и теоретическое ознакомление, и практическую отработку навыков анализа проектного контекста, рисков, а также навыков технического и организационного проектирования в рамках разбираемых тем.
Разбираемые темы
1. Особенности архитектуры в Agile (1 ч.)- История Agile.
- Архитектура в Agile: от отрицания к модели архитектуры, управляемой рисками.
2. Концепции Agile архитектуры: RAD, SAFe (2 ч.)
- Архитектура, управляемая рисками.
- Архитектура высокоизменчивых систем.
- Роль архитектора в SAFe.
3. Работа с архитектурно-значимыми требованиями (3 ч.)
- Архитектурно-значимые требования.
- Ключевые сценарии.
- Основные функциональные требования, нефункциональные требования.
- Подход “If it's non-functional, why do I care about it?”.
- Ограничения на User Story, Enablers, Techdebt Stories, Landing Zone.
- Архитектурные ограничения.
4. Процесс принятия решений, архитектурные стили (3 ч.)
- Итерационый процес принятия решений (облегченные версии ADD).
- Быстрое моделирование.
- Применение стилей и шаблонов с примерами (микросервисы).
5. Документирование решений: NoUML, «живая» документация (2 ч.).
- Контекст, перспективы (Perspective).
- NoUML: C4 и LADR.
- «Живая» документация.
- Антипаттерны.
6. Организация команды, масштабируемый Agile (2 ч.)
- Закон Конвея.
- Два подхода: от архитектуры или от имеющейся команды.
- Антипаттерны.
7. Архитектурный надзор с привлечением инструментов CI и UT (1 ч.)
- Ключевые механизмы.
- Архитектурное ревью кода.
- Архитектурные модульные тесты.
- Статические анализаторы кода, метрики.
- Фитнес-функции.
8. Ревью архитектурных решений (2 ч.)
- LAAAM.
- TARA.
Цели
- Дать участникам достаточно богатые представления о том, как совмещаются практики Agile и архитектуры в современной организации разработки ПО,
- Исключить «детские» ошибки в будущей организационной работе (организации себя и других), вызванные упрощенностью видения по одному из направлений (архитектура/agile) или «разорванностью» накопленных знаний по этим направлениям,
- Поддержать архитектурные бизнес-интересы в противовес «наивному» внедрению Agile.
Целевая аудитория
- архитекторы,
- технические лидеры и ведущие разработчики;
- проектировщики.
Предварительная подготовка
Слушатели должны знать основные практики архитектора и основные принципы Agile методологии, крайне желателен опыт участия в Agile проекте и опыт проектирования ПО.
После окончания курса выдаётся сертификат на бланке Luxoft Training