1. Системный архитектор
и поиск нирваны
Егор Чурилов
системный архитектор
выступление на
Software Engineering ForumBelarus
Минск, 6 декабря 2014
2. Вопросы
Что такое архитектура?
Зачем она нужна?
Что значит «системная»?
Чем занимается системный
архитектор в ИТ?
Как он достигает нирваны?
3. Как говорят про архитектуру?
Архитектура –
это застывшая музыка.
(философ Ф. Шеллинг)
Изумительная архитектура в этом
вашем Париже!
(Руссо туристо)
Существующие, законченные сооружения,
у каких есть общий принцип или стиль постройки
4. Как говорят про архитектуру?
Вот сдам экзамен
по архитектуре,
махну в Париж…
(Студент БНТУ)
Ничего вы в
архитектуре не
понимаете, молодой
человек. (Профессор)
Научная и учебная дисциплина,
методы и принципы строительства
5. Как говорят про архитектуру?
Разработать
архитектуру
сервиса с учётом
масштабируемости…
(из технического задания)
C:Мой ПроектАрхитектура
(выдержка из dir c: /s)
Понимание принципов работы целевой системы,
и выражение этого понимания в моделях
7. Архитектура как дисциплина
1. Является частью инженерии – практики
организованного создания чего-либо.
в программной инженерии – архитектуры ПО
2. Язык описания целевых систем
понятный не только архитекторам!
Текст, диаграммы; UML, Archimate – десятки их…
3. Метод проектирования и принципы
построения
4+1, SOA, DDD, TOGAF…
4. Взаимодействует с другими дисциплинами
бизнес анализ, управление требованиями, проектами,
продуктами, конфигурацией…
8. Архитектура как структура
1. Принципиальная, фундаментальная,
верхнего уровня … СТРУКТУРА
+100500 определений
http://www.sei.cmu.edu/architecture/start/glossary/community.cfm
2. Начинаем с единого – с цели, и далее
«умножаем счастья и несчастья»
требования, функции, модули…
3. Описание [де]композиции
элементы и связи
4. Множественность описаний
архитектурные проекции –
тоже элементы
«Таким образом, в Переменах есть Великий предел. Он рождает двоицу образов. Двоица образов
рождает четыре символа. Четыре символа рождают восемь триграмм. Восемь триграмм определяют
счастье и несчастье. Счастье и несчастье рождают великое деяние.» (И-цзин)
10. Архитектура – это …
1. Дисциплина и метод
понимание как строить
и как описывать что есть и что нужно
2. Структура
понимание что строить – модель в голове
и описание этого – модели на бумаге
3. Результат
«застывшее понимание»
«Архитектура – фундаментальные концепции или свойства
системы в ее окружении, выраженные в ее элементах,
отношениях и принципах их проектирования и развития»
ISO 42010
В этом определении за каждым словом скрыт большой методологический смысл и
десятилетия поисков многих инженеров.
13. Бизнес, ничего личного
Размер
проекта
(SLOC)
Оптимальные
затраты на
АП*, %
Экономия
средств
за счет АП*, %
10 000 5 18
100 000 20 38
1 000 000 26 63
10 000 000 33 92
*АП – архитектурное проектирование
(с) B. Boehm, 2008 “The ROI of System Engineering”
14. Что значит
«системная» архитектура?
«Системная» vs «бессистемная»?
«Бессистемная» архитектура – это про качество
15. Архитектуры бывают разные
Архитектурная модель
городской усадьбы
Архитектурная модель
информационной системы
16. Архитектур бывает много
1. Функциональная
2. Модульная
3. Процессов
4. Бизнеса
5. Предприятия
6. Информационная
7. Сетевая
8. Безопасности…
17. Что значит
«системная» архитектура?
«Системная» архитектура: два варианта
1. Архитектура чего? некоторой отдельной системы
архитектура процессора, информационных сервисов, сайта
2. Архитектура какая? системно-организованная
(всего решения)
1. Целостность – полнота охвата проблемы, в том числе изменения во
времени
2. Многоаспектность – проблема рассматривается со всех
необходимых сторон и на всех уровнях
3. Множественность описаний – одним описанием не обойтись
4. Множественность интересов и определений – множество
целей многих заинтересованных лиц (стейкхолдеров) достигается
одновременно
5. Связность – отдельные аспекты архитектуры непротиворечиво
сопрягаются
Рассматривается не один аспект или часть,
а всё в системной целостности
18. Что значит
«системная» архитектура?
Определение «системы»
+1 к 1005002 уже существующих определений*
одна штука, состоящая из многих штук и
входящая в состав другой штуки
«многие штуки» – это компоненты системы
«другая штука» – системное окружение, среда
*Каждый порядочный архитектор за свою жизнь должен построить систему,
понять что он построил и сочинить своё определение системы.
19. Чем занимается
системный архитектор?
Три главные обязанности
1. Понимать систему
во всей целостности от целей до функций и модулей и в
течении всего её жизненного цикла (4D-понимание)
2. Объяснять систему
обеспечивать содержательную коммуникацию касательно
системы между всеми уровнями ответственных лиц
3. Описывать систему
а точнее – владеть артефактами описания: создавать,
развивать, выводить из использования…
общение, общение, общение!
21. Компетенции архитектора
Основная – системное мышление
что это такое – можно целый курс читать, но это очень важно
Компетентность в области знания
domain architects, data/information architect
Знание технологий реализации
solution architects
Принципы управления организацией
enterprise architect
Стандартизация
ISO, IEC, ANSI, OMG, W3C, TM Forum…
Коммуникация
22. Как стать архитектором?
Архитектор ПО – это
опытный разработчик,
который создаёт
программы не руками, а
силой мысли.
Системный архитектор –
это опытный архитектор,
который создаёт не
просто программы, а
сложные системы.
23. Чем занимается
системный архитектор?
начальство
заказчики
команда
технологии
системный
архитектор
devops разработчиков
описания
24. Чем занимается
системный архитектор?
сансара
начальство
заказчики
команда
технологии
системный
архитектор
devops разработчиков
описания
25. Нирвана
Сатори
Абсолютное целостное знание (о структуре)
Просветление (в методе)
Освобождение от страданий (в реализации)
Архитектура просветлённого архитектора
Идём на поиск нирваны. Её ищут все, включая архитекторов, но по своему.
Архитектура – это про строительство чего-то. Причём, скорее про работу головой, а не руками и механизмами.
Архитектуру разрабатывают, описывают
Архитектура – стратегия проектирования
Чаще всего в практике под архитектурой понимают именно особое описание внутренностей разрабатываемой системы, т.е. структуры
Анализ – борьба со сложностью
Человеческое внимание способно удерживать одновременно не более 5-7 элементов – хорошее число для элементов разбиения
Архитектура – это застывшая архитектура
Этой компании в пепелаце она точно не нужна, им гравицапа нужна, а дальше всё просто. Архитектура нужна в сколь-нибудь больших проектах, там где уже не всё просто.
KSLOC = kilo source lines of codeБез архитектуры прожить можно, но недолго. Нужна для сколь-нибудь больших и/или длительных проектов.
Согласование видения – как между партнёрами, так и «между самим собой» в разные моменты времени и в разных контекстах.
Нет «бессистемной» архитектуры методологически, это про субъективно оцениваемое качество
В первом случае всё относительно просто – это
Архитектура нужна не только архитектору, который как Кащей над златом чахнет, а всем остальным. Он должен объяснять своё понимание, чтоб уже и самому однажды понять систему.
Авторский надзор
Чувство юмора и здравый смысл
На руководителя проекта ложится основная нагрузка по управлению проектом, как деятельностью. Он контактирует и с верхами и с низами, и отвечает за то, что всё делают вместе то, что нужно .
На архитектора ложится основная нагрузка по пониманию создаваемой системы. Он так же контактирует и с верхом и с низом и отвечает за то, что все вместе понимают, что нужно сделать.
Эти позиции иногда совмещают на проектах, но рано или поздно их приходится разделять – иначе можно с ума сойти.
Индусы называют такую суету сансарой.
На руководителя проекта ложится основная нагрузка по управлению проектом, как деятельностью. Он контактирует и с верхами и с низами, и отвечает за то, что всё делают вместе то, что нужно .
На архитектора ложится основная нагрузка по пониманию создаваемой системы. Он так же контактирует и с верхом и с низом и отвечает за то, что все вместе понимают, что нужно сделать.
Эти позиции иногда совмещают на проектах, но рано или поздно их приходится разделять – иначе можно с ума сойти.
Индусы называют такую суету сансарой.