ПиАПС, Лекция №1а - Роль архитектора, гибкая...
-
Upload
pavel-shalagin -
Category
Education
-
view
130 -
download
3
description
Transcript of ПиАПС, Лекция №1а - Роль архитектора, гибкая...
![Page 1: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/1.jpg)
ВведениеРоль архитектора, гибкая архитектура
![Page 2: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/2.jpg)
АрхитектураКак сущ.: структура и декомпозиция всего продукта в виде набора взаимодействующих модулей. Как глаг.: понимание что требуется создать, принятие инженерных решений, концепция решения, основаные на требованиях; а так же трансляция этой концепции команде и техническое лидерство, чтобы все участники понимали концепцию и были способны вносить свой вклад в успех мероприятия.
![Page 3: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/3.jpg)
Что есть архитектура?Существенные инженерные решения, которые формируют систему, где “существенность” определяется стоимостью внесения изменений.
![Page 4: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/4.jpg)
Пример● Форма системы (клиент-сервер, вэб, мобильное
приложение, распределенная система и тд)● Структура системы (компоненты, слои и тд)● Выбор технологий● Выбор фреймворков (каркасных решений)● Выбор подхода и паттернов (к производительности,
масштабируемости и тд.)
![Page 5: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/5.jpg)
Платформа для диалога● Команды разработчиков (настоящих и
будущих)● Специалистов по БД● Безопасников● Специалистов по развертыванию,
админов● ...
![Page 6: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/6.jpg)
Архитектура не популярна● Грандиозное предварительное
проектирование всего. “Analysis paralysis.”● “Эстафетное” проектирование. “● ...это детали реализации”
Попуярность “гибкого” подхода.
![Page 7: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/7.jpg)
Architect Лат. “architectus” - главный строитель.
![Page 8: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/8.jpg)
![Page 9: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/9.jpg)
Архитектурные факторы● Понимать цели системы● Собирать, уточнять и сопоставлять с
реальностью требования и ограничения● Преодолевать субъективность
![Page 10: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/10.jpg)
Проектирование ПО● Прийти к пониманию, как вы собираетесь
решить задачу● Выбор технологии реализации● Техническая стратегия● Владение всей картиной системы
целиком
![Page 11: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/11.jpg)
Технические риски● Обнаружение и смягчение рисков● Взятие на себя ответственности за риски● “Будет ли архитектура реально работать?”● Тестирование идей как можно раньше
![Page 12: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/12.jpg)
Развитие архитектуры● Непрерывное техническое лидерство и
владение архитектурой на протяжении всей разработки
● “Архитектура это не эстафета.”
![Page 13: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/13.jpg)
Программирование● Практическая вовлеченность в написание
кода● Анализ кода● Написание фундаментальных участков● Чувствовать себя в одной лодке с
программистами● Постоянное самосовершествование
![Page 14: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/14.jpg)
Обеспечение качества● Выбор и внедрение в команде
стандартов, практик, принципов, методик● Соблюдение следования выбранному● Контроль за целостностью всего решения,
соответствия архитектуре
![Page 15: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/15.jpg)
СотрудничествоСотрудничай или облажайся!
● Привлекай экспертов, если это необходимо
● Советуйся с командой, собирай обратную связь
![Page 16: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/16.jpg)
Широта взгляда● Является ли выбранная технология лучшей?● Какие есть другие варианты как спроектировать и
построить систему?● Есть ли соответствующее типовое архитектурное
решение (паттерн)?● Осознаем ли мы компромиссы решения?● Можем ли мы доказать, что предложенная
архитектура будет работать?
![Page 17: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/17.jpg)
Личные качества● Лидерство● Понятно излагать● Убедительность● Уверенность● Умение работать в
команде● Делегирования
● Консультирование● Наставничество● Организация
групповой работы● Политика● Ответственность● Позитивность
![Page 18: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/18.jpg)
Власть и контроль● Руководство (guidance)● Борьба за целостность● “Сколько контроля необходимо?”
![Page 19: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/19.jpg)
Сколько контроля нужно?Начать и обращать внимание на то, как команда реагирует, чтобы подстроиться: если задает много вопросов, то требуется руководство, если начинает бороться с вами, возможно вы перегибаете палку.
![Page 20: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/20.jpg)
Elastic Leadership1. Выживание (в хаосе): более
директивный стиль.2. Обучение: консультирование и
наставничество3. Самоорганизация: работа над балансом
группы.
![Page 21: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/21.jpg)
Из программиста в архитекторы
Дано не каждому. :)
![Page 22: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/22.jpg)
Нужна ли архитектура при гибком подходе?
XP: Collective Ownership
Самоорганизующиеся команды - это сложнее, чем кажется.
![Page 23: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/23.jpg)
![Page 24: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/24.jpg)
слишком мало● Нет понятия о границах системы● Нет понимания всей картины● Невозможность донести общую концепцию● Нет внимания нефункциональным требованиям и
ограничениям● Нет внимания ключевым рискам● Отсутствие целостности в подходах к решению● Необходимость внезапно что-то менять, что могли бы
предвосхитить● Слишком много альтернатив и вариантов выбора
![Page 25: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/25.jpg)
слишком много● нечитаемо длинные документы● слишком детальная проработка на разных уровнях
абстракции● сотни нечитаемых диаграм● все решения даже по кодированию уже приняты● “analysis paralysis” и затык с обсуждением мелочей● наступил дедлайн, а вы все еще не приступили к
программированию
![Page 26: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/26.jpg)
Столько сколько нужноКритерии здравого смысла.
![Page 27: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура](https://reader033.fdocuments.net/reader033/viewer/2022061213/54987ac7b479593a678b4617/html5/thumbnails/27.jpg)
Литература● Simon Brown “Software Architecture for
Developers”