ПиАПС, Лекция №1а - Роль архитектора, гибкая...

27
Введение Роль архитектора, гибкая архитектура

Upload: pavel-shalagin

Post on 23-Dec-2014

120 views

Category:

Education


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

ВведениеРоль архитектора, гибкая архитектура

Page 2: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

АрхитектураКак сущ.: структура и декомпозиция всего продукта в виде набора взаимодействующих модулей. Как глаг.: понимание что требуется создать, принятие инженерных решений, концепция решения, основаные на требованиях; а так же трансляция этой концепции команде и техническое лидерство, чтобы все участники понимали концепцию и были способны вносить свой вклад в успех мероприятия.

Page 3: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Что есть архитектура?Существенные инженерные решения, которые формируют систему, где “существенность” определяется стоимостью внесения изменений.

Page 4: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Пример● Форма системы (клиент-сервер, вэб, мобильное

приложение, распределенная система и тд)● Структура системы (компоненты, слои и тд)● Выбор технологий● Выбор фреймворков (каркасных решений)● Выбор подхода и паттернов (к производительности,

масштабируемости и тд.)

Page 5: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Платформа для диалога● Команды разработчиков (настоящих и

будущих)● Специалистов по БД● Безопасников● Специалистов по развертыванию,

админов● ...

Page 6: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Архитектура не популярна● Грандиозное предварительное

проектирование всего. “Analysis paralysis.”● “Эстафетное” проектирование. “● ...это детали реализации”

Попуярность “гибкого” подхода.

Page 7: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Architect Лат. “architectus” - главный строитель.

Page 8: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура
Page 9: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Архитектурные факторы● Понимать цели системы● Собирать, уточнять и сопоставлять с

реальностью требования и ограничения● Преодолевать субъективность

Page 10: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Проектирование ПО● Прийти к пониманию, как вы собираетесь

решить задачу● Выбор технологии реализации● Техническая стратегия● Владение всей картиной системы

целиком

Page 11: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Технические риски● Обнаружение и смягчение рисков● Взятие на себя ответственности за риски● “Будет ли архитектура реально работать?”● Тестирование идей как можно раньше

Page 12: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Развитие архитектуры● Непрерывное техническое лидерство и

владение архитектурой на протяжении всей разработки

● “Архитектура это не эстафета.”

Page 13: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Программирование● Практическая вовлеченность в написание

кода● Анализ кода● Написание фундаментальных участков● Чувствовать себя в одной лодке с

программистами● Постоянное самосовершествование

Page 14: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Обеспечение качества● Выбор и внедрение в команде

стандартов, практик, принципов, методик● Соблюдение следования выбранному● Контроль за целостностью всего решения,

соответствия архитектуре

Page 15: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

СотрудничествоСотрудничай или облажайся!

● Привлекай экспертов, если это необходимо

● Советуйся с командой, собирай обратную связь

Page 16: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Широта взгляда● Является ли выбранная технология лучшей?● Какие есть другие варианты как спроектировать и

построить систему?● Есть ли соответствующее типовое архитектурное

решение (паттерн)?● Осознаем ли мы компромиссы решения?● Можем ли мы доказать, что предложенная

архитектура будет работать?

Page 17: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Личные качества● Лидерство● Понятно излагать● Убедительность● Уверенность● Умение работать в

команде● Делегирования

● Консультирование● Наставничество● Организация

групповой работы● Политика● Ответственность● Позитивность

Page 18: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Власть и контроль● Руководство (guidance)● Борьба за целостность● “Сколько контроля необходимо?”

Page 19: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Сколько контроля нужно?Начать и обращать внимание на то, как команда реагирует, чтобы подстроиться: если задает много вопросов, то требуется руководство, если начинает бороться с вами, возможно вы перегибаете палку.

Page 20: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Elastic Leadership1. Выживание (в хаосе): более

директивный стиль.2. Обучение: консультирование и

наставничество3. Самоорганизация: работа над балансом

группы.

Page 21: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Из программиста в архитекторы

Дано не каждому. :)

Page 22: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Нужна ли архитектура при гибком подходе?

XP: Collective Ownership

Самоорганизующиеся команды - это сложнее, чем кажется.

Page 23: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура
Page 24: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

слишком мало● Нет понятия о границах системы● Нет понимания всей картины● Невозможность донести общую концепцию● Нет внимания нефункциональным требованиям и

ограничениям● Нет внимания ключевым рискам● Отсутствие целостности в подходах к решению● Необходимость внезапно что-то менять, что могли бы

предвосхитить● Слишком много альтернатив и вариантов выбора

Page 25: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

слишком много● нечитаемо длинные документы● слишком детальная проработка на разных уровнях

абстракции● сотни нечитаемых диаграм● все решения даже по кодированию уже приняты● “analysis paralysis” и затык с обсуждением мелочей● наступил дедлайн, а вы все еще не приступили к

программированию

Page 26: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Столько сколько нужноКритерии здравого смысла.

Page 27: ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура

Литература● Simon Brown “Software Architecture for

Developers”