Архитектурный agile mindset – это обоснованность инженерных решений плюс инструменты работы с неопределённостью.
- Доступ к github.com
- Контекст: потребность формировать и развивать функцию системной архитектуры и сообщество
- Формат: 10:00 – 15:00
- Перерывы: 10:50 – 11:05, 12:00 – 13:00, 13:50 – 14:05
- Материалы
- Обзор тренинга
- Разбивка на команды (по трое)
- Знакомство и сбор проблем участников
- Что такое архитектура?
- Где граница дизайна, микро-дизайна и архитектуры?
- Кто является потребителем архитектурных артефактов? (PoV)
- На какие вопросы должна отвечать выбранная архитектура?
- Архитектурная функция
- На ком может быть архитектурная функция?
- Грегор Хопу:шаблоны распределения архитектурной функции
- Пример из SEMAT
- Начинаем описание DoD
- Неявная тренировка time boxing и инкрементальной работы (при обсуждении результата командами)
- Критерии чеклиста:
- отчуждаемость от авторов
- декларативность
- приземленность на специфику вашего конкретного проекта
- Сценарий "архитектор уезжает в отпуск"
- Какие требования предъявляет к архитектуре PM/РП?
- Какие источники проектных рисков мы можем выделить?
- Как можно по архитектуре создать план проекта?
- Как на ранних этапах можно адресовать внешние риски в своей архитектуре?
- Как на ранних этапах можно адресовать внутренние риски в своей архитектуре?
- Границы системы и способы их фиксации – кто возьмет на себя риски
- Параллельность работ и критический путь
- Архитектор определяет границы будущего
- Продолжаем описание DoD
Архитектурные точки зрения и документирование архитектуры – как тратить ресурсы сфокусированно и рано адресовать риски? (1)
- Какую картинку видите при слове «архитектура»?
- Что важнее – схема БД или concurrency design?
- Примеры: 4+1, модель Захмана, ArchiMate, Rozansky&Woods, C4
- Какие еще PoV можете выделить?
- В каком виде можно документировать архитектурные решения? Какие артефакты можно выдавать?
- Как увидеть характеристики за диаграммами в PoV
- Типовые PoV
- Продолжаем описание DoD
Архитектура как требования к компонентам – как обеспечить гибкость и снизить стоимость поддержки? (1)
- Принятые термины: модуль=функция, компонент=конструкция, размещение, время
- На какие предположения мы опираемся при проектировании с использованием готовых компонентов или внешних систем?
- Как можно сформулировать наши ожидания от внешних компонентов?
- Как адресовать риски несоответствия нашим ожиданиям?
- Инкрементальная архитектура через заглушки
- Продолжаем описание DoD
- От чего зависят решения в дизайне и архитектуре? Где найти ответы, чтобы обосновать их?
- А дальше?
- 5 «почему?»
- A = F(?)
- Продолжаем описание DoD
Системная инженерия: архитектура как функция от требований – как делать что нужно, снизить rework и повысить удовлетворенность клиентов? (1)
- Какие виды требований можно выделить?
- Как можно определить «критические пути» в требованиях?
- Как требования определяют границы системы?
- Какие знаете типовые переходы «профиль требований → типовая архитектура»?
- Отдельно про масштабируемость
- Типовые профили: «High-Load», учетные и интеграционные системы. Характерные риски.
- Отдельно про внутренние требования. Фитнес-функция.
- A = F(?)
- Продолжаем описание DoD
- В каком соответствии находятся требования?
- Как инженерными решениями адресовать эти связи между требованиями?
- «Trade-off», «Специализация», «Компромисс»
- Как относиться к шаблонам проектирования – их ценность и проблемы
- A = F(?)
- Продолжаем описание DoD
- Что вы делаете, если не знаете что делать: требований сейчас и будущих изменений?
- Как меняется внутренняя модель качества?
- Процесс: BDUF vs YAGNI/KISS/Emergent design
- Инкапсуляция изменчивости
- Lean SWD: делегируй и откладывай
- Все уже придумано до нас: Cynefin Framework
- Поставки инкрементально vs итеративно
- Шаблоны декомпозиции требований: по сценариям и по шагам
- Процесс: Формальные vs самоорганизованные компании
- Процесс: Кросс-фунциональность и T-shaping
- A = F(?)
- Продолжаем описание DoD
- Что вы делаете, если не знаете, как делать?
- Процесс: Формальные vs самоорганизованные компании
- Ключевые ожидания к компонентам, исходя из требований
- Ранние проверки ключевых контрактов
- Внешняя и внутренняя экспертиза
- Тесты как ранняя проверка контракта
- A = F(?)
- Продолжаем описание DoD
- Влияют ли принятые процессные и иженерные практики на архитектуру системы?
- Как структура информационных потоков определяет ключевые решения: закон Конвея
- Обратный закон Конвея (риски продукта - выделенная роль безопасника - силос безопасников)
- Шаблоны коллективного владения системой по Эвансу
- Типовой DevOps Pipeline
- A = F(?)
- Продолжаем описание DoD
Системная инженерия: архитектура как функция от культуры компании – как проектировать без сопротивления? (1)
- Как мы ведем себя, когда никто не видит, “дефолтное” поведение?
- Прокликаете ли фичу, даже если нет четкого указания?
- Культуры по Шнайдеру
- Самовоспроизводство культуры
- Управление культурой
- Роли (деятельности) четко сфокусированы на участниках?
- Или роли (деятельности) "размазаны" по участникам?
- Раздеялем роль/деятельность/функцию и должность и участника команды
- В гибких компаниях какой подход более производителен?
- A = F(?)
- Продолжаем описание DoD
- Как бизнес может зарабатывать на IT?
- Зачем система нужна бизнесу?
- Какие потоки ("валют") можете выделить в процессе бизнес-деятельности?
- Fix-price/scope/time vs T&M
- Проекты vs Сервис
- Зарабатывать самим vs Развитие под поглощение
- B2C vs B2B vs B2G
- Стартап vs Зрелая
- Заказ vs Продукт
- Outsource vs In-house
- Фреймворк Buisiness Model Generation
- A = F(?)
- Какие метрики процесса ожидает бизнес?
- Продолжаем описание DoD
- Архитектура как функция от доверия менеджмента команде
- Архитектура как функция от доверия команды менеджменту
- Архитектура как функция от структуры компании
- Архитектура как функция от партнеров
- Архитектура как функция от корпоративной политики
- Reuse
- Специализация vs обобщение
- Роль документации и тестов
- Неопределённость
- Инновационность
- Тиражируемость
- Воспроизводимость конкурентами
- Снижение лояльности клиентов
- "Марафон", сервис для бизнеса
- Четко обоснованный – сфокусированный на бизнес-результате
- Результат открытого честного общения
- Архитектурная деятельность размыта по команде
- Time-boxed
- Инкрементальный
- Известные риски адресованы рано, реализация отложенная
- Не делаем «в пустоту»
- Четкое понимание, кому и зачем передается работа дальше
- Характерная для сервисных отношений модель внутреннего качества
- Какую производственную структуру выберете?
- Какую культуру манифестируете бизнесу?
- Какие метрики своего процесса манифестируете бизнесу?
- Semat Essence
- Semat Alphas Checklist
- Actions