Архитектура как функция от ?. Что мы не учитываем и...
TRANSCRIPT
![Page 1: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/1.jpg)
A=F(?): Как не следовать здравому смыслу и гробить проектыЕвгений Кривошеев, [email protected]
![Page 2: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/2.jpg)
Проектирование систем как принятие решений4 Квадратики и стрелочки?
4 Дизайн – это компромисс4 Контекст важен – это ограничения для дизайна4 Нужно принять много решений, например↓
![Page 3: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/3.jpg)
Когда остановиться рисовать квадратики и начать хе**чить?
![Page 4: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/4.jpg)
Что такое архитектура?4 Внезапно, рекурсивное определение через требования
4 Внезапно, определение через риски4 От чего зависят эти наши решения? A=F(?)
![Page 5: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/5.jpg)
A=F(Rq): Формальный подходA = F( outer functional requirements, outer quality attributes);
![Page 6: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/6.jpg)
![Page 7: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/7.jpg)
Agility? Never heard.
![Page 8: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/8.jpg)
![Page 9: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/9.jpg)
A=F(ORq, IRq): Менее формальноA = F( outer functional requirements, outer quality attributes,
inner functional requirements, //Призрачная угроза inner quality attributes, //Разрабы тоже люди^W юзеры design guidelines & code style //Регламенты пишутся кровью);
![Page 10: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/10.jpg)
А=F(Rq, ?): Что не учитываем и гробим
проекты
![Page 11: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/11.jpg)
А=F(Rq, ?): Что не учитываемA = F( outer FR & QA, inner FR & QA, //Разрабы тоже люди^W юзеры design guidelines & code style, //Регламенты пишутся кровью
personal pain experience //Какие архгипотезы проверять ASAP);
![Page 12: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/12.jpg)
А=F(Rq, ?): Что не учитываемA = F( outer FR & QA, inner FR & QA, //Разрабы тоже люди^W юзеры design guidelines & code style, //Регламенты пишутся кровью personal pain experience //Какие архгипотезы проверять ASAP
trust to team //Сделаем на монадах!);
![Page 13: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/13.jpg)
А=F(Rq, ?): Что не учитываемA = F( outer FR & QA, inner FR & QA, //Разрабы тоже люди^W юзеры design guidelines & code style, //Регламенты пишутся кровью personal pain experience //Какие архгипотезы проверять ASAP trust to team, //Сделаем на монадах!
team & company structure //Закон Конвея);
![Page 14: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/14.jpg)
![Page 15: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/15.jpg)
А=F(Rq, ?): Что не учитываемA = F( outer FR & QA, inner FR & QA, //Разрабы тоже люди^W юзеры design guidelines & code style, //Регламенты пишутся кровью personal pain experience //Какие архгипотезы проверять ASAP trust to team, //Сделаем на монадах! team & company structure, //Закон Конвея
resources: {time, people, money, partners, trust↑, risks});
![Page 16: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/16.jpg)
А=F(Rq, ?): Что не учитываемA = F( outer FR & QA, inner FR & QA, //Разрабы тоже люди^W юзер design guidelines & code style, //Регламенты пишутся кровью personal pain experience //Какие архгипотезы проверять ASAP trust to team, //Сделаем на монадах! team & company structure, //Закон Конвея resources: {time, people, money, partners, trust↑, risks},
внутрикорпоративные ограничения );
![Page 17: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/17.jpg)
А=F(Rq, ?): Что не учитываемA = F( outer FR & QA, inner FR & QA, //Разрабы тоже люди^W юзер design guidelines & code style, //Регламенты пишутся кровью personal pain experience //Какие архгипотезы проверять ASAP trust to team, //Сделаем на монадах! team & company structure, //Закон Конвея resources: {time, people, money, partners, trust↑, risks}, внутрикорпоративные ограничения,
integration landscape, law issues, locked-in vendors, … );
![Page 18: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/18.jpg)
Вопрос #1: Какие из факторов Вы честно учитываете при проектировании?
![Page 19: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/19.jpg)
Вопрос #2: OMG! Их же невозможно учесть
все!
![Page 20: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/20.jpg)
Смотрим по важности4 Свободно доверяйте и делегируйте4 Свободно откладывайте4 Превед Lean Development :)
![Page 21: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/21.jpg)
Применяй меня полностью4 Поймите бизнес-ограничения4 Формальные регламенты vs написанные кровью4 Не доверяйте себе в важных решениях4 Пользуйтесь шпаргалкой факторов4 Приоритезируйте факторы4 Откладывайте решения
![Page 22: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты](https://reader030.vdocuments.net/reader030/viewer/2022032421/55a811bf1a28abff738b472d/html5/thumbnails/22.jpg)