Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

380 views

Published on

Мы ежедневно убиваем архитектуру системы и тем самым наши проекты. А причина простая мы не учитываем факторы, выходящие за рамки формального мышления. В рамках доклада мы посмотрим, какие факторы определяют архитектуру системы. Они зачастую неочевидны и неформальны. Но если включить здравый смысл, все становится на свои места.

Published in: Software
  • Login to see the comments

  • Be the first to like this

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

  1. 1. A=F(?): Как не следовать здравому смыслу и гробить проекты Евгений Кривошеев, ekrivosheyev@scrumtrek.ru
  2. 2. Проектирование систем как принятие решений 4 Квадратики и стрелочки? 4 Дизайн – это компромисс 4 Контекст важен – это ограничения для дизайна 4 Нужно принять много решений, например↓
  3. 3. Когда остановиться рисовать квадратики и начать хе**чить?
  4. 4. Что такое архитектура? 4 Внезапно, рекурсивное определение через требования 4 Внезапно, определение через риски 4 От чего зависят эти наши решения? A=F(?)
  5. 5. A=F(Rq): Формальный подход A = F( outer functional requirements, outer quality attributes );
  6. 6. Agility? Never heard.
  7. 7. A=F(ORq, IRq): Менее формально A = F( outer functional requirements, outer quality attributes, inner functional requirements, //Призрачная угроза inner quality attributes, //Разрабы тоже люди^W юзеры design guidelines & code style //Регламенты пишутся кровью );
  8. 8. А=F(Rq, ?): Что не учитываем и гробим проекты
  9. 9. А=F(Rq, ?): Что не учитываем A = F( outer FR & QA, inner FR & QA, //Разрабы тоже люди^W юзеры design guidelines & code style, //Регламенты пишутся кровью personal pain experience //Какие архгипотезы проверять ASAP );
  10. 10. А=F(Rq, ?): Что не учитываем A = F( outer FR & QA, inner FR & QA, //Разрабы тоже люди^W юзеры design guidelines & code style, //Регламенты пишутся кровью personal pain experience //Какие архгипотезы проверять ASAP trust to team //Сделаем на монадах! );
  11. 11. А=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 //Закон Конвея );
  12. 12. А=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} );
  13. 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, //Закон Конвея resources: {time, people, money, partners, trust↑, risks}, внутрикорпоративные ограничения );
  14. 14. А=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, … );
  15. 15. Вопрос #1: Какие из факторов Вы честно учитываете при проектировании?
  16. 16. Вопрос #2: OMG! Их же невозможно учесть все!
  17. 17. Смотрим по важности 4 Свободно доверяйте и делегируйте 4 Свободно откладывайте 4 Превед Lean Development :)
  18. 18. Применяй меня полностью 4 Поймите бизнес-ограничения 4 Формальные регламенты vs написанные кровью 4 Не доверяйте себе в важных решениях 4 Пользуйтесь шпаргалкой факторов 4 Приоритезируйте факторы 4 Откладывайте решения

×