Как добиться согласованности 👯♀️ данных, если у тебя распределенная 📚 система, а взаимодействие между элементами осуществляется посредством очереди сообщений? 📬📭
Как обеспечить гарантию доставки данных и насколько сильно нужно стараться это сделать?
А какие вообще могут быть сценарии?
Игорь Овчинин (@igorovchinin) постарался ответить себе на все эти вопросы и рассказал что получилось вкнижке статье с картинками. Теперь в комментариях ждет информации о том, чего он не учел?
https://notes-analyst.ru/stati/obespechenie-soglasovannosti-dannyh-v-raspredelennyh-sistemah-pri-vzaimodejstvii-cherez-ocheredi-soobshhenij/
Как обеспечить гарантию доставки данных и насколько сильно нужно стараться это сделать?
А какие вообще могут быть сценарии?
Игорь Овчинин (@igorovchinin) постарался ответить себе на все эти вопросы и рассказал что получилось в
https://notes-analyst.ru/stati/obespechenie-soglasovannosti-dannyh-v-raspredelennyh-sistemah-pri-vzaimodejstvii-cherez-ocheredi-soobshhenij/
notes-analyst.ru
Обеспечение согласованности данных в распределенных системах. Гарантии доставки сообщений
Легко делать покупки в онлайн магазине. Зашел — выбрал — купил — ждешь — получаешь товар и радуешься приобретению. Легко покупателю, но не проектировщику/разработчику этого магазина. В “жизненном цикле” заказа важно не потерять товар и деньги. Еще важнее…
Event Storming по переписке
Организационный пост
@polyackov_ot
@alexanderkrikunenko
@Dima_SOI
@arbyzio
@Nohwan
@sliceoflife0101
@vova_dev
Господа, так как мы все оказались настолько занятыми людьми, что собраться всем в одно время даже в формате онлайн оказалось решительно невозможным, предлагаю эксперимент - проводить мозговой штурм по Эвансу в формате переписки.
Да, это не по канонам. Но я не вижу запретов на “попробовать”.
Стартуем сейчас. Если хотите позвать кого-то в процесс (из тех, кого нет в списке выше), лучше сделать это на текущей неделе. Напишите мне @jein_kraft ник участника в тг, чтобы я могла добавить его в закрытый канал и в чат.
Работаем с малыми итерациями с шагом - одна неделя. Дедлайн - вторник.
Каждую неделю я буду выкладывать пост с резюме по уже проделанной работе и задачей на следующую неделю.
Моя идея заключается в том, что каждый участник может зайти в чат в удобное для него время в течение 7 дней, прочесть обсуждение, написать свои мысли, поработать на доске. На следующей неделе начнется новый шаг. Нам важно соблюдать синхронность в рамках этих шагов. Но у вас есть выбор - работать днем или ночью, в будни или в выходные.
Доска для работы
https://excalidraw.com/#room=d551383ae076bd5d2081,7KlSutOHA7x6rROeUYFp2w
Масштаб регулируется в левом нижнем углу.
В левой части рабочей области содержатся:
- Кейс (спасибо Полякову Никите @polyackov_ot за помощь в его формулировании);
- Легенда (чуть ниже). Здесь все необходимые для работы элементы. Для того, чтобы воспользоваться элементом выделите его с помощью кнопки 1 в верхнем меню (стрелочка), зажмите клавишу Alt на клавиатуре и потяните. Образуется копия элемента, которую вы сможете отредактировать по своему усмотрению. Для редактирования текста необходим двойной клик на область текста. Если элемент состоит из группы элементов (стикер и текст в нем), его удобно выделять не нажатием на элемент, а выделением всей области с группой. Если нужны какие-то элементы, напишете об этом в чате.
- Область для уточняющих вопросов к условному Заказчику (расположена левее описания кейса). Чтобы записать свой вопрос создайте копию предыдущего (выделить - зажать Альт - потянуть) и отредактируйте. Или воспользуйтесь кнопкой 8 в верхнем меню.
Вопросы по организации процесса - пожалуйста, в комментариях.
#ESWriting
Организационный пост
@polyackov_ot
@alexanderkrikunenko
@Dima_SOI
@arbyzio
@Nohwan
@sliceoflife0101
@vova_dev
Господа, так как мы все оказались настолько занятыми людьми, что собраться всем в одно время даже в формате онлайн оказалось решительно невозможным, предлагаю эксперимент - проводить мозговой штурм по Эвансу в формате переписки.
Да, это не по канонам. Но я не вижу запретов на “попробовать”.
Стартуем сейчас. Если хотите позвать кого-то в процесс (из тех, кого нет в списке выше), лучше сделать это на текущей неделе. Напишите мне @jein_kraft ник участника в тг, чтобы я могла добавить его в закрытый канал и в чат.
Работаем с малыми итерациями с шагом - одна неделя. Дедлайн - вторник.
Каждую неделю я буду выкладывать пост с резюме по уже проделанной работе и задачей на следующую неделю.
Моя идея заключается в том, что каждый участник может зайти в чат в удобное для него время в течение 7 дней, прочесть обсуждение, написать свои мысли, поработать на доске. На следующей неделе начнется новый шаг. Нам важно соблюдать синхронность в рамках этих шагов. Но у вас есть выбор - работать днем или ночью, в будни или в выходные.
Доска для работы
https://excalidraw.com/#room=d551383ae076bd5d2081,7KlSutOHA7x6rROeUYFp2w
Масштаб регулируется в левом нижнем углу.
В левой части рабочей области содержатся:
- Кейс (спасибо Полякову Никите @polyackov_ot за помощь в его формулировании);
- Легенда (чуть ниже). Здесь все необходимые для работы элементы. Для того, чтобы воспользоваться элементом выделите его с помощью кнопки 1 в верхнем меню (стрелочка), зажмите клавишу Alt на клавиатуре и потяните. Образуется копия элемента, которую вы сможете отредактировать по своему усмотрению. Для редактирования текста необходим двойной клик на область текста. Если элемент состоит из группы элементов (стикер и текст в нем), его удобно выделять не нажатием на элемент, а выделением всей области с группой. Если нужны какие-то элементы, напишете об этом в чате.
- Область для уточняющих вопросов к условному Заказчику (расположена левее описания кейса). Чтобы записать свой вопрос создайте копию предыдущего (выделить - зажать Альт - потянуть) и отредактируйте. Или воспользуйтесь кнопкой 8 в верхнем меню.
Вопросы по организации процесса - пожалуйста, в комментариях.
#ESWriting
Excalidraw
Excalidraw — Collaborative whiteboarding made easy
Excalidraw is a virtual collaborative whiteboard tool that lets you easily sketch diagrams that have a hand-drawn feel to them.
Итерация 1: Страх чистого листа
Event Storming начинается с событий. Только с них и ничего другого. Если вы читали какие-то статьи про данный подход к проектированию и сбору требований, то могли видеть картинки с готовой, уже выстроенной структурой процесса. Там в качестве первой карточки указан Actor \ User. По привычке мы читаем любую информацию слева направо и думаем, что процесс нужно строить от действующего лица. Это ошибка. Мы пробовали. Не делайте так.
Event Storming начинается с оранжевой карточки. Метод, предложенный Эвансом, предусматривает 9 типов карточек. Каждая из них имеет свое значение и свой цвет. Сейчас нас интересует только оранжевая. Поэтому в легенде и на экране нет других стикеров, чтобы они не отвлекали. Сосредоточимся на событиях.
Событие в ES - это что-то, что случается в бизнес-процессе, который мы пытаемся автоматизировать. Принято формулировать его в форме прошедшего времени, как уже случившееся. Это пересекается с методологиями позитивного бизнес-мышления, но тут цель немного иная. Такая формулировка поможет нам на следующем этапе.
Мне всегда было сложно разместить самый первый стикер. Я не знала что спросить у заказчика, чтобы сразу повести беседу в нужном мне русле, а не уйти случайно в сторону. Как начать?
Придумала такое решение:
Самые первые вопросы, который я хочу задать условному Заказчику: “Как мы поймем, что процесс, который мы обсуждаем, завершился? Что сервис, который мы проектируем, успешно справился со своей задачей”?
В данном случае мы проектируем сервис “Идем в поход”. Мы будем считать, что сервис успешно отработал свою задачу, если группа пройдет поход и благополучно вернется.
Первый оранжевый стикер, который я разместила, содержит надпись “Поход успешно пройден”. Слово “успешно” - избыточно. Можно обойтись более лаконичным “поход пройден”. Это утверждение сформулировано в форме прошедшего времени и является фиксацией свершившегося факта - события.
Дальше должно быть чуть проще. У нас уже есть стикер, от которого можно плясать, как от той печки.
Следующие вопросы:
Что должно произойти, чтобы поход был успешно пройден?
Я предположила, что для этого потребуется сформировать группу (команду) и составить расладку по продуктам. Добавила еще два оранжевых стикера: “Команда сформирована” и “Раскладка продуктов составлена”
Господа, как вы думаете, что должно случиться, чтобы поход был успешно пройден?
Оформляйте свои предположения на оранжевых стикерах (см. предыдущий пост). Глаголы в форме прошедшего времени вам в помощь.
Встретимся в комментах
Следующая итерация - 18 июня.
P.S. Чтобы работа по этой сессии шторминга не потерялась среди других обсуждений, пожалуйста, оставляйте сообщения по теме штормига как ответа на пост каждого шага (сейчас как ответ на этот пост).
#ESWriting
Event Storming начинается с событий. Только с них и ничего другого. Если вы читали какие-то статьи про данный подход к проектированию и сбору требований, то могли видеть картинки с готовой, уже выстроенной структурой процесса. Там в качестве первой карточки указан Actor \ User. По привычке мы читаем любую информацию слева направо и думаем, что процесс нужно строить от действующего лица. Это ошибка. Мы пробовали. Не делайте так.
Event Storming начинается с оранжевой карточки. Метод, предложенный Эвансом, предусматривает 9 типов карточек. Каждая из них имеет свое значение и свой цвет. Сейчас нас интересует только оранжевая. Поэтому в легенде и на экране нет других стикеров, чтобы они не отвлекали. Сосредоточимся на событиях.
Событие в ES - это что-то, что случается в бизнес-процессе, который мы пытаемся автоматизировать. Принято формулировать его в форме прошедшего времени, как уже случившееся. Это пересекается с методологиями позитивного бизнес-мышления, но тут цель немного иная. Такая формулировка поможет нам на следующем этапе.
Мне всегда было сложно разместить самый первый стикер. Я не знала что спросить у заказчика, чтобы сразу повести беседу в нужном мне русле, а не уйти случайно в сторону. Как начать?
Придумала такое решение:
Самые первые вопросы, который я хочу задать условному Заказчику: “Как мы поймем, что процесс, который мы обсуждаем, завершился? Что сервис, который мы проектируем, успешно справился со своей задачей”?
В данном случае мы проектируем сервис “Идем в поход”. Мы будем считать, что сервис успешно отработал свою задачу, если группа пройдет поход и благополучно вернется.
Первый оранжевый стикер, который я разместила, содержит надпись “Поход успешно пройден”. Слово “успешно” - избыточно. Можно обойтись более лаконичным “поход пройден”. Это утверждение сформулировано в форме прошедшего времени и является фиксацией свершившегося факта - события.
Дальше должно быть чуть проще. У нас уже есть стикер, от которого можно плясать, как от той печки.
Следующие вопросы:
Что должно произойти, чтобы поход был успешно пройден?
Я предположила, что для этого потребуется сформировать группу (команду) и составить расладку по продуктам. Добавила еще два оранжевых стикера: “Команда сформирована” и “Раскладка продуктов составлена”
Господа, как вы думаете, что должно случиться, чтобы поход был успешно пройден?
Оформляйте свои предположения на оранжевых стикерах (см. предыдущий пост). Глаголы в форме прошедшего времени вам в помощь.
Встретимся в комментах
Следующая итерация - 18 июня.
P.S. Чтобы работа по этой сессии шторминга не потерялась среди других обсуждений, пожалуйста, оставляйте сообщения по теме штормига как ответа на пост каждого шага (сейчас как ответ на этот пост).
#ESWriting
🔥2💩1
Event Storming по переписке
Резюме по Итерация 1 - мы успешно победили чистый лист.
Признаться, я не ожидала, что предыдущая неделя будет настолько эффективной. Мы с Игорем были готовы штурмить вдвоем, если никто не включится в процесс. ЗдОрово, что нам не пришлось так упарываться.
Дмитрий слету накидал немало событий, которые случаются при подготовке к походу. Он выстроил их в порядке возникновения от наиболее ранних к наиболее поздним. Таким образом мы получили крепкий скелет нашего процесса, который постепенно начал обрастать подробностями. В нем даже появились такие интересные элементы как
Говорят, есть “рисовалки” где у каждого стикера обозначен автор. К сожалению, Эскалидроу - не такая. Зато мы можем работать в ней без регистрации и имеем в запасе больше инструментов, чем просто стикеры.
В любом случае мы благодарны абсолютно всем, кто вложил свое время в это мероприятие. Было сделано достаточно, чтобы перейти к следующему шагу.
#ESWriting
Резюме по Итерация 1 - мы успешно победили чистый лист.
Признаться, я не ожидала, что предыдущая неделя будет настолько эффективной. Мы с Игорем были готовы штурмить вдвоем, если никто не включится в процесс. ЗдОрово, что нам не пришлось так упарываться.
Дмитрий слету накидал немало событий, которые случаются при подготовке к походу. Он выстроил их в порядке возникновения от наиболее ранних к наиболее поздним. Таким образом мы получили крепкий скелет нашего процесса, который постепенно начал обрастать подробностями. В нем даже появились такие интересные элементы как
Турист подписался на возможные ближайшие походы/Поставил статус, что готов пойти
Туриста оповестили, что его приглашают в команду на определенный поход
Говорят, есть “рисовалки” где у каждого стикера обозначен автор. К сожалению, Эскалидроу - не такая. Зато мы можем работать в ней без регистрации и имеем в запасе больше инструментов, чем просто стикеры.
В любом случае мы благодарны абсолютно всем, кто вложил свое время в это мероприятие. Было сделано достаточно, чтобы перейти к следующему шагу.
#ESWriting
🔥2
Итерация 2: таймлиния, дубли и термины
Timeline - это понятие и элемент в Event Shtorming, которое всегда присутствует, но не обозначается явно. По-умолчанию считается что линия времени прямая, бесконечная и следует слева направо.
Первое действие, которое мы делаем после получения некоторого объема событий – упорядочение во времени. Так разрозненный хаос оранжевых стикеров превращается в то, что можно назвать системой. Кроме того, у нас появляется иерархия. Но она не вертикальная, а горизонтальная - события, которые случаются раньше, стоят ближе к началу.
Когда я попыталась выстроить все оранжевые стикеры в линию, то столкнулась с тем, что некоторые карточки выглядели дублирующими (обо одном и том же). Например:
Действительно ли все эти стикеры описывают одно и тоже событие, но по-разному?
На предыдущем шаге я задавалась вопросом: “Чего мы хотим?” и пришла к выводу, что - сходить в поход. Мой следующей вопрос: С чего поход начинается?
Мой ответ - смотря для кого. Для руководителя он начинается с готовности вести группу, а для рядового туриста - с готовности идти.
Значит туристы бывают рядовые и руководители. А рядовые туристы как-то делятся? У них есть роли: хронометрист, реммастер, ответственный за еду и прочее. Хотя, в коммерческом походе за еду, как правило, отвечает руководитель, он же гид. Либо, для этой задачи нанимаются специальные люди, которые идут с группой и обеспечивают их едой на бивуаках. Походы не одинаковы. События в них распределяются по-разному. Какие бывают походы?
Коммерческими называют походы, которые по своей сути являются продуктом. Это услуга. Основная цель предприятия – доход. Поход для них - это средство получения дохода. В обмен на деньги они берут на себя весь организационный процесс. Задача туриста-покупателя - суметь пройти.
Некоммерческие походы не приносят дохода никому из участников включая руководителя. Все организационные моменты равномерно распределяются в группе. Такие походы часто проходят со спортивной целью и имеют градацию по категориям.
Категорийный поход - тот, который соответствует определенному уровню из общепринятой классификации («Приложении 1. Методика категорирования пешеходного маршрута» к «Единой Всероссийской спортивной классификации туристских маршрутов (ЕВСКТМ)»). Для каждого уровня определенно время нахождения на маршруте и преодоление препятствий соответствующего уровня сложности. Также учитываются коэффициент трудности, географические особенности района, автономность и другие показатели. Часто, чтобы собрать категорийный поход, приходится тщательно выбирать регион и составлять хитрый маршрут.
Некатегорийный поход - тот, который делается “для души”, а не для спортивных заслуг. При составлении маршрута методика категорирования не учитывается.
Некоммерческий подход может быть категорийным (спортивным), но это не обязательно, если у участников нет спортивных целей.
Категорийный поход может содержать элементы коммерции. Например, для сложных маршрутов организация “забросок” (некий объем продуктов и снаряжения в определенном месте на маршруте) осуществляется за деньги сторонними лицами.
Как видите, нам пришлось серьезно погрузиться в тонкости и разобраться в том, как оно бывает в реальной жизни \ как не бывает, а если не бывает, то может ли быть?
На этом этапе в Легенде появилось два новых элемента:
- стикер бирюзового цвета “Term”. Он нужен для того, чтобы зафиксировать те самые термины, которые мы выявили в процессе “погружения”.
- красная горизонтальная линия. Мы будем применять ее для обозначения и разделения параллельных процессов.
#ESWriting
Timeline - это понятие и элемент в Event Shtorming, которое всегда присутствует, но не обозначается явно. По-умолчанию считается что линия времени прямая, бесконечная и следует слева направо.
Первое действие, которое мы делаем после получения некоторого объема событий – упорядочение во времени. Так разрозненный хаос оранжевых стикеров превращается в то, что можно назвать системой. Кроме того, у нас появляется иерархия. Но она не вертикальная, а горизонтальная - события, которые случаются раньше, стоят ближе к началу.
Когда я попыталась выстроить все оранжевые стикеры в линию, то столкнулась с тем, что некоторые карточки выглядели дублирующими (обо одном и том же). Например:
Инициатива по походу сформирована
В системе зарегистрирован поход
Турист создал поход с указанием маршрута, сложности, временного промежутка, нужного инвентаря, макс. кол-вом людей
Турист подписался на возможные ближайшие походы/Поставил статус, что готов пойти
Турист подал заявку(и) на участие в походе
Туриста оповестили, что его приглашают в команду на определенный поход
Турист получил приглашение
Действительно ли все эти стикеры описывают одно и тоже событие, но по-разному?
На предыдущем шаге я задавалась вопросом: “Чего мы хотим?” и пришла к выводу, что - сходить в поход. Мой следующей вопрос: С чего поход начинается?
Мой ответ - смотря для кого. Для руководителя он начинается с готовности вести группу, а для рядового туриста - с готовности идти.
Значит туристы бывают рядовые и руководители. А рядовые туристы как-то делятся? У них есть роли: хронометрист, реммастер, ответственный за еду и прочее. Хотя, в коммерческом походе за еду, как правило, отвечает руководитель, он же гид. Либо, для этой задачи нанимаются специальные люди, которые идут с группой и обеспечивают их едой на бивуаках. Походы не одинаковы. События в них распределяются по-разному. Какие бывают походы?
Коммерческими называют походы, которые по своей сути являются продуктом. Это услуга. Основная цель предприятия – доход. Поход для них - это средство получения дохода. В обмен на деньги они берут на себя весь организационный процесс. Задача туриста-покупателя - суметь пройти.
Некоммерческие походы не приносят дохода никому из участников включая руководителя. Все организационные моменты равномерно распределяются в группе. Такие походы часто проходят со спортивной целью и имеют градацию по категориям.
Категорийный поход - тот, который соответствует определенному уровню из общепринятой классификации («Приложении 1. Методика категорирования пешеходного маршрута» к «Единой Всероссийской спортивной классификации туристских маршрутов (ЕВСКТМ)»). Для каждого уровня определенно время нахождения на маршруте и преодоление препятствий соответствующего уровня сложности. Также учитываются коэффициент трудности, географические особенности района, автономность и другие показатели. Часто, чтобы собрать категорийный поход, приходится тщательно выбирать регион и составлять хитрый маршрут.
Некатегорийный поход - тот, который делается “для души”, а не для спортивных заслуг. При составлении маршрута методика категорирования не учитывается.
Некоммерческий подход может быть категорийным (спортивным), но это не обязательно, если у участников нет спортивных целей.
Категорийный поход может содержать элементы коммерции. Например, для сложных маршрутов организация “забросок” (некий объем продуктов и снаряжения в определенном месте на маршруте) осуществляется за деньги сторонними лицами.
Как видите, нам пришлось серьезно погрузиться в тонкости и разобраться в том, как оно бывает в реальной жизни \ как не бывает, а если не бывает, то может ли быть?
На этом этапе в Легенде появилось два новых элемента:
- стикер бирюзового цвета “Term”. Он нужен для того, чтобы зафиксировать те самые термины, которые мы выявили в процессе “погружения”.
- красная горизонтальная линия. Мы будем применять ее для обозначения и разделения параллельных процессов.
#ESWriting
⚡1
Итерация 2: устранение дублей
Вы найдете термины на бирюзовых стикерах в верхней части доски.
А оранжевые с похожим содержанием я выстроила друг под другом. Давайте попробуем разобраться с первым столбиком вертикали.
Они точно дублирующие, или они просто звучат похожим образом, но обозначают разные события и должны быть разнесены по таймлинии? Может быть их можно сформулировать как-то иначе? О чем они?
Авторы стикеров – тут без вас никак. Разанонмизируйтесь )))
Так как мы проектируем систему, то можем оперировать только теми событиями, которые происходят в ее рамках. Допустим, поход начинается с того, что у кого-то случилось четко сформированное желание это сделать. То есть инициатива по походу сформирована. Но как об этом узнает приложение, которое мы проектируем?
Кажется, кто-то должен добавить в приложение поход. Или как-то обозначить свою готовность поучаствовать в нем (походе). Кто это? Турист - живой человек. Следовательно, в нашей системе должны быть зарегистрированные пользователи.
Ставлю оранжевый стикер “Турист добавлен” в самое начало таймлинии и сразу предлагаю переименовать его в “Турист зарегистрировался в приложении”
Как будто следующей карточкой должно быть “Поход заведен в приложении”.
Зафиксируем еще два термина:
Из этого следует, что у нас могут быть неучастники похода. Например, обязанность по составлению маршрута и ведение группы по маршруту - задача руководителя. Но он может и не придумывать ничего сам, а провести группу по маршруту, которой составил и прошел кто-то другой. То есть автор маршрута не обязательно должен быть участником похода. Нередки случаи, когда пользуются готовыми раскладками, особенно когда поход некатегорийный и недлительный. Составление раскладки - сложный процесс. Некоторые охотно купили бы эту услугу за деньги. Все это - бизнес-возможности для нашего приложения, но я предлагаю пока оставить их за скобками и сконцентрироваться на основном процессе - подготовке к походу.
Я вижу этот процесса так:
Любой зарегистрированный в системе Турист может создать Поход. Для этого он заполняет карточку в которой указывает: название, регион, предполагаемые даты, нитку маршрута, количество участников в группе.
Турист, который заводит Поход в приложении, по-умолчанию назначается Руководителем. Но все элементы только что созданного похода могут быть изменены в процессе, включая Руководителя. Ситуации бывают разными.
Для того, чтобы было понятно, можно ли предлагать, например, другие даты или это уже “железно”, каждый элемент должен обладать статусом “утверждено \ не утверждено” (можно маркировать цветом).
Когда поход зарегистрирован в приложении (создан), он попадает в условный каталог походов и становится доступным для ознакомления всем зарегистрированным пользователям приложения и гостям.
Туристы, готовые участвовать в Походе, подают свои заявки на участие. Руководитель похода рассматривает заявки один или совместно с уже утвержденными участниками похода.
Я размышляла над возможностью приглашать туристов в поход. Но это рискует стать спам-функцией. Если руководитель похода уверен, что готов кого-то взять в группу, значит, скорее всего, он знаком с ним лично и приглашение сможет передать вне нашего приложения. Если турист готов принять такое приглашение, ему потребуется зарегистрироваться и подать заявку. То есть - в общем порядке.
Таким образом два крайних стикера: “Туриста оповестили, что его приглашают в команду на определенный поход” и “Турист получил приглашение” я бы пока отложила в сторонку. Давайте без этого.
#ESWriting
Вы найдете термины на бирюзовых стикерах в верхней части доски.
А оранжевые с похожим содержанием я выстроила друг под другом. Давайте попробуем разобраться с первым столбиком вертикали.
Инициатива по походу сформирована
В системе зарегистрирован поход
Турист создал поход с указанием маршрута, сложности, временного промежутка, нужного инвентаря, макс. кол-вом людей
Турист подписался на возможные ближайшие походы/Поставил статус, что готов пойти
Турист подал заявку(и) на участие в походе
Туриста оповестили, что его приглашают в команду на определенный поход
Турист получил приглашение
Они точно дублирующие, или они просто звучат похожим образом, но обозначают разные события и должны быть разнесены по таймлинии? Может быть их можно сформулировать как-то иначе? О чем они?
Авторы стикеров – тут без вас никак. Разанонмизируйтесь )))
Так как мы проектируем систему, то можем оперировать только теми событиями, которые происходят в ее рамках. Допустим, поход начинается с того, что у кого-то случилось четко сформированное желание это сделать. То есть инициатива по походу сформирована. Но как об этом узнает приложение, которое мы проектируем?
Кажется, кто-то должен добавить в приложение поход. Или как-то обозначить свою готовность поучаствовать в нем (походе). Кто это? Турист - живой человек. Следовательно, в нашей системе должны быть зарегистрированные пользователи.
Ставлю оранжевый стикер “Турист добавлен” в самое начало таймлинии и сразу предлагаю переименовать его в “Турист зарегистрировался в приложении”
Как будто следующей карточкой должно быть “Поход заведен в приложении”.
Зафиксируем еще два термина:
Поход - массовая или одиночная прогулка на длительное расстояние, осуществляемое с определенной целью.
Турист - участник похода.
Из этого следует, что у нас могут быть неучастники похода. Например, обязанность по составлению маршрута и ведение группы по маршруту - задача руководителя. Но он может и не придумывать ничего сам, а провести группу по маршруту, которой составил и прошел кто-то другой. То есть автор маршрута не обязательно должен быть участником похода. Нередки случаи, когда пользуются готовыми раскладками, особенно когда поход некатегорийный и недлительный. Составление раскладки - сложный процесс. Некоторые охотно купили бы эту услугу за деньги. Все это - бизнес-возможности для нашего приложения, но я предлагаю пока оставить их за скобками и сконцентрироваться на основном процессе - подготовке к походу.
Я вижу этот процесса так:
Любой зарегистрированный в системе Турист может создать Поход. Для этого он заполняет карточку в которой указывает: название, регион, предполагаемые даты, нитку маршрута, количество участников в группе.
Турист, который заводит Поход в приложении, по-умолчанию назначается Руководителем. Но все элементы только что созданного похода могут быть изменены в процессе, включая Руководителя. Ситуации бывают разными.
Для того, чтобы было понятно, можно ли предлагать, например, другие даты или это уже “железно”, каждый элемент должен обладать статусом “утверждено \ не утверждено” (можно маркировать цветом).
Когда поход зарегистрирован в приложении (создан), он попадает в условный каталог походов и становится доступным для ознакомления всем зарегистрированным пользователям приложения и гостям.
Туристы, готовые участвовать в Походе, подают свои заявки на участие. Руководитель похода рассматривает заявки один или совместно с уже утвержденными участниками похода.
Я размышляла над возможностью приглашать туристов в поход. Но это рискует стать спам-функцией. Если руководитель похода уверен, что готов кого-то взять в группу, значит, скорее всего, он знаком с ним лично и приглашение сможет передать вне нашего приложения. Если турист готов принять такое приглашение, ему потребуется зарегистрироваться и подать заявку. То есть - в общем порядке.
Таким образом два крайних стикера: “Туриста оповестили, что его приглашают в команду на определенный поход” и “Турист получил приглашение” я бы пока отложила в сторонку. Давайте без этого.
#ESWriting
💩1
Есть еще один дискуссионный стикер “Турист подписался на возможные ближайшие походы/Поставил статус, что готов пойти”. Мне кажется, что он нам точно понадобиться для туристов, которые не являются руководителями. Но как будто бы не сейчас. Зачем кому-то подписываться на поход, если он может сразу подать заявку? Допустим, если поход есть в системе, но находится в архиве. То есть проводить его в ближайшее время не планируют, но кому-то он нравится и хотелось бы пройти. Для архивных походов может пригодится функция “подписаться”. В этом случае не руководитель заводит поход, а поход будет искать своего руководителя. Интересная мысль. Но стоит ли ее описывать в самом начале?
Если все согласны с описанным мною выше процессом, то событийный ряд будет выглядеть так:
Турист зарегистрировался - Поход создан - Турист подал заявку \ Рассматривает заявку - Даты утверждены \ Маршрут утвержден \ Участники утверждены
События, обозначенные через дефис, идут последовательно, а через слеш - могут происходить одновременно.
При этом стикеры
считаем дублирующими. Оставляем два: про даты и про нитку, так как это все-таки разные события, а не одно. Но ставим их друг под другом как те, которые могут случиться одновременно. Так мы разберемся со вторым вертикальным столбиком.
А для того, чтобы привести в порядок третий - из двух стикеров: “Группа туристов сформирована” и “Команда сформирована”, оставим только один - первый.
Есть возражения? Встречаемся в чате.
#ESWriting
Если все согласны с описанным мною выше процессом, то событийный ряд будет выглядеть так:
Турист зарегистрировался - Поход создан - Турист подал заявку \ Рассматривает заявку - Даты утверждены \ Маршрут утвержден \ Участники утверждены
События, обозначенные через дефис, идут последовательно, а через слеш - могут происходить одновременно.
При этом стикеры
Плановые даты похода и маршрут сформированы
Утверждены даты похода
Утверждена нитка маршрута
считаем дублирующими. Оставляем два: про даты и про нитку, так как это все-таки разные события, а не одно. Но ставим их друг под другом как те, которые могут случиться одновременно. Так мы разберемся со вторым вертикальным столбиком.
А для того, чтобы привести в порядок третий - из двух стикеров: “Группа туристов сформирована” и “Команда сформирована”, оставим только один - первый.
Есть возражения? Встречаемся в чате.
#ESWriting
💩1
Снимок экрана 2024-06-18 в 21.41.28.png
166 KB
Немного визуализации описанного выше. За одно - фиксация промежуточного результата работы. На картинке можем быть плохо видно. Но все по-прежнему есть на доске
#ESWriting
#ESWriting
💩1
Итерация 2: ответы на дополнительные вопросы к условному заказчику
Помимо прочего на предыдущем шаге у нас появилось два дополнительных вопроса к условному заказчику (вот как эффективно поработали).
Походы в городских условиях называются экскурсиями и не попадают в сферу нашего внимания. Если это вопрос о целевой аудитории, то делать целое приложение для одного единственного города кажется экономически нецелесообразным.
Пользователи - из любой точки в мире. Походы (загородные вылазки - не экскурсии) по любым регионам мира.
Да, на текущем этапе сервис будет работать на одном языке. Более того, этот язык - русский. Почему? Потому, что я, как условный заказчик, нифига не понимаю в американских, турецких или балийских походах. Я знаю только ЕВСКТМ (Единый Всероссийский…)
#ESWriting
Помимо прочего на предыдущем шаге у нас появилось два дополнительных вопроса к условному заказчику (вот как эффективно поработали).
Это сервис для города или распределенный по миру?
Походы в городских условиях называются экскурсиями и не попадают в сферу нашего внимания. Если это вопрос о целевой аудитории, то делать целое приложение для одного единственного города кажется экономически нецелесообразным.
Пользователи - из любой точки в мире. Походы (загородные вылазки - не экскурсии) по любым регионам мира.
Сервис на одном языке?
Да, на текущем этапе сервис будет работать на одном языке. Более того, этот язык - русский. Почему? Потому, что я, как условный заказчик, нифига не понимаю в американских, турецких или балийских походах. Я знаю только ЕВСКТМ (Единый Всероссийский…)
#ESWriting
💩1
Резюме по Итерация 2
После второй итерации все доменные эксперты “встали и вышли”. Мне ещё предстоит разобраться в причинах возникновения этого эффекта. Сейчас - про походы.
Я остановилась на попытке разобрать карточки с событиями и выстроить их в порядке возникновения от более ранних к более поздним. В процессе поняла что какие-то стикеры хочется объединить, что-то убрать, а что-то – переименовать. И все это по отношению к самым ранним событиям. Буквально только старт процесса. У меня получилось что-то вроде горизонтальной пирамидки:
<турист зарегистрировался в приложении>
|
<поход создан в приложении>
|
<турист подал заявку на участие в походе> И <кто-то рассматривает эту заявку>
|
<даты похода утверждены> И <маршрут утвержден> И <участники утверждены>
Что дальше?
#ESWriting
После второй итерации все доменные эксперты “встали и вышли”. Мне ещё предстоит разобраться в причинах возникновения этого эффекта. Сейчас - про походы.
Я остановилась на попытке разобрать карточки с событиями и выстроить их в порядке возникновения от более ранних к более поздним. В процессе поняла что какие-то стикеры хочется объединить, что-то убрать, а что-то – переименовать. И все это по отношению к самым ранним событиям. Буквально только старт процесса. У меня получилось что-то вроде горизонтальной пирамидки:
<турист зарегистрировался в приложении>
|
<поход создан в приложении>
|
<турист подал заявку на участие в походе> И <кто-то рассматривает эту заявку>
|
<даты похода утверждены> И <маршрут утвержден> И <участники утверждены>
Что дальше?
#ESWriting
💩1
Итерация 3: Error
Обычно после того как с составом группы датами и маршрутом все становится понятно начинается какая-то суета по поводу еды, снаряжения, транспорта, подготовке необходимых документов. И все это происходит одновременно. Раскладка никак не зависит от состава снаряжения, которое удалось раздобыть. Не зависят от всего этого ни документы, ни транспорт. Но внутри каждого из этих понятий существуют какие-то события. Это параллельные потоки. Обозначу их на Swim Line (плавательных дорожках). Но у меня уже как будто есть плавательные дорожки. Вот же стикеры стоят друг под другом и рассказывают про Даты, Маршрут и Участников. Еда, Снаряжение и Документы со всем этим никак не коррелируют. Как быть?
Сами собой в моих размышлениях выкристаллизовалась понятия, которые рискуют стать субдоменами для домена “Походы”. Я пока не знаю что с ними делать. Воспользуюсь красной карточкой.
Error в методологии Event Storming используется для обозначения того, на что стоит обратить внимание в уже составленной схеме. Это не обязательно ошибка. Может быть просто замечание. Я воспринимаю его как свободный стикер на котором можно написать то, чего не предусмотрено в методологии. Мне не нравится красный цвет. Хочется сделать его нейтральным. Но я столкнулась с тем, что базовую легенду менять нельзя. Те, кто уже знаком с методологией, глядя на схему автоматически считывают цвета и относят их к определенным типам (оранжевое – событие, бирюзовое – термин, синий – команда к действию и т.п.). Цветовое кодирование позволяет читать плоскую картинку как объемную модель. Но работает это только тогда, когда у всех одинаковый код. Иначе интерпретатор, работающий в наших сознаниях, ломается.
Я решила обозначить красными стикерами плавательные дорожки параллельных процессов подготовки питания, снаряжения, документов и обнаружила, что ошибка у меня все-таки есть. Это ошибка в ранее составленной схеме. Что-то в ней не так. Попробуем проверить.
#ESWriting
Обычно после того как с составом группы датами и маршрутом все становится понятно начинается какая-то суета по поводу еды, снаряжения, транспорта, подготовке необходимых документов. И все это происходит одновременно. Раскладка никак не зависит от состава снаряжения, которое удалось раздобыть. Не зависят от всего этого ни документы, ни транспорт. Но внутри каждого из этих понятий существуют какие-то события. Это параллельные потоки. Обозначу их на Swim Line (плавательных дорожках). Но у меня уже как будто есть плавательные дорожки. Вот же стикеры стоят друг под другом и рассказывают про Даты, Маршрут и Участников. Еда, Снаряжение и Документы со всем этим никак не коррелируют. Как быть?
Сами собой в моих размышлениях выкристаллизовалась понятия, которые рискуют стать субдоменами для домена “Походы”. Я пока не знаю что с ними делать. Воспользуюсь красной карточкой.
Error в методологии Event Storming используется для обозначения того, на что стоит обратить внимание в уже составленной схеме. Это не обязательно ошибка. Может быть просто замечание. Я воспринимаю его как свободный стикер на котором можно написать то, чего не предусмотрено в методологии. Мне не нравится красный цвет. Хочется сделать его нейтральным. Но я столкнулась с тем, что базовую легенду менять нельзя. Те, кто уже знаком с методологией, глядя на схему автоматически считывают цвета и относят их к определенным типам (оранжевое – событие, бирюзовое – термин, синий – команда к действию и т.п.). Цветовое кодирование позволяет читать плоскую картинку как объемную модель. Но работает это только тогда, когда у всех одинаковый код. Иначе интерпретатор, работающий в наших сознаниях, ломается.
Я решила обозначить красными стикерами плавательные дорожки параллельных процессов подготовки питания, снаряжения, документов и обнаружила, что ошибка у меня все-таки есть. Это ошибка в ранее составленной схеме. Что-то в ней не так. Попробуем проверить.
#ESWriting
💩1
Итерация 3: проверка методом прямого чтения (слева-направо)
Когда все события выстроены по Timeline проводятся две проверки: методом прямого чтения и методом обратного повествования). Проверку методом чтения слева-направо удобно проводить по шаблону:
Когда произошло <событие на первой карточке> тогда происходит <событие на второй карточке>.
Когда <пользователь зарегистрировался в приложении> – <поход в приложении создан>.
Уже какая-то фигня. Не бывает так. После регистрации, видимо, пользователь должен выбрать в каком статусе он хочет пройти ближайший поход - руководителя или простого участника. И от этого выбора будет зависеть дальнейший сценарий.
Допустим, он решит быть руководителем и получит право зарегистрировать (создать) свой поход в системе нашего приложения.
Когда <поход в системе создан> – <кто-то подал заявку на участие> И <кто-то рассматривает эту заявку>.
Ну, допустим. Тут вроде ничего не вызывает внутреннего противоречия. Дальше
Когда <турист подал заявку> И <эту заявку рассмотрели> – <даты похода утверждены>И <маршрут утвержден> И <состав утвержден>
Вот это полная фигня.
Поход “Идем не знаю куда не знаю когда” - невозможен. Не бывает походов без маршрута и дат. Бывают такие, где окончательное решение принимается спустя какое-то время. Ну так это требование к системе (возможность менять даты и маршрут в уже созданном походе), а не какое-то событие, которое блокирует возникновение последующих событий. Что тогда? Как будет выглядеть цепочка событий на Timeline?
Убираю карточки с датой и маршрутом. Добавляю две карточки про выбор роли. Между ними провожу красную черту (на предыдущей итерации она появилась в легенде). Таким образом у меня появились две плавательные дорожки Swimming Line. Тут же обнаруживаю что одна из карточек содержит формулировку в настоящем времени, а по правилам необходимо прошедшее. Исправляю “рассматрИВАЕТ заявку участника” на “РассмотрЕЛ…” и отношу исправлений стикер на дорожку, где была выбрана роль руководителя. А карточку с подачей заявки в поход переношу на дорожку, где была выбрана “произвольная” роль для участия в походе. Быстрая проверка методом прямого чтения:
Когда <пользователь зарегистрировался в приложении> – <роль руководителя похода выбрана>
|
Когда <роль руководителя похода выбрана> – <поход зарегистрирован в системе>
|
Когда <поход зарегистрирован в приложении> – <руководитель рассмотрел заявку на участие>
|
Когда <руководитель рассмотрел заявку на участие> – <участники похода утверждены>
Выглядит так, как будто работает. Возможно стоит сменить крайний оранжевый стикер с “участники утверждены” на “группа сформирована”.
А что будет, если мы пойдем по другой плавательной дорожке?
Когда пользователь зарегистрировался или авторизовался в системе – роль “произвольная” выбрана
|
Когда произвольная роль выбрана – … поход из каталога походов выбран
|
Когда поход выбран – заявка на участие в походе подана
|
Когда заявка на участие подана – группа сформирована?
Примерно так, если заявка одобрена. Подшаманю надписи на стикерах. Добавлю еще парочку промежуточных событий с отправкой и получением одобрения заявок. Даже страшно подумать сколько мусора оставалось от офлайновых мероприятий.
#ESWriting
Когда все события выстроены по Timeline проводятся две проверки: методом прямого чтения и методом обратного повествования). Проверку методом чтения слева-направо удобно проводить по шаблону:
Когда произошло <событие на первой карточке> тогда происходит <событие на второй карточке>.
Когда <пользователь зарегистрировался в приложении> – <поход в приложении создан>.
Уже какая-то фигня. Не бывает так. После регистрации, видимо, пользователь должен выбрать в каком статусе он хочет пройти ближайший поход - руководителя или простого участника. И от этого выбора будет зависеть дальнейший сценарий.
Допустим, он решит быть руководителем и получит право зарегистрировать (создать) свой поход в системе нашего приложения.
Когда <поход в системе создан> – <кто-то подал заявку на участие> И <кто-то рассматривает эту заявку>.
Ну, допустим. Тут вроде ничего не вызывает внутреннего противоречия. Дальше
Когда <турист подал заявку> И <эту заявку рассмотрели> – <даты похода утверждены>И <маршрут утвержден> И <состав утвержден>
Вот это полная фигня.
Поход “Идем не знаю куда не знаю когда” - невозможен. Не бывает походов без маршрута и дат. Бывают такие, где окончательное решение принимается спустя какое-то время. Ну так это требование к системе (возможность менять даты и маршрут в уже созданном походе), а не какое-то событие, которое блокирует возникновение последующих событий. Что тогда? Как будет выглядеть цепочка событий на Timeline?
Убираю карточки с датой и маршрутом. Добавляю две карточки про выбор роли. Между ними провожу красную черту (на предыдущей итерации она появилась в легенде). Таким образом у меня появились две плавательные дорожки Swimming Line. Тут же обнаруживаю что одна из карточек содержит формулировку в настоящем времени, а по правилам необходимо прошедшее. Исправляю “рассматрИВАЕТ заявку участника” на “РассмотрЕЛ…” и отношу исправлений стикер на дорожку, где была выбрана роль руководителя. А карточку с подачей заявки в поход переношу на дорожку, где была выбрана “произвольная” роль для участия в походе. Быстрая проверка методом прямого чтения:
Когда <пользователь зарегистрировался в приложении> – <роль руководителя похода выбрана>
|
Когда <роль руководителя похода выбрана> – <поход зарегистрирован в системе>
|
Когда <поход зарегистрирован в приложении> – <руководитель рассмотрел заявку на участие>
|
Когда <руководитель рассмотрел заявку на участие> – <участники похода утверждены>
Выглядит так, как будто работает. Возможно стоит сменить крайний оранжевый стикер с “участники утверждены” на “группа сформирована”.
А что будет, если мы пойдем по другой плавательной дорожке?
Когда пользователь зарегистрировался или авторизовался в системе – роль “произвольная” выбрана
|
Когда произвольная роль выбрана – … поход из каталога походов выбран
|
Когда поход выбран – заявка на участие в походе подана
|
Когда заявка на участие подана – группа сформирована?
Примерно так, если заявка одобрена. Подшаманю надписи на стикерах. Добавлю еще парочку промежуточных событий с отправкой и получением одобрения заявок. Даже страшно подумать сколько мусора оставалось от офлайновых мероприятий.
#ESWriting
💩1
Итерация 3: стикер дешевле разработчика
Вы заметили как менялись мои требования к системе и ее понимание, пока я возилась с небольшим количеством событий? При этом мне казалось, что ничего такого не происходит. Я просто уточняю ранее обозначенные формулировки. Но если посмотреть на картинки промежуточных результатов, то складывается впечатление, что на каждой итерации я проектировала разные системы.
#ESWriting
Вы заметили как менялись мои требования к системе и ее понимание, пока я возилась с небольшим количеством событий? При этом мне казалось, что ничего такого не происходит. Я просто уточняю ранее обозначенные формулировки. Но если посмотреть на картинки промежуточных результатов, то складывается впечатление, что на каждой итерации я проектировала разные системы.
#ESWriting
👍1💩1💯1
Цепочка событий – это муторно и долго. Хочется бросить примерно сразу. Есть же уже какое-то базовое понимание того, что должно получится. Примерно знаешь что там должно происходить. Представляешь даже за счет чего это может быть реализовано. Какую базу данных использовать, на какие таблицы делить. Какие технологии понадобятся. Чего мяться? Нада делать!
Ну мы и делаем. Чуть чуть сделали – показали заказчику, как завещает agile. Заказчик чуть-чуть скорректировал формулировки. Еще чуть-чуть сделали. А в конце получилось, что сделали не то, что собирались. И сделали как-то не очень. А денег на очень уже нет.
Из теории систем я знаю что анализ должен сочетаться с синтезом и важно, чтобы эти стадии были равными, последовательными и не особо длительными.
Нейробиолог Анна Обухова также рассказывает о том, как важно возвращать себе энергию из любого процесса иначе на новую итерацию топлива может просто не хватить.
Как же поступить, чтобы первая стадия Event Storming – Big Picture – была не столь длительна и не так утомительна?
Ответ пришел мне в голову когда мне захотелось превратить линейки событий про еду, снаряжение и подготовку документов в сворачивающиеся списки. Можно я сейчас схлопну всё это в один стикер, представив что еда, снаряжение и документы для похода уже готовы? Есть ли что-то дальше? А можно ещё чуть-чуть отодвинуться увидеть как выглядит картина в целом?
Укрупняем. Как выглядит процесс походов если писать его крупными мазками?
Собрались - Пошли - Вернулись.
В этом лесу совсем не видно деревьев. Так не пойдет.
Можно разобраться подробно с тем, что там нужно для подготовки и сбора еды. Потом понять как организовать поиск и подготовку необходимого снаряжения. А потом соберем все это в одну картину. Многие именно так и работают. Но я не нашла способов, методов и даже примеров того, как много маленьких Штормингов собирают связывают друг с другом.
Есть риск не увидеть за деревьями лес.
Похоже, чтобы мы видели лес и знали какие в нем деревья, нужно уметь делать и то, и другое – прописывать процесс крупными мазками (но так, чтобы все-таки было понятно о чем он) и детализировать то, что в этом нуждается. При этом важно удерживать себя от соблазна начать разработку раньше, чем закончится планирование и проектирование.
Попробую исправиться:
- Пользователь зарегистрировался \ авторизовался
- Пользователь определился с тем хочет ли он идти в поход или вести поход
- Пользователь создал поход или выбрал поход
- Пользователь собрал заявки на участие или подал заявку на участие
- Пользователь одобрил \ отклонил заявки или получил одобрение \ отклонение
- Группа сформирована
- Роли участников группы распределены
- Пользователь получил информацию о ситуации на маршруте (из коротких отчетов других путешественников, которые оставляли их в приложении)
- Пользователь собрал необходимую еду
- Пользователь собрал необходимое снаряжение
- Пользователь передал руководителю документы
- Руководитель подготовил документы для мчс и в другие ведомства (если необходимо)
- Страховка оформлена
- Транспорт найден
- Транспорт забронирован \ билеты куплены
- Участники в точке старта собрались
- Финальная проверка перед походом проведена
- Поход пройден
- Отчеты написаны
- Взаимный обмен впечатлениями и обратной связью состоялся
В следующих сериях я попробую поработать с этой крупной моделью, прогнать ее через проверку прямого и обратного повествования, определить границы контекстов и… начну стадию Big Picture для каждого контекста в отдельности.
Есть другие предложения?
#ESWriting
Ну мы и делаем. Чуть чуть сделали – показали заказчику, как завещает agile. Заказчик чуть-чуть скорректировал формулировки. Еще чуть-чуть сделали. А в конце получилось, что сделали не то, что собирались. И сделали как-то не очень. А денег на очень уже нет.
Из теории систем я знаю что анализ должен сочетаться с синтезом и важно, чтобы эти стадии были равными, последовательными и не особо длительными.
Нейробиолог Анна Обухова также рассказывает о том, как важно возвращать себе энергию из любого процесса иначе на новую итерацию топлива может просто не хватить.
Как же поступить, чтобы первая стадия Event Storming – Big Picture – была не столь длительна и не так утомительна?
Ответ пришел мне в голову когда мне захотелось превратить линейки событий про еду, снаряжение и подготовку документов в сворачивающиеся списки. Можно я сейчас схлопну всё это в один стикер, представив что еда, снаряжение и документы для похода уже готовы? Есть ли что-то дальше? А можно ещё чуть-чуть отодвинуться увидеть как выглядит картина в целом?
Укрупняем. Как выглядит процесс походов если писать его крупными мазками?
Собрались - Пошли - Вернулись.
В этом лесу совсем не видно деревьев. Так не пойдет.
Можно разобраться подробно с тем, что там нужно для подготовки и сбора еды. Потом понять как организовать поиск и подготовку необходимого снаряжения. А потом соберем все это в одну картину. Многие именно так и работают. Но я не нашла способов, методов и даже примеров того, как много маленьких Штормингов собирают связывают друг с другом.
Есть риск не увидеть за деревьями лес.
Похоже, чтобы мы видели лес и знали какие в нем деревья, нужно уметь делать и то, и другое – прописывать процесс крупными мазками (но так, чтобы все-таки было понятно о чем он) и детализировать то, что в этом нуждается. При этом важно удерживать себя от соблазна начать разработку раньше, чем закончится планирование и проектирование.
Попробую исправиться:
- Пользователь зарегистрировался \ авторизовался
- Пользователь определился с тем хочет ли он идти в поход или вести поход
- Пользователь создал поход или выбрал поход
- Пользователь собрал заявки на участие или подал заявку на участие
- Пользователь одобрил \ отклонил заявки или получил одобрение \ отклонение
- Группа сформирована
- Роли участников группы распределены
- Пользователь получил информацию о ситуации на маршруте (из коротких отчетов других путешественников, которые оставляли их в приложении)
- Пользователь собрал необходимую еду
- Пользователь собрал необходимое снаряжение
- Пользователь передал руководителю документы
- Руководитель подготовил документы для мчс и в другие ведомства (если необходимо)
- Страховка оформлена
- Транспорт найден
- Транспорт забронирован \ билеты куплены
- Участники в точке старта собрались
- Финальная проверка перед походом проведена
- Поход пройден
- Отчеты написаны
- Взаимный обмен впечатлениями и обратной связью состоялся
В следующих сериях я попробую поработать с этой крупной моделью, прогнать ее через проверку прямого и обратного повествования, определить границы контекстов и… начну стадию Big Picture для каждого контекста в отдельности.
Есть другие предложения?
#ESWriting
⚡1👍1💩1
Канал перешел на открытый формат работы. Чат остается в закрытом режиме, но любой желающий прокомментировать пост может подать заявку в закрытый чат.
Для тех, у кого нет возможности читать чат, опубликую здесь видео с краткой информацией о том, что у меня есть на данный момент по Event Storming . Здесь же еще раз оставлю ссылку на доску, где мы штормим.
https://excalidraw.com/#room=d551383ae076bd5d2081,7KlSutOHA7x6rROeUYFp2w
#ESWriting
Для тех, у кого нет возможности читать чат, опубликую здесь видео с краткой информацией о том, что у меня есть на данный момент по Event Storming . Здесь же еще раз оставлю ссылку на доску, где мы штормим.
https://excalidraw.com/#room=d551383ae076bd5d2081,7KlSutOHA7x6rROeUYFp2w
#ESWriting
Excalidraw
Excalidraw — Collaborative whiteboarding made easy
Excalidraw is a virtual collaborative whiteboard tool that lets you easily sketch diagrams that have a hand-drawn feel to them.
👍2💩1