SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
1
Архитектура как стихия
Обуздываем энтропию проекта
Представление
2
Анна 

Мелехова,
ann.melekhova@gmail.com
Более 15 лет в
разработке
Parallels, Virtuozzo, Yandex
3
Не бывает отсутствия
архитектуры. Бывает архитектура
спонтанно-неумышленная
Процент успешных проектов
4
2004 2006 2008 2010 2012
29%
35% 32%
37%
39%
(c) CHAOS Report
The Standish Group
International, Inc
Сложность проекта и размер
5
Небольшие проекты (<1млн$)
20
4
76
Успешные
Неудачные
Затянувшиеся
Большие проекты (>10млн$)
52
38
10
Успешные
Неудачные
Затянувшиеся (c) CHAOS Report
The Standish Group
International, Inc
Проблематизируем
Одним из основных источников неудач IT проектов
является сложность
Проектам в ИТ нужно уменьшать сложность, а наращивать
управление
Gartner
IT complexity crisis
6
6
7
8
9
Теорема сложения энтропий:
при объединении независимых систем
их энтропии складываются
Энтропия может интерпретироваться как мера неопределённости
(неупорядоченности) некоторой системы, например, какого-либо
опыта (испытания), который может иметь разные исходы, а значит, и
количество информации. Таким образом, другой интерпретацией
энтропии является информационная ёмкость системы.
Кажется уже плохо, но докинем
При увеличении сложности проблемы на 25%, cложность
решения возрастает на 100%
Glass’ Law
10
10
11
Чем больше система, тем выше ее
энтропия, тем больше шанс
неудачи проекта
Работа со сложностью
(с) Jurgen Apello
12
Простой(simple) = структура понятна
Сложный (complicated) = структура неясна
Упорядоченный(ordered) = поведение полностью предсказуемо
Сложный/составной?(complex) = поведение частично предсказуемо
Хаотичный (chaotic) = поведение имеет высокую неопределенность
Упрощение(simplification) = делаем что-то более простым для понимания
Уплощение (linearization) = делаем что-то более предсказуемым
Работа со «сложностью»(2)
Jurgen Apello
Упрощение – это попытка сделать что-то более понятным.
Уплощение (линеризация) – это попытка сделать систему более предсказуемой
13
Работа со «сложностью»(3)
Беспальчук, Custis
14
Работа со «сложностью»(4)
Простой хорошо структурированный продукт может
демонстрировать очень сложное (complex) поведение, в то
время как сложной (complicated) путанный продукт может
вести себя упорядоченно и полностью предсказуемо
15
Jurgen Apello
Работа со «сложностью»(5)
Это прямая обязанность архитектора - решать проблемы,
проистекающие от essential complexity без добавления accidental
complexity
Neal Ford
Essential
complexity
Accidental
complexity


16
Борьба со «сложностью»
17
БРИТВА ОККАМА
• Из всех систем,
реализующих
функциональность,
выбрать самую простую
СONCEPTUAL INTEGRITY
Единообразие
архитектурных тактик и
паттернов
МОДУЛЬНОСТЬ
Разбиение по модулям как
искусство
ДОКУМЕНТАЦИЯ
Четкая и понятная
архитектурная документация,
внедренная во все стадии
процесса, доступная всем
А если ничего не делать?
Большой
шмоток
грязи
(Big Ball
of Mud)
http://www.laputan.org/mud/
18
19
Conceptual integrity? Понятная
архитектурная документация?
Conceptual integrity
20
20
Conceptual integrity
Эволюция вновь и вновь немного по-разному использует одни и те же наборы генов
<..> Эволюция не делает ничего нового на пустом месте… <…> Она работает с тем,
что уже имеется, преобразуя ту или иную систему для выполнения новой функции или
соединяя несколько систем, чтобы получить новую, более сложную
Франсуа Жакоб
21
21
Conceptual integrity
Ныне я убежден более, чем когда-либо. Conceptual
integrity - это центральная характеристика для оценки
качества продукта.
Фред Брукс
22
22
Архитектурная документация
EXECUTIVE SUMMARY
Кратко для самых
занятых
23
ОПИСАНИЕ ПРОЕКТА
В чем суть
запланированного
ROADMAP
И когда планируется
ARCH DRIVERS
Quality attributes,
requirements, constraints
КОНТЕКСТ
Система/продукт не в
вакууме
ПРИНЯТЫЕ АРХ РЕШЕНИЯ
С отсылками на контекст
и architectural drivers
VIEWS
Картинки для разных
нужд
ИНТЕРФЕЙСЫ
Их описание со всеми
ограничениями
Принятые архитектурные решения
✓ Проблема
✓ Решение
✓ Обоснование решения
✓ Рассмотренные альтернативные варианты
✓ Причины отказа от альтернативных вариантов
✓ Контекст принятого решения (стадия проекта, откуда исходила
постановка вопроса)
✓ Состав участников (с кем обсуждали)
24
Architectural drivers
✓ Функциональные требования (что делает система)
✓ Нефункциональные требования (как), aka quality attributes:
✓Производительность, отказоустойчивость, масштабируемость
✓Тестируемость, способность к отладке, модифицируемость, переносимость
✓и пр
✓ Constraints:
✓От бизнеса (время и стоимость разработки, команда и ее экспертиза, продуктовая линейка)
✓От разработки («несущие стены» проекта, языки и framework-и, legacy системы и их поддержка)
25
Виды (views)
26
Views: SEI (software engineering institute, CMU)
27
Module
Decomposition Class
Uses
Layered
Component-
and-Connector
Client-
Server
Process
Concurency
Shared
Data
Allocation
Work
Assignment
Implementation
Deployment
UML
(с) United Features Syndicate, Inc
28
29
Звучит здорово, но достаточно
ресурсоемко. Как обосновать?
Проблемы с «внедрением» архитектурных процессов
(с) Anthony Lattanze,
Infusing Architectural Thinking into Organizations

✓ Менеджмент не воспринимает разработку архитектуры как
серьезную инженерную деятельность
✓ На разработку архитектуры не выделяется ресурсов
✓ У архитектора нет career path; роль архитектора туманна для
менеджмента
✓ Разработанная архитектурная документация не используется
✓ Принятые архитектурные решения не внедряются
30
Кредо архитектора
Каждое архитектурное решение в равной степени
оказывается и техническим и экономическим решением
Anthony Lattanze
31
Зачем нужно проектировать архитектуру (1)
1. Архитектура ограничивает или делает возможным основные
нефункциональные характеристики системы, служит
обоснованием решений и базой для предсказаний свойств
системы
2. Архитектурная документация увеличивает понимание между
заинтересованными лицами
3. Архитектура продукта задает структуру организации и
наоборот.
Сarnegie-Mellon: Len Bass, Paul
Clements, Rick Kazman
32
32
Зачем нужно проектировать архитектуру (2)
4. Архитектура может стать базисом для итеративного
прототипирования, она же основной артефакт для
аргументирования сроков и стоимостей
5. Архитектурные процессы сосредоточены на построении
системы в целом, а не на разработке отдельных компонентов
6. Архитектура уменьшает сложность системы
Сarnegie-Mellon: Len Bass, Paul
Clements, Rick Kazman
33
33
Поддержка
Архитектура. Зачем?
34
34
(с) David Garlan, Tony Lattanze
чтение
документации анализ/
формулирование
необходимых
изменений
понимание
логики
работы
системы
разработка изменения
тестирование
и отладка
обновление
документации
Требования
Архитектура
Дизайн
Разработка
Тесты/
Приемка
Снижение стоимости
поддержки
прямо и косвенно
Уточнение задач
В явном виде прорисовка
решений и их последствий
Отправная точка анализа системы
Роль архитектора
35
(с) RyuichiSakuma
Менеджмент
Конечные
пользователи
Маркетинг
Сопровождение
Покупатели
низкая
стоимость
разработки
скорость,
безопасность,
удобство
modifiability
низкая цена,
не слишком
частые апдейты
конкурентные фичи,
WOW эффект,
time to market
Архитектор
Роль архитектора
Архитектор - не тот человек, который озвучивает
ограничения. Архитектор - это тот профессионал, который в
условиях ограничений предлагает возможности
из разговоров
36
Навыки архитектора
37
Деловые качества
Прагматизм; vision; понимание бизнес
процессов; инновации
Личные качества
Страсть; быстрое переключение контекста;
«незаметность»
Искусство построения отношений
Лидерство; великодушие; тактичность;
коммуникативность; переговорческий навык
Техническая база
Безусловно необходима, но совершенно
недостаточна
38
А где про все это почитать
подробнее?
39
Ping/Echo
Monitor
Heartbeat
Timestamp
Sanity
Checking
Condition
Monitoring
Voting
Exception
Detection
Fault
Fault
Masked
or
Repair
Made
Active Redundancy
Passive
Redundancy
Spare
Exception Handling
Rolback
Software Upgrade
Retry
Ignore Faulty
Behavior
Degradation
Shadow
State
Resynchronization
Esaclating Restart
Non-Stop
Forwarding
Reintroduction
PreventRecover fromDetect
Preparation
Availability Tactics
Removal from
Service
Transactions
Predictive Model
Exceptional
Prevention
Increase
Competence Set
41
42
43
Легкий и безболезненный
maintenance, простота разработки
- неужели возможно?
Завершая
44
Не бывает отсутствия
архитектуры

неумышленная архитектура имеет
неконтролируемый рост
сложности и энтропии
Сложность
это не приговор. Со
сложностью можно и нужно
работать
Архитектура

это целый пласт знания:
развивайтесь, узнавайте.
Введение архитектурных
процессов

вызывает сопротивление
системы, но…
…но оно того стоит 

ибо улучшает качество
продукта и облегчает
сопровождение системы
Архитектор
обеспечивает
взаимодействие
разработки и бизнеса
01
03
0402
05
06
45
Спасибо за внимание!

Contenu connexe

Tendances

цепков развитие управления проектами и критериев качества в ит м. цепков-16х9
цепков   развитие управления проектами и критериев качества в ит м. цепков-16х9цепков   развитие управления проектами и критериев качества в ит м. цепков-16х9
цепков развитие управления проектами и критериев качества в ит м. цепков-16х9Magneta AI
 
Big picture of it project managerment Tsepkov AgileDays 2015
Big picture of it project managerment Tsepkov AgileDays 2015Big picture of it project managerment Tsepkov AgileDays 2015
Big picture of it project managerment Tsepkov AgileDays 2015Maxim Tsepkov
 
Развитие управления проектами и критериев качества в ИТ
Развитие управления проектами и критериев качества в ИТРазвитие управления проектами и критериев качества в ИТ
Развитие управления проектами и критериев качества в ИТCodeFest
 
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахMaxim Tsepkov
 
Agile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииAgile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииCUSTIS
 
Почему Agile больше не работает
Почему Agile больше не работаетПочему Agile больше не работает
Почему Agile больше не работаетCEE-SEC(R)
 
From Agile to Teal Organization PRyug-2017
From Agile to Teal Organization PRyug-2017From Agile to Teal Organization PRyug-2017
From Agile to Teal Organization PRyug-2017Maxim Tsepkov
 
Design Weekend Ярославль 2014: Юрий Ветров — Продуктовый дизайнер. Современно...
Design Weekend Ярославль 2014: Юрий Ветров — Продуктовый дизайнер. Современно...Design Weekend Ярославль 2014: Юрий Ветров — Продуктовый дизайнер. Современно...
Design Weekend Ярославль 2014: Юрий Ветров — Продуктовый дизайнер. Современно...Yury Vetrov
 
Юрий Ветров - Продуктовый дизайнер. Современное понимание профессии - Mail.Ru...
Юрий Ветров - Продуктовый дизайнер. Современное понимание профессии - Mail.Ru...Юрий Ветров - Продуктовый дизайнер. Современное понимание профессии - Mail.Ru...
Юрий Ветров - Продуктовый дизайнер. Современное понимание профессии - Mail.Ru...WG_ Events
 
будущее проектной методологии
будущее проектной методологиибудущее проектной методологии
будущее проектной методологииПавел Алферов
 
Цели и ответственность в профессии и в жизни
Цели и ответственность в профессии и в жизниЦели и ответственность в профессии и в жизни
Цели и ответственность в профессии и в жизниCUSTIS
 
Архитектура в IT: философия и практика
Архитектура в IT: философия и практикаАрхитектура в IT: философия и практика
Архитектура в IT: философия и практикаCUSTIS
 
Применение принципов Lean в масштабах предприятия
Применение принципов Lean в масштабах предприятияПрименение принципов Lean в масштабах предприятия
Применение принципов Lean в масштабах предприятияAskhat Urazbaev
 
WUD2011: Юрий Ветров — Design Thinking. Тренинг от Stanford d.School для Mail...
WUD2011: Юрий Ветров — Design Thinking. Тренинг от Stanford d.School для Mail...WUD2011: Юрий Ветров — Design Thinking. Тренинг от Stanford d.School для Mail...
WUD2011: Юрий Ветров — Design Thinking. Тренинг от Stanford d.School для Mail...Yury Vetrov
 
Дизайн-команда в продуктовой компании
Дизайн-команда в продуктовой компанииДизайн-команда в продуктовой компании
Дизайн-команда в продуктовой компанииCodeFest
 
Николай Яремко. Использование вики методик при разработке Яндекс.Почты.
Николай Яремко. Использование вики методик при разработке Яндекс.Почты.Николай Яремко. Использование вики методик при разработке Яндекс.Почты.
Николай Яремко. Использование вики методик при разработке Яндекс.Почты.Svetlana Gulyaeva
 
Автоматизированное тестирование с использованием инструментов Behaviour drive...
Автоматизированное тестирование с использованием инструментов Behaviour drive...Автоматизированное тестирование с использованием инструментов Behaviour drive...
Автоматизированное тестирование с использованием инструментов Behaviour drive...Magneta AI
 
Дмитрий Андронов, Корпоративный UX
Дмитрий Андронов, Корпоративный UXДмитрий Андронов, Корпоративный UX
Дмитрий Андронов, Корпоративный UXMail.ru Group
 
Будущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямБудущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямCUSTIS
 

Tendances (20)

цепков развитие управления проектами и критериев качества в ит м. цепков-16х9
цепков   развитие управления проектами и критериев качества в ит м. цепков-16х9цепков   развитие управления проектами и критериев качества в ит м. цепков-16х9
цепков развитие управления проектами и критериев качества в ит м. цепков-16х9
 
Big picture of it project managerment Tsepkov AgileDays 2015
Big picture of it project managerment Tsepkov AgileDays 2015Big picture of it project managerment Tsepkov AgileDays 2015
Big picture of it project managerment Tsepkov AgileDays 2015
 
Развитие управления проектами и критериев качества в ИТ
Развитие управления проектами и критериев качества в ИТРазвитие управления проектами и критериев качества в ИТ
Развитие управления проектами и критериев качества в ИТ
 
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектах
 
Agile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииAgile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революции
 
Почему Agile больше не работает
Почему Agile больше не работаетПочему Agile больше не работает
Почему Agile больше не работает
 
Павел Биленко. Система управления проектами трансфера технологий на крупных п...
Павел Биленко. Система управления проектами трансфера технологий на крупных п...Павел Биленко. Система управления проектами трансфера технологий на крупных п...
Павел Биленко. Система управления проектами трансфера технологий на крупных п...
 
From Agile to Teal Organization PRyug-2017
From Agile to Teal Organization PRyug-2017From Agile to Teal Organization PRyug-2017
From Agile to Teal Organization PRyug-2017
 
Design Weekend Ярославль 2014: Юрий Ветров — Продуктовый дизайнер. Современно...
Design Weekend Ярославль 2014: Юрий Ветров — Продуктовый дизайнер. Современно...Design Weekend Ярославль 2014: Юрий Ветров — Продуктовый дизайнер. Современно...
Design Weekend Ярославль 2014: Юрий Ветров — Продуктовый дизайнер. Современно...
 
Юрий Ветров - Продуктовый дизайнер. Современное понимание профессии - Mail.Ru...
Юрий Ветров - Продуктовый дизайнер. Современное понимание профессии - Mail.Ru...Юрий Ветров - Продуктовый дизайнер. Современное понимание профессии - Mail.Ru...
Юрий Ветров - Продуктовый дизайнер. Современное понимание профессии - Mail.Ru...
 
будущее проектной методологии
будущее проектной методологиибудущее проектной методологии
будущее проектной методологии
 
Цели и ответственность в профессии и в жизни
Цели и ответственность в профессии и в жизниЦели и ответственность в профессии и в жизни
Цели и ответственность в профессии и в жизни
 
Архитектура в IT: философия и практика
Архитектура в IT: философия и практикаАрхитектура в IT: философия и практика
Архитектура в IT: философия и практика
 
Применение принципов Lean в масштабах предприятия
Применение принципов Lean в масштабах предприятияПрименение принципов Lean в масштабах предприятия
Применение принципов Lean в масштабах предприятия
 
WUD2011: Юрий Ветров — Design Thinking. Тренинг от Stanford d.School для Mail...
WUD2011: Юрий Ветров — Design Thinking. Тренинг от Stanford d.School для Mail...WUD2011: Юрий Ветров — Design Thinking. Тренинг от Stanford d.School для Mail...
WUD2011: Юрий Ветров — Design Thinking. Тренинг от Stanford d.School для Mail...
 
Дизайн-команда в продуктовой компании
Дизайн-команда в продуктовой компанииДизайн-команда в продуктовой компании
Дизайн-команда в продуктовой компании
 
Николай Яремко. Использование вики методик при разработке Яндекс.Почты.
Николай Яремко. Использование вики методик при разработке Яндекс.Почты.Николай Яремко. Использование вики методик при разработке Яндекс.Почты.
Николай Яремко. Использование вики методик при разработке Яндекс.Почты.
 
Автоматизированное тестирование с использованием инструментов Behaviour drive...
Автоматизированное тестирование с использованием инструментов Behaviour drive...Автоматизированное тестирование с использованием инструментов Behaviour drive...
Автоматизированное тестирование с использованием инструментов Behaviour drive...
 
Дмитрий Андронов, Корпоративный UX
Дмитрий Андронов, Корпоративный UXДмитрий Андронов, Корпоративный UX
Дмитрий Андронов, Корпоративный UX
 
Будущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямБудущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациям
 

Similaire à SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта

Cee secr-2014-presentation-ru-bezuglyy-system of systems v1 2
Cee secr-2014-presentation-ru-bezuglyy-system of systems v1 2Cee secr-2014-presentation-ru-bezuglyy-system of systems v1 2
Cee secr-2014-presentation-ru-bezuglyy-system of systems v1 2Dmitry Bezuglyy
 
IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]
IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]
IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]Alex V. Petrov
 
Системная инженерия
Системная инженерияСистемная инженерия
Системная инженерияAnatoly Levenchuk
 
Архитектура ПО: управляя самым важным
Архитектура ПО: управляя самым важнымАрхитектура ПО: управляя самым важным
Архитектура ПО: управляя самым важнымCUSTIS
 
Интегрированный подход. IPD инструмент ведения инвестиционно-строительных пр...
Интегрированный подход. IPD инструмент ведения инвестиционно-строительных пр...Интегрированный подход. IPD инструмент ведения инвестиционно-строительных пр...
Интегрированный подход. IPD инструмент ведения инвестиционно-строительных пр...Сергей Волков
 
Тьюториал "Введение в системную инженерию" (14 января 2013)
Тьюториал "Введение в системную инженерию" (14 января 2013)Тьюториал "Введение в системную инженерию" (14 января 2013)
Тьюториал "Введение в системную инженерию" (14 января 2013)Anatoly Levenchuk
 
Architecture Lifecycle Management In The Share Point World
Architecture Lifecycle Management In The Share Point WorldArchitecture Lifecycle Management In The Share Point World
Architecture Lifecycle Management In The Share Point WorldIvan Padabed
 
Современна Программная инженерия. Системная инженерия
Современна Программная инженерия. Системная инженерияСовременна Программная инженерия. Системная инженерия
Современна Программная инженерия. Системная инженерияMarcus Akoev
 
Кризисное управление проектами: проблемы, компромиссы, решения
Кризисное управление проектами: проблемы, компромиссы, решенияКризисное управление проектами: проблемы, компромиссы, решения
Кризисное управление проектами: проблемы, компромиссы, решенияSQALab
 
Системная инженерия: вызовы времени По результатам конференции RuSEC2010
Системная инженерия: вызовы времени По результатам конференции RuSEC2010Системная инженерия: вызовы времени По результатам конференции RuSEC2010
Системная инженерия: вызовы времени По результатам конференции RuSEC2010Marcus Akoev
 
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...Andrew Shapiro
 
ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура
ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектураПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура
ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектураPavel Shalagin
 
Архимейт по-русски
Архимейт по-русскиАрхимейт по-русски
Архимейт по-русскиAnatoly Levenchuk
 
Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?
Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?
Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?ScrumTrek
 
Системная инженерия в России и мире
Системная инженерия в России и миреСистемная инженерия в России и мире
Системная инженерия в России и миреAnatoly Levenchuk
 
Clean architecture on Android
Clean architecture on AndroidClean architecture on Android
Clean architecture on AndroidGDG Odessa
 
Системная инженерия в России
Системная инженерия в РоссииСистемная инженерия в России
Системная инженерия в РоссииAnatoly Levenchuk
 
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...Nikita Filippov
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Dima Dzuba
 

Similaire à SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта (20)

Cee secr-2014-presentation-ru-bezuglyy-system of systems v1 2
Cee secr-2014-presentation-ru-bezuglyy-system of systems v1 2Cee secr-2014-presentation-ru-bezuglyy-system of systems v1 2
Cee secr-2014-presentation-ru-bezuglyy-system of systems v1 2
 
IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]
IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]
IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]
 
Системная инженерия
Системная инженерияСистемная инженерия
Системная инженерия
 
Архитектура ПО: управляя самым важным
Архитектура ПО: управляя самым важнымАрхитектура ПО: управляя самым важным
Архитектура ПО: управляя самым важным
 
Интегрированный подход. IPD инструмент ведения инвестиционно-строительных пр...
Интегрированный подход. IPD инструмент ведения инвестиционно-строительных пр...Интегрированный подход. IPD инструмент ведения инвестиционно-строительных пр...
Интегрированный подход. IPD инструмент ведения инвестиционно-строительных пр...
 
Тьюториал "Введение в системную инженерию" (14 января 2013)
Тьюториал "Введение в системную инженерию" (14 января 2013)Тьюториал "Введение в системную инженерию" (14 января 2013)
Тьюториал "Введение в системную инженерию" (14 января 2013)
 
Architecture Lifecycle Management In The Share Point World
Architecture Lifecycle Management In The Share Point WorldArchitecture Lifecycle Management In The Share Point World
Architecture Lifecycle Management In The Share Point World
 
Современна Программная инженерия. Системная инженерия
Современна Программная инженерия. Системная инженерияСовременна Программная инженерия. Системная инженерия
Современна Программная инженерия. Системная инженерия
 
Кризисное управление проектами: проблемы, компромиссы, решения
Кризисное управление проектами: проблемы, компромиссы, решенияКризисное управление проектами: проблемы, компромиссы, решения
Кризисное управление проектами: проблемы, компромиссы, решения
 
Системная инженерия: вызовы времени По результатам конференции RuSEC2010
Системная инженерия: вызовы времени По результатам конференции RuSEC2010Системная инженерия: вызовы времени По результатам конференции RuSEC2010
Системная инженерия: вызовы времени По результатам конференции RuSEC2010
 
Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)
 
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
 
ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура
ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектураПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура
ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура
 
Архимейт по-русски
Архимейт по-русскиАрхимейт по-русски
Архимейт по-русски
 
Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?
Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?
Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?
 
Системная инженерия в России и мире
Системная инженерия в России и миреСистемная инженерия в России и мире
Системная инженерия в России и мире
 
Clean architecture on Android
Clean architecture on AndroidClean architecture on Android
Clean architecture on Android
 
Системная инженерия в России
Системная инженерия в РоссииСистемная инженерия в России
Системная инженерия в России
 
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4
 

Plus de SECON

SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?
 SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем? SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?
SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?SECON
 
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя Внедрять
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя ВнедрятьSECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя Внедрять
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя ВнедрятьSECON
 
SECON'2017, Васильков Василий, Elm в production
SECON'2017, Васильков Василий, Elm в productionSECON'2017, Васильков Василий, Elm в production
SECON'2017, Васильков Василий, Elm в productionSECON
 
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.SECON
 
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступленийSECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступленийSECON
 
SECON'2017, Рожкова Надежда, Бухгалтерские лайфхаки для IT компаний
SECON'2017, 	Рожкова Надежда, Бухгалтерские лайфхаки для IT компанийSECON'2017, 	Рожкова Надежда, Бухгалтерские лайфхаки для IT компаний
SECON'2017, Рожкова Надежда, Бухгалтерские лайфхаки для IT компанийSECON
 
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...SECON
 
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленке
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленкеSECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленке
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленкеSECON
 
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигниSECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигниSECON
 
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?SECON
 
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...SECON
 
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...SECON
 
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...SECON
 
SECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Цаль-Цалко Иван, Go на практикеSECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Цаль-Цалко Иван, Go на практикеSECON
 
SECON'2017, Неволин Роман, Функциональный C#
SECON'2017, Неволин Роман, Функциональный C#SECON'2017, Неволин Роман, Функциональный C#
SECON'2017, Неволин Роман, Функциональный C#SECON
 
SECON'2017, Макарычев Костантин, Использование Spark для машинного обучения
SECON'2017, Макарычев Костантин, Использование Spark для машинного обученияSECON'2017, Макарычев Костантин, Использование Spark для машинного обучения
SECON'2017, Макарычев Костантин, Использование Spark для машинного обученияSECON
 
SECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Журавлев Денис, Маркетинг без маркетологаSECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Журавлев Денис, Маркетинг без маркетологаSECON
 
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателя
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателяSECON'2017, Шатров Михаил, Инструменты успешного предпринимателя
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателяSECON
 
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.SECON
 
SECON'2017, Кошак Павел, Покажи миру язык. Пять секретов грамотной локализации
SECON'2017, Кошак Павел, Покажи миру язык. Пять секретов грамотной локализацииSECON'2017, Кошак Павел, Покажи миру язык. Пять секретов грамотной локализации
SECON'2017, Кошак Павел, Покажи миру язык. Пять секретов грамотной локализацииSECON
 

Plus de SECON (20)

SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?
 SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем? SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?
SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?
 
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя Внедрять
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя ВнедрятьSECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя Внедрять
SECON'2017, Куприенко Игорь, Университет 4.0: Ждать Нельзя Внедрять
 
SECON'2017, Васильков Василий, Elm в production
SECON'2017, Васильков Василий, Elm в productionSECON'2017, Васильков Василий, Elm в production
SECON'2017, Васильков Василий, Elm в production
 
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.
SECON'2017, Емельянов Игорь, Я хочу стать программистом: первые шаги.
 
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступленийSECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
SECON'2017, Тыкушин Анатолий, Болдырев Михаил, Расследование кибер-преступлений
 
SECON'2017, Рожкова Надежда, Бухгалтерские лайфхаки для IT компаний
SECON'2017, 	Рожкова Надежда, Бухгалтерские лайфхаки для IT компанийSECON'2017, 	Рожкова Надежда, Бухгалтерские лайфхаки для IT компаний
SECON'2017, Рожкова Надежда, Бухгалтерские лайфхаки для IT компаний
 
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...
SECON'2017, Янов Альберт, Управленческий учет в компании: для чего он нужен и...
 
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленке
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленкеSECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленке
SECON'2017, Емелина Елена, Управленческий учет в софтверной компании на коленке
 
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигниSECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
 
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?
SECON'2017, Коротков Анатолий, #noprojects #nomvp .. куда катится мир?
 
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...
SECON'2017, Трошин Алексей, Выжить без менеджера: шаблоны правильных коммуник...
 
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
 
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...
SECON'2017, Мартынов Антон, Опыт использования удаленных команд при реализаци...
 
SECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Цаль-Цалко Иван, Go на практикеSECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Цаль-Цалко Иван, Go на практике
 
SECON'2017, Неволин Роман, Функциональный C#
SECON'2017, Неволин Роман, Функциональный C#SECON'2017, Неволин Роман, Функциональный C#
SECON'2017, Неволин Роман, Функциональный C#
 
SECON'2017, Макарычев Костантин, Использование Spark для машинного обучения
SECON'2017, Макарычев Костантин, Использование Spark для машинного обученияSECON'2017, Макарычев Костантин, Использование Spark для машинного обучения
SECON'2017, Макарычев Костантин, Использование Spark для машинного обучения
 
SECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Журавлев Денис, Маркетинг без маркетологаSECON'2017, Журавлев Денис, Маркетинг без маркетолога
SECON'2017, Журавлев Денис, Маркетинг без маркетолога
 
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателя
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателяSECON'2017, Шатров Михаил, Инструменты успешного предпринимателя
SECON'2017, Шатров Михаил, Инструменты успешного предпринимателя
 
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.
SECON'2017, Цымбал Дмитрий, Компания - Компания. Дружба на этом уровне.
 
SECON'2017, Кошак Павел, Покажи миру язык. Пять секретов грамотной локализации
SECON'2017, Кошак Павел, Покажи миру язык. Пять секретов грамотной локализацииSECON'2017, Кошак Павел, Покажи миру язык. Пять секретов грамотной локализации
SECON'2017, Кошак Павел, Покажи миру язык. Пять секретов грамотной локализации
 

SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта

  • 3. 3 Не бывает отсутствия архитектуры. Бывает архитектура спонтанно-неумышленная
  • 4. Процент успешных проектов 4 2004 2006 2008 2010 2012 29% 35% 32% 37% 39% (c) CHAOS Report The Standish Group International, Inc
  • 5. Сложность проекта и размер 5 Небольшие проекты (<1млн$) 20 4 76 Успешные Неудачные Затянувшиеся Большие проекты (>10млн$) 52 38 10 Успешные Неудачные Затянувшиеся (c) CHAOS Report The Standish Group International, Inc
  • 6. Проблематизируем Одним из основных источников неудач IT проектов является сложность Проектам в ИТ нужно уменьшать сложность, а наращивать управление Gartner IT complexity crisis 6 6
  • 7. 7
  • 8. 8
  • 9. 9 Теорема сложения энтропий: при объединении независимых систем их энтропии складываются Энтропия может интерпретироваться как мера неопределённости (неупорядоченности) некоторой системы, например, какого-либо опыта (испытания), который может иметь разные исходы, а значит, и количество информации. Таким образом, другой интерпретацией энтропии является информационная ёмкость системы.
  • 10. Кажется уже плохо, но докинем При увеличении сложности проблемы на 25%, cложность решения возрастает на 100% Glass’ Law 10 10
  • 11. 11 Чем больше система, тем выше ее энтропия, тем больше шанс неудачи проекта
  • 12. Работа со сложностью (с) Jurgen Apello 12 Простой(simple) = структура понятна Сложный (complicated) = структура неясна Упорядоченный(ordered) = поведение полностью предсказуемо Сложный/составной?(complex) = поведение частично предсказуемо Хаотичный (chaotic) = поведение имеет высокую неопределенность Упрощение(simplification) = делаем что-то более простым для понимания Уплощение (linearization) = делаем что-то более предсказуемым
  • 13. Работа со «сложностью»(2) Jurgen Apello Упрощение – это попытка сделать что-то более понятным. Уплощение (линеризация) – это попытка сделать систему более предсказуемой 13
  • 15. Работа со «сложностью»(4) Простой хорошо структурированный продукт может демонстрировать очень сложное (complex) поведение, в то время как сложной (complicated) путанный продукт может вести себя упорядоченно и полностью предсказуемо 15 Jurgen Apello
  • 16. Работа со «сложностью»(5) Это прямая обязанность архитектора - решать проблемы, проистекающие от essential complexity без добавления accidental complexity Neal Ford Essential complexity Accidental complexity 
 16
  • 17. Борьба со «сложностью» 17 БРИТВА ОККАМА • Из всех систем, реализующих функциональность, выбрать самую простую СONCEPTUAL INTEGRITY Единообразие архитектурных тактик и паттернов МОДУЛЬНОСТЬ Разбиение по модулям как искусство ДОКУМЕНТАЦИЯ Четкая и понятная архитектурная документация, внедренная во все стадии процесса, доступная всем
  • 18. А если ничего не делать? Большой шмоток грязи (Big Ball of Mud) http://www.laputan.org/mud/ 18
  • 21. Conceptual integrity Эволюция вновь и вновь немного по-разному использует одни и те же наборы генов <..> Эволюция не делает ничего нового на пустом месте… <…> Она работает с тем, что уже имеется, преобразуя ту или иную систему для выполнения новой функции или соединяя несколько систем, чтобы получить новую, более сложную Франсуа Жакоб 21 21
  • 22. Conceptual integrity Ныне я убежден более, чем когда-либо. Conceptual integrity - это центральная характеристика для оценки качества продукта. Фред Брукс 22 22
  • 23. Архитектурная документация EXECUTIVE SUMMARY Кратко для самых занятых 23 ОПИСАНИЕ ПРОЕКТА В чем суть запланированного ROADMAP И когда планируется ARCH DRIVERS Quality attributes, requirements, constraints КОНТЕКСТ Система/продукт не в вакууме ПРИНЯТЫЕ АРХ РЕШЕНИЯ С отсылками на контекст и architectural drivers VIEWS Картинки для разных нужд ИНТЕРФЕЙСЫ Их описание со всеми ограничениями
  • 24. Принятые архитектурные решения ✓ Проблема ✓ Решение ✓ Обоснование решения ✓ Рассмотренные альтернативные варианты ✓ Причины отказа от альтернативных вариантов ✓ Контекст принятого решения (стадия проекта, откуда исходила постановка вопроса) ✓ Состав участников (с кем обсуждали) 24
  • 25. Architectural drivers ✓ Функциональные требования (что делает система) ✓ Нефункциональные требования (как), aka quality attributes: ✓Производительность, отказоустойчивость, масштабируемость ✓Тестируемость, способность к отладке, модифицируемость, переносимость ✓и пр ✓ Constraints: ✓От бизнеса (время и стоимость разработки, команда и ее экспертиза, продуктовая линейка) ✓От разработки («несущие стены» проекта, языки и framework-и, legacy системы и их поддержка) 25
  • 27. Views: SEI (software engineering institute, CMU) 27 Module Decomposition Class Uses Layered Component- and-Connector Client- Server Process Concurency Shared Data Allocation Work Assignment Implementation Deployment
  • 28. UML (с) United Features Syndicate, Inc 28
  • 29. 29 Звучит здорово, но достаточно ресурсоемко. Как обосновать?
  • 30. Проблемы с «внедрением» архитектурных процессов (с) Anthony Lattanze, Infusing Architectural Thinking into Organizations
 ✓ Менеджмент не воспринимает разработку архитектуры как серьезную инженерную деятельность ✓ На разработку архитектуры не выделяется ресурсов ✓ У архитектора нет career path; роль архитектора туманна для менеджмента ✓ Разработанная архитектурная документация не используется ✓ Принятые архитектурные решения не внедряются 30
  • 31. Кредо архитектора Каждое архитектурное решение в равной степени оказывается и техническим и экономическим решением Anthony Lattanze 31
  • 32. Зачем нужно проектировать архитектуру (1) 1. Архитектура ограничивает или делает возможным основные нефункциональные характеристики системы, служит обоснованием решений и базой для предсказаний свойств системы 2. Архитектурная документация увеличивает понимание между заинтересованными лицами 3. Архитектура продукта задает структуру организации и наоборот. Сarnegie-Mellon: Len Bass, Paul Clements, Rick Kazman 32 32
  • 33. Зачем нужно проектировать архитектуру (2) 4. Архитектура может стать базисом для итеративного прототипирования, она же основной артефакт для аргументирования сроков и стоимостей 5. Архитектурные процессы сосредоточены на построении системы в целом, а не на разработке отдельных компонентов 6. Архитектура уменьшает сложность системы Сarnegie-Mellon: Len Bass, Paul Clements, Rick Kazman 33 33
  • 34. Поддержка Архитектура. Зачем? 34 34 (с) David Garlan, Tony Lattanze чтение документации анализ/ формулирование необходимых изменений понимание логики работы системы разработка изменения тестирование и отладка обновление документации Требования Архитектура Дизайн Разработка Тесты/ Приемка Снижение стоимости поддержки прямо и косвенно Уточнение задач В явном виде прорисовка решений и их последствий Отправная точка анализа системы
  • 36. Роль архитектора Архитектор - не тот человек, который озвучивает ограничения. Архитектор - это тот профессионал, который в условиях ограничений предлагает возможности из разговоров 36
  • 37. Навыки архитектора 37 Деловые качества Прагматизм; vision; понимание бизнес процессов; инновации Личные качества Страсть; быстрое переключение контекста; «незаметность» Искусство построения отношений Лидерство; великодушие; тактичность; коммуникативность; переговорческий навык Техническая база Безусловно необходима, но совершенно недостаточна
  • 38. 38 А где про все это почитать подробнее?
  • 39. 39
  • 40. Ping/Echo Monitor Heartbeat Timestamp Sanity Checking Condition Monitoring Voting Exception Detection Fault Fault Masked or Repair Made Active Redundancy Passive Redundancy Spare Exception Handling Rolback Software Upgrade Retry Ignore Faulty Behavior Degradation Shadow State Resynchronization Esaclating Restart Non-Stop Forwarding Reintroduction PreventRecover fromDetect Preparation Availability Tactics Removal from Service Transactions Predictive Model Exceptional Prevention Increase Competence Set
  • 41. 41
  • 42. 42
  • 43. 43 Легкий и безболезненный maintenance, простота разработки - неужели возможно?
  • 44. Завершая 44 Не бывает отсутствия архитектуры
 неумышленная архитектура имеет неконтролируемый рост сложности и энтропии Сложность это не приговор. Со сложностью можно и нужно работать Архитектура
 это целый пласт знания: развивайтесь, узнавайте. Введение архитектурных процессов
 вызывает сопротивление системы, но… …но оно того стоит 
 ибо улучшает качество продукта и облегчает сопровождение системы Архитектор обеспечивает взаимодействие разработки и бизнеса 01 03 0402 05 06