22
A=F(?): Как не следовать здравому смыслу и гробить проекты Евгений Кривошеев, ekrivosheyev@scrumtr ek.ru

Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

  • Upload
    -

  • View
    45

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

A=F(?): Как не следовать здравому смыслу и гробить проектыЕвгений Кривошеев, [email protected]

Page 2: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

Проектирование систем как принятие решений4 Квадратики и стрелочки?

4 Дизайн – это компромисс4 Контекст важен – это ограничения для дизайна4 Нужно принять много решений, например↓

Page 3: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

Когда остановиться рисовать квадратики и начать хе**чить?

Page 4: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

Что такое архитектура?4 Внезапно, рекурсивное определение через требования

4 Внезапно, определение через риски4 От чего зависят эти наши решения? A=F(?)

Page 5: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

A=F(Rq): Формальный подходA = F( outer functional requirements, outer quality attributes);

Page 6: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты
Page 7: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

Agility? Never heard.

Page 8: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты
Page 9: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

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: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

А=F(Rq, ?): Что не учитываем и гробим

проекты

Page 11: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

А=F(Rq, ?): Что не учитываемA = F( outer FR & QA, inner FR & QA, //Разрабы тоже люди^W юзеры design guidelines & code style, //Регламенты пишутся кровью

personal pain experience //Какие архгипотезы проверять ASAP);

Page 12: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

А=F(Rq, ?): Что не учитываемA = F( outer FR & QA, inner FR & QA, //Разрабы тоже люди^W юзеры design guidelines & code style, //Регламенты пишутся кровью personal pain experience //Какие архгипотезы проверять ASAP

trust to team //Сделаем на монадах!);

Page 13: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

А=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: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты
Page 15: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

А=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: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

А=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: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

А=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: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

Вопрос #1: Какие из факторов Вы честно учитываете при проектировании?

Page 19: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

Вопрос #2: OMG! Их же невозможно учесть

все!

Page 20: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

Смотрим по важности4 Свободно доверяйте и делегируйте4 Свободно откладывайте4 Превед Lean Development :)

Page 21: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты

Применяй меня полностью4 Поймите бизнес-ограничения4 Формальные регламенты vs написанные кровью4 Не доверяйте себе в важных решениях4 Пользуйтесь шпаргалкой факторов4 Приоритезируйте факторы4 Откладывайте решения

Page 22: Архитектура как функция от ?. Что мы не учитываем и убиваем проекты