Уже готовлю отдельную статью о заинтерессованных лицах / экспертах в предметке в сугубо прагматичном ключе, в том числе применительно к Event Storming, а пока ответ о том, какого уровня абстракции должны быть события?
Ну то есть, есть же разница между «Заключен договор о поглощении компании» и «Клиент подписал кредитный договор», если речь идет о Банке.
Уровень гранулярности определяется масштабом решаемой задачи и приглашенными на встречу заинтересованными лицами. Если перефразировать предыдущее предложение, то, каких заинтересованных лиц (экспертов в предметной области) мы пригласим зависит от масштаба решаемой задачи, а уровень абстракции/гранулярости событий будет прямо соответствовать уровню абстракции, на котором находятся приглашенные эксперты в предметной области (доменные события должны иметь смысл для эксперта в предметной области, размещающего).
Иными словами, для исследования процесса стратегического инвестирования на уровне группы компаний нужны эксперты в предметной области, для которых релевантен подобный уровень асбтракции. Затем этот высокий уровень может распастся на низлежащие процессы, для проработки которых могут быть задействованы эксперты, работающие на более низком уровне абстракции и так далее [до уровня автоматизации, например, который уже достаточно конкретный =)]
Ну то есть, есть же разница между «Заключен договор о поглощении компании» и «Клиент подписал кредитный договор», если речь идет о Банке.
Уровень гранулярности определяется масштабом решаемой задачи и приглашенными на встречу заинтересованными лицами. Если перефразировать предыдущее предложение, то, каких заинтересованных лиц (экспертов в предметной области) мы пригласим зависит от масштаба решаемой задачи, а уровень абстракции/гранулярости событий будет прямо соответствовать уровню абстракции, на котором находятся приглашенные эксперты в предметной области (доменные события должны иметь смысл для эксперта в предметной области, размещающего).
Иными словами, для исследования процесса стратегического инвестирования на уровне группы компаний нужны эксперты в предметной области, для которых релевантен подобный уровень асбтракции. Затем этот высокий уровень может распастся на низлежащие процессы, для проработки которых могут быть задействованы эксперты, работающие на более низком уровне абстракции и так далее [до уровня автоматизации, например, который уже достаточно конкретный =)]
Forwarded from emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Сервис для коллективной разработки Event Storming и Context Mapping от Vaughn Vernon:
Domain Modeling, Robot!
- https://domorobo.to/
- https://twitter.com/VaughnVernon/status/1443670501235167244?s=20
#DDD #EventStorming #SoftwareArchitecure
Domain Modeling, Robot!
- https://domorobo.to/
- https://twitter.com/VaughnVernon/status/1443670501235167244?s=20
#DDD #EventStorming #SoftwareArchitecure
Twitter
Vaughn Vernon
Take a look at our latest @vlingo_io modeling product. It's currently available as prerelease. - DomoRoboto DoMoRoboto - Hello, Robot! - Thanks, Robot! - Do More, Robot! - Domain Modeling, Robot! #DDDesign #EventStorming #ContextMapping domorobo.to
🔥1
Forwarded from Блог Сергея Баранова
Домен (предметная область) — область знаний/деятельности, для решения проблемы в которой разрабатывается приложение. Размеры домена зависят от того, как выбрать границу.
Как узнать домен?
Вовлекая специалистов, экспертов в домене. Они передают знания о том, почему принимаются те решения, которые принимаются и из каких ключевых элементов состоит домен.
Идея состоит в определении языка, делающего код понимаемым «извне».
Изучение кода новым разработчиком, таким образом, позволяет заодно изучить домен (предметную область).
Изменение в языке ведет к изменению модели и рефакторингу кода.
«If I say a word and I expect that you have the same definition, but you actually have a very different definition, we have false alignment. We think we’re talking about the same thing but we’re not.»
#DDD
Как узнать домен?
Вовлекая специалистов, экспертов в домене. Они передают знания о том, почему принимаются те решения, которые принимаются и из каких ключевых элементов состоит домен.
Идея состоит в определении языка, делающего код понимаемым «извне».
Изучение кода новым разработчиком, таким образом, позволяет заодно изучить домен (предметную область).
Изменение в языке ведет к изменению модели и рефакторингу кода.
«If I say a word and I expect that you have the same definition, but you actually have a very different definition, we have false alignment. We think we’re talking about the same thing but we’re not.»
#DDD
👍3❤1
Напишите мне в личку (@sergey486), если вы проводите Event Storming и у вас есть интерес развиваться и развивать эту тему.
Есть идея :)
Есть идея :)
Кому Event Storming не нужен?
Основной тезис: используем простые инструменты для решения простых проблем и сложные инструменты для решения сложных проблем 💁♂️
Скорее всего Event Storming как техника исследования сложной (complex) модели предметной области может быть избыточной, если:
– в продуктовой команде идеально налажена коммуникация и команда все время попадает точно в поставленную цель;
– команда никогда не тратит время на разработку никому не нужных фич, а члены команды никогда не испытывают трудностей при обсуждении домена;
– бизнес-среда – простая, а проблемы, в основном решаемые с помощью разработки, – кристально ясны и однозначно понятны;
– в организации отсутствуют границы между областями знаний (knowledge silos) и вы всегда получаете «хорошие, правильные требования»;
Для всего остального естьMasterCard EventStorming :)
Основной тезис: используем простые инструменты для решения простых проблем и сложные инструменты для решения сложных проблем 💁♂️
Скорее всего Event Storming как техника исследования сложной (complex) модели предметной области может быть избыточной, если:
– в продуктовой команде идеально налажена коммуникация и команда все время попадает точно в поставленную цель;
– команда никогда не тратит время на разработку никому не нужных фич, а члены команды никогда не испытывают трудностей при обсуждении домена;
– бизнес-среда – простая, а проблемы, в основном решаемые с помощью разработки, – кристально ясны и однозначно понятны;
– в организации отсутствуют границы между областями знаний (knowledge silos) и вы всегда получаете «хорошие, правильные требования»;
Для всего остального есть
Обновил дизайн https://storming.ru 😍
Скоро туда весь накопившийся контент начну перетаскивать.
Скоро туда весь накопившийся контент начну перетаскивать.
🔥8❤2👍2
Event Storming
Event Storming – техника исследования… домена? В общем, я тут решил поискать понятный для широкого русского уха аналог термина для домена. Ну просто хотя бы потому что в русском языке этот термин используется активно вроде как только в IT =) Или не только?…
Полез в словарь и в целом не мудрено, что термин у нас не сильно активно используется, это практически все определения из словарных. Не самые распространенные определения (даже в базах данных)
историческое значение
В странах Западной Европы в эпоху Средневековья часть феодального владения, на которой феодал вёл собственное хозяйство, используя труд зависимых крестьян и безземельных работников.
…
биологическое
Молекулярный агрегат
математическое
Односвязное открытое подмножество конечномерного векторного пространства.
базы данных
Множество всех допустимых атомарных значений; на практике — метаданные, абстрактно описывающие столбец таблицы БД, включая проверки и ограничения.
Да, параллельно посмотрел гиперонимы (новое для меня слово, означает «понятие в отношении к другому понятию, выражающее более общую сущность; в отношении некоторого множества объектов — понятие, отражающее надмножество к исходному.») к слову домен:
Владение, совокупность, область, адрес, таксономический ранг, агрегат, множество.
историческое значение
В странах Западной Европы в эпоху Средневековья часть феодального владения, на которой феодал вёл собственное хозяйство, используя труд зависимых крестьян и безземельных работников.
…
биологическое
Молекулярный агрегат
математическое
Односвязное открытое подмножество конечномерного векторного пространства.
базы данных
Множество всех допустимых атомарных значений; на практике — метаданные, абстрактно описывающие столбец таблицы БД, включая проверки и ограничения.
Да, параллельно посмотрел гиперонимы (новое для меня слово, означает «понятие в отношении к другому понятию, выражающее более общую сущность; в отношении некоторого множества объектов — понятие, отражающее надмножество к исходному.») к слову домен:
Владение, совокупность, область, адрес, таксономический ранг, агрегат, множество.
Event Storming
Полез в словарь и в целом не мудрено, что термин у нас не сильно активно используется, это практически все определения из словарных. Не самые распространенные определения (даже в базах данных) историческое значение В странах Западной Европы в эпоху Средневековья…
Пошел дальше, в доменный объект (уже в вики).
Объект, соответствующий определённому понятию предметной области.
Термин доменный объект (domain object) буквально переводится на русский язык как «объект [предметной] области»...в бизнес-моделировании может использоваться термин бизнес-объект (business object).
Объект, соответствующий определённому понятию предметной области.
Термин доменный объект (domain object) буквально переводится на русский язык как «объект [предметной] области»...в бизнес-моделировании может использоваться термин бизнес-объект (business object).
При этом предметная область – часть реального мира, рассматриваемая в пределах данного контекста. Под контекстом здесь может пониматься, например, область исследования или область, которая является объектом некоторой деятельности.
Не продвинулся в сторону поисков распространенного и общепринятого термина =)
Значит надо сделать шаг назад и зайти со стороны значения слова domain (oxford): An area of knowledge or activity; especially one that somebody is responsible for. (+ дополнительные определения как в русском из биологии, истории и так далее).
Не продвинулся в сторону поисков распространенного и общепринятого термина =)
Значит надо сделать шаг назад и зайти со стороны значения слова domain (oxford): An area of knowledge or activity; especially one that somebody is responsible for. (+ дополнительные определения как в русском из биологии, истории и так далее).
В общем, нам еще предстоит долгий и тернистый путь в приведении в порядок терминологии. Потому что на этом этапе в русском языке одинаковой смысловой нагрузкой стали обладать домен, предметная область и огрганиченный контекст. Буквально по-определениям.
Я очень четко представляю себе терминологию DDD в терминах английского языка, а вот с русским все всегда сложнее. Например, для complex в научной литературе не раз встречал слово «сложностный», а слово Scrum для 99,9% жителей РФ не имеет смысла, просто 5 букв. А для американцев оно часть культуры. И попробую переведи 🙂
Предлагаю в коммента накидать примеров ПОНЯТНЫХ, но не обязытельно строго-формальных определений предметной области/домена, или примеров, которые были бы понятны и юристу и бухгалтеру и электрику :)
Я очень четко представляю себе терминологию DDD в терминах английского языка, а вот с русским все всегда сложнее. Например, для complex в научной литературе не раз встречал слово «сложностный», а слово Scrum для 99,9% жителей РФ не имеет смысла, просто 5 букв. А для американцев оно часть культуры. И попробую переведи 🙂
Предлагаю в коммента накидать примеров ПОНЯТНЫХ, но не обязытельно строго-формальных определений предметной области/домена, или примеров, которые были бы понятны и юристу и бухгалтеру и электрику :)
Forwarded from Архитектура ИТ-решений
Простое пошаговое описание Event Storming с сайта про архитектуру от IBM https://www.ibm.com/cloud/architecture/architecture/practices/event-storming-methodology-architecture/ Ничего лишнего.
Ibm
IBM Garage
Accelerate digital transformation with the end-to-end model from IBM. Generate innovative ideas get the technology and expertise to make them real.
🔥2
Event Storming
Уже готовлю отдельную статью о заинтерессованных лицах / экспертах в предметке в сугубо прагматичном ключе, в том числе применительно к Event Storming, а пока ответ о том, какого уровня абстракции должны быть события? Ну то есть, есть же разница между «Заключен…
Еще сонастроится по уровням абстракции событий можно позаполняв вместе такую табличку.
❤4😱1
Сергей_Баранов_DotNext_Многоликий_DDD.pdf
29 MB
Преза моего недавнего выступления на DotNext про то, что можно получить из модели предметной области представленной в нотации Event Storming
❤6🔥3
Когда я впервые увидел Event Storming, то подумал — вот оно. То, чего мне так не хватало. Начал изучать материалы, их тогда было не много. Все выглядело очень просто и даже как-то не верилось, что настолько просто.
Очень хотелось попробовать и первая трудность с которой столкнулся — это собрать всех в одной комнате на сколько-нибудь длительное время для моделирования.
Чтобы это сделать, людям нужны были референсы. Я и показал те референсы, что были в интернетах, а их там обычно два в сотне вариаций: резервирования номера в отеле, примитивный процесс проведения платежа или более широкий контекст — примитивный интернет магазин.
Когда вы начнете применять Event Storming в жизни, вы в один момент осознаете, что таких простых событий и команд, как в примерах в интернете, в дикой природе почти не бывает, но может сформироваться представление, что вот так оно просто. Тут главное — продержаться и не навязывать свое идеализированное представление участникам воркшопа)
Очень хотелось попробовать и первая трудность с которой столкнулся — это собрать всех в одной комнате на сколько-нибудь длительное время для моделирования.
Чтобы это сделать, людям нужны были референсы. Я и показал те референсы, что были в интернетах, а их там обычно два в сотне вариаций: резервирования номера в отеле, примитивный процесс проведения платежа или более широкий контекст — примитивный интернет магазин.
Когда вы начнете применять Event Storming в жизни, вы в один момент осознаете, что таких простых событий и команд, как в примерах в интернете, в дикой природе почти не бывает, но может сформироваться представление, что вот так оно просто. Тут главное — продержаться и не навязывать свое идеализированное представление участникам воркшопа)
Forwarded from Блог Сергея Баранова
Продолжается прием заявок на доклады конференции по архитектуре IT-решений ArchDays 2022!
В этом году мы возвращаемся в офлайн!
Конференция пройдет 21 октября в Москве + Online-трансляция.
Основные тематики конференции:
1. Процессы проектирования
2. Инструменты проектирования
3. Практики проектирования
4. Обучение архитектуре/развитие в архитектора
5. Soft skills
6. Кейсы
Всего в программе будет около 30 докладов и 4 очных воркшопов.
Подать заявку на выступление: https://archdays.ru/#speaker
В этом году мы возвращаемся в офлайн!
Конференция пройдет 21 октября в Москве + Online-трансляция.
Основные тематики конференции:
1. Процессы проектирования
2. Инструменты проектирования
3. Практики проектирования
4. Обучение архитектуре/развитие в архитектора
5. Soft skills
6. Кейсы
Всего в программе будет около 30 докладов и 4 очных воркшопов.
Подать заявку на выступление: https://archdays.ru/#speaker
👍1
Как Асхат Уразбаев сформулировал для себя понимание Event Storming (в том числе применительно к LeanDS (https://t.iss.one/leands))
Основная задача и суперспосбность —быстро, за несколько часов, создать полную картинку того, как устроен бизнес компании (предметная модель бизнеса).
Предметная модель бизнеса позволяет, как пример:
* Создать бэклог для сложного трасформационного эпика
* Создать бизнес-глоссарий (центральное понятие в Data Governance)
* Спроектировать микросервисы внутри организации
* Моделировать потоки данных в организации
* И т.д.
Основная задача и суперспосбность —быстро, за несколько часов, создать полную картинку того, как устроен бизнес компании (предметная модель бизнеса).
Предметная модель бизнеса позволяет, как пример:
* Создать бэклог для сложного трасформационного эпика
* Создать бизнес-глоссарий (центральное понятие в Data Governance)
* Спроектировать микросервисы внутри организации
* Моделировать потоки данных в организации
* И т.д.
Forwarded from Блог Сергея Баранова
Для подписчиков канала скидка 20% на конференцию ArchDays по промокоду microservices_arch
https://archconf.ru/welcome_from_sergey
Уже принято 18 выступлений, в этом году наконец началась сходимость к миссии, которую я ставил перед конференцией:
«распространение имеющихся и создание новых знаний об архитектуре программных решений».
Расскажу подробнее в следующих постах.
https://archconf.ru/welcome_from_sergey
Уже принято 18 выступлений, в этом году наконец началась сходимость к миссии, которую я ставил перед конференцией:
«распространение имеющихся и создание новых знаний об архитектуре программных решений».
Расскажу подробнее в следующих постах.
👍2
Разбирал старые доски Miro и наткнулся на старый вопрос от 15 ноября 2020 из какого-то чата (может автор и здесь) и там же разбор этой задачи в виде event storming.
Звучал вопрос так:
Задачка: есть покупатель, рейтинг(получает за каждую покупку либо + либо -), покупки(успешные и неуспешные), уровень покупателя, опрос.
Если у покупателя кол-во успешных покупок > 200 и рейтинг более 5 то мы должны ему дать опросник.
Опросник тоже может быть done / failed(неправильные ответы). После этого он только через день сможет ответить на вопросы заново.
Внимание вопрос: где и как это делать?
Учитываем что кол-во успешных покупок не уменьшается. Но я не могу придумать хорошего варианта
Звучал вопрос так:
Задачка: есть покупатель, рейтинг(получает за каждую покупку либо + либо -), покупки(успешные и неуспешные), уровень покупателя, опрос.
Если у покупателя кол-во успешных покупок > 200 и рейтинг более 5 то мы должны ему дать опросник.
Опросник тоже может быть done / failed(неправильные ответы). После этого он только через день сможет ответить на вопросы заново.
Внимание вопрос: где и как это делать?
Учитываем что кол-во успешных покупок не уменьшается. Но я не могу придумать хорошего варианта
👍3❤1