notes-analyst
80 subscribers
11 photos
1 video
3 files
17 links
Новости проекта notes-analyst.ru | Чат https://t.me/+sZztYHFuJKllZGNi
Download Telegram
Резюме по Итерация 2

После второй итерации все доменные эксперты “встали и вышли”. Мне ещё предстоит разобраться в причинах возникновения этого эффекта. Сейчас - про походы.

Я остановилась на попытке разобрать карточки с событиями и выстроить их в порядке возникновения от более ранних к более поздним. В процессе поняла что какие-то стикеры хочется объединить, что-то убрать, а что-то – переименовать. И все это по отношению к самым ранним событиям. Буквально только старт процесса. У меня получилось что-то вроде горизонтальной пирамидки:

<турист зарегистрировался в приложении>
|
<поход создан в приложении>
|
<турист подал заявку на участие в походе> И <кто-то рассматривает эту заявку>
|
<даты похода утверждены> И <маршрут утвержден> И <участники утверждены>

Что дальше?

#ESWriting
💩1
Итерация 3: Error

Обычно после того как с составом группы датами и маршрутом все становится понятно начинается какая-то суета по поводу еды, снаряжения, транспорта, подготовке необходимых документов. И все это происходит одновременно. Раскладка никак не зависит от состава снаряжения, которое удалось раздобыть. Не зависят от всего этого ни документы, ни транспорт. Но внутри каждого из этих понятий существуют какие-то события. Это параллельные потоки. Обозначу их на Swim Line (плавательных дорожках). Но у меня уже как будто есть плавательные дорожки. Вот же стикеры стоят друг под другом и рассказывают про Даты, Маршрут и Участников. Еда, Снаряжение и Документы со всем этим никак не коррелируют. Как быть?

Сами собой в моих размышлениях выкристаллизовалась понятия, которые рискуют стать субдоменами для домена “Походы”. Я пока не знаю что с ними делать. Воспользуюсь красной карточкой.

Error в методологии Event Storming используется для обозначения того, на что стоит обратить внимание в уже составленной схеме. Это не обязательно ошибка. Может быть просто замечание. Я воспринимаю его как свободный стикер на котором можно написать то, чего не предусмотрено в методологии. Мне не нравится красный цвет. Хочется сделать его нейтральным. Но я столкнулась с тем, что базовую легенду менять нельзя. Те, кто уже знаком с методологией, глядя на схему автоматически считывают цвета и относят их к определенным типам (оранжевое – событие, бирюзовое – термин, синий – команда к действию и т.п.). Цветовое кодирование позволяет читать плоскую картинку как объемную модель. Но работает это только тогда, когда у всех одинаковый код. Иначе интерпретатор, работающий в наших сознаниях, ломается.

Я решила обозначить красными стикерами плавательные дорожки параллельных процессов подготовки питания, снаряжения, документов и обнаружила, что ошибка у меня все-таки есть. Это ошибка в ранее составленной схеме. Что-то в ней не так. Попробуем проверить.

#ESWriting
💩1
💩1
Итерация 3: проверка методом прямого чтения (слева-направо)

Когда все события выстроены по Timeline проводятся две проверки: методом прямого чтения и методом обратного повествования). Проверку методом чтения слева-направо удобно проводить по шаблону:

Когда произошло <событие на первой карточке> тогда происходит <событие на второй карточке>.

Когда <пользователь зарегистрировался в приложении> – <поход в приложении создан>.

Уже какая-то фигня. Не бывает так. После регистрации, видимо, пользователь должен выбрать в каком статусе он хочет пройти ближайший поход - руководителя или простого участника. И от этого выбора будет зависеть дальнейший сценарий.

Допустим, он решит быть руководителем и получит право зарегистрировать (создать) свой поход в системе нашего приложения.

Когда <поход в системе создан> – <кто-то подал заявку на участие> И <кто-то рассматривает эту заявку>.

Ну, допустим. Тут вроде ничего не вызывает внутреннего противоречия. Дальше

Когда <турист подал заявку> И <эту заявку рассмотрели> – <даты похода утверждены>И <маршрут утвержден> И <состав утвержден>

Вот это полная фигня.

Поход “Идем не знаю куда не знаю когда” - невозможен. Не бывает походов без маршрута и дат. Бывают такие, где окончательное решение принимается спустя какое-то время. Ну так это требование к системе (возможность менять даты и маршрут в уже созданном походе), а не какое-то событие, которое блокирует возникновение последующих событий. Что тогда? Как будет выглядеть цепочка событий на Timeline?

Убираю карточки с датой и маршрутом. Добавляю две карточки про выбор роли. Между ними провожу красную черту (на предыдущей итерации она появилась в легенде). Таким образом у меня появились две плавательные дорожки Swimming Line. Тут же обнаруживаю что одна из карточек содержит формулировку в настоящем времени, а по правилам необходимо прошедшее. Исправляю “рассматрИВАЕТ заявку участника” на “РассмотрЕЛ…” и отношу исправлений стикер на дорожку, где была выбрана роль руководителя. А карточку с подачей заявки в поход переношу на дорожку, где была выбрана “произвольная” роль для участия в походе. Быстрая проверка методом прямого чтения:

Когда <пользователь зарегистрировался в приложении> – <роль руководителя похода выбрана>
|
Когда <роль руководителя похода выбрана> – <поход зарегистрирован в системе>
|
Когда <поход зарегистрирован в приложении> – <руководитель рассмотрел заявку на участие>
|
Когда <руководитель рассмотрел заявку на участие> – <участники похода утверждены>

Выглядит так, как будто работает. Возможно стоит сменить крайний оранжевый стикер с “участники утверждены” на “группа сформирована”.

А что будет, если мы пойдем по другой плавательной дорожке?

Когда пользователь зарегистрировался или авторизовался в системе – роль “произвольная” выбрана
|
Когда произвольная роль выбрана – … поход из каталога походов выбран
|
Когда поход выбран – заявка на участие в походе подана
|
Когда заявка на участие подана – группа сформирована?

Примерно так, если заявка одобрена. Подшаманю надписи на стикерах. Добавлю еще парочку промежуточных событий с отправкой и получением одобрения заявок. Даже страшно подумать сколько мусора оставалось от офлайновых мероприятий.

#ESWriting
💩1
💩1
Итерация 3: стикер дешевле разработчика

Вы заметили как менялись мои требования к системе и ее понимание, пока я возилась с небольшим количеством событий? При этом мне казалось, что ничего такого не происходит. Я просто уточняю ранее обозначенные формулировки. Но если посмотреть на картинки промежуточных результатов, то складывается впечатление, что на каждой итерации я проектировала разные системы.

#ESWriting
👍1💩1💯1
Цепочка событий – это муторно и долго. Хочется бросить примерно сразу. Есть же уже какое-то базовое понимание того, что должно получится. Примерно знаешь что там должно происходить. Представляешь даже за счет чего это может быть реализовано. Какую базу данных использовать, на какие таблицы делить. Какие технологии понадобятся. Чего мяться? Нада делать!

Ну мы и делаем. Чуть чуть сделали – показали заказчику, как завещает agile. Заказчик чуть-чуть скорректировал формулировки. Еще чуть-чуть сделали. А в конце получилось, что сделали не то, что собирались. И сделали как-то не очень. А денег на очень уже нет.

Из теории систем я знаю что анализ должен сочетаться с синтезом и важно, чтобы эти стадии были равными, последовательными и не особо длительными.

Нейробиолог Анна Обухова также рассказывает о том, как важно возвращать себе энергию из любого процесса иначе на новую итерацию топлива может просто не хватить.

Как же поступить, чтобы первая стадия Event Storming – Big Picture – была не столь длительна и не так утомительна?

Ответ пришел мне в голову когда мне захотелось превратить линейки событий про еду, снаряжение и подготовку документов в сворачивающиеся списки. Можно я сейчас схлопну всё это в один стикер, представив что еда, снаряжение и документы для похода уже готовы? Есть ли что-то дальше? А можно ещё чуть-чуть отодвинуться увидеть как выглядит картина в целом?

Укрупняем. Как выглядит процесс походов если писать его крупными мазками?

Собрались - Пошли - Вернулись.

В этом лесу совсем не видно деревьев. Так не пойдет.

Можно разобраться подробно с тем, что там нужно для подготовки и сбора еды. Потом понять как организовать поиск и подготовку необходимого снаряжения. А потом соберем все это в одну картину. Многие именно так и работают. Но я не нашла способов, методов и даже примеров того, как много маленьких Штормингов собирают связывают друг с другом.

Есть риск не увидеть за деревьями лес.

Похоже, чтобы мы видели лес и знали какие в нем деревья, нужно уметь делать и то, и другое – прописывать процесс крупными мазками (но так, чтобы все-таки было понятно о чем он) и детализировать то, что в этом нуждается. При этом важно удерживать себя от соблазна начать разработку раньше, чем закончится планирование и проектирование.

Попробую исправиться:

- Пользователь зарегистрировался \ авторизовался
- Пользователь определился с тем хочет ли он идти в поход или вести поход
- Пользователь создал поход или выбрал поход
- Пользователь собрал заявки на участие или подал заявку на участие
- Пользователь одобрил \ отклонил заявки или получил одобрение \ отклонение
- Группа сформирована
- Роли участников группы распределены
- Пользователь получил информацию о ситуации на маршруте (из коротких отчетов других путешественников, которые оставляли их в приложении)
- Пользователь собрал необходимую еду
- Пользователь собрал необходимое снаряжение
- Пользователь передал руководителю документы
- Руководитель подготовил документы для мчс и в другие ведомства (если необходимо)
- Страховка оформлена
- Транспорт найден
- Транспорт забронирован \ билеты куплены
- Участники в точке старта собрались
- Финальная проверка перед походом проведена
- Поход пройден
- Отчеты написаны
- Взаимный обмен впечатлениями и обратной связью состоялся

В следующих сериях я попробую поработать с этой крупной моделью, прогнать ее через проверку прямого и обратного повествования, определить границы контекстов и… начну стадию Big Picture для каждого контекста в отдельности.

Есть другие предложения?

#ESWriting
1👍1💩1
Канал перешел на открытый формат работы. Чат остается в закрытом режиме, но любой желающий прокомментировать пост может подать заявку в закрытый чат.

Для тех, у кого нет возможности читать чат, опубликую здесь видео с краткой информацией о том, что у меня есть на данный момент по Event Storming . Здесь же еще раз оставлю ссылку на доску, где мы штормим.

https://excalidraw.com/#room=d551383ae076bd5d2081,7KlSutOHA7x6rROeUYFp2w

#ESWriting
👍2💩1
Media is too big
VIEW IN TELEGRAM
👍1💩1
Как писать Требования к IT системам хорошо

Вы, возможно, знакомы с Юрием Куприяновым — автором канала «Системный сдвиг». На одном из Летних Аналитических Фестивалей он прочел доклад о стоп-словах для системного аналитика.

Список этих слов представляет собой значительную работу по автоматизации контроля качества Требований. Критерии качества легко нагуглить. Ими можно пользоваться, но существует эффект, который принято называть «глаз замылился». Вот если бы существовали маркеры, помогающие обнаружить ошибки… Юрий предлагает использовать определенные слова в качестве таких маркеров.

Я законспектировала его доклад и собрала своеобразный чек-лист для самопроверки. По пути попыталась разобраться в том, что считаю «хорошими требованиями».

📑 Статья с чек-листом https://notes-analyst.ru/stati/kak-pisat-trebovaniya-dlya-it-sistem-horosho/

P.S.
Я оформила чек-лист так, как смогла. Буду рада предложениям по его улучшению.
👍2💩1
Организовали на сайте раздел «Шаблоны».

Предполагается, что там будут собраны примеры документов, которые обычно ждут от системных и бизнес-аналитиков. Но как знать, может и не относящийся к анализу шаблон когда-нибудь опубликуем.

Пока в разделе только два артефакта:
📄 пример документирования REST API;
📄 пример документирования API для JSON-RPC.

Комментарии к обоим примерам и ко всему разделу в целом, а также:
📑 примеры шаблонов получше,
🔗 ссылки на другие шаблоны,
📥 заказы на шаблоны документирования,
🎁 свои шаблоны, -
всякое такое ждем в комментах к этому посту ⤵️
👍3💩1
Event Storming примиряющий

Недавно у меня была возможность понаблюдать как работает Event Storming на реальном проекте. К сожалению, не полный цикл, а только стадию Big Picture (общая картина). Но мне все равно удалось сделать несколько любопытных выводов.

Жизнь и методология часто стоят очень далеко друг от друга. Вот и в Event Storming есть несколько нереалистичных требований: собрать всех в одной комнате в одно время, работать с доменными экспертами… И много разных нереализуемых моментов. Сейчас не о них.

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

Я планировала написать небольшой пост, но не влезло даже в два. Опубликовала на сайте

Конечно, будем рады комментариям. Особенно интересно узнать как сделать так, чтобы Excalidraw не «материлась» от большого объема стикеров. Может кто уже сталкивался и подскажет решение.
👍8💩1
2 января собираемся с Андреем Бураковым и Владимиром Невзоровым проектировать маркетплейс методом Event Storming. Все желающие могут присоединиться, только предупредите меня заранее, пожалуйста.

Во время неудачной попытки поштормить сервис организации походов Владимир несколько раз просил меня дать общую инструкцию процесса. Какие в нем этапы? Что за чем идет? Я отбивалась как могла по двум причинам:

1️⃣ Не считаю себя достаточно знающим человеком.
2️⃣ Статьи о том, как делать Event Storming есть. Хорошие. Но из них ничего непонятно.

Кажется, что научиться делать Шторминг можно только делая Шторминг. Однако я понимаю, что в любом процессе намного легче участвовать, если хотя бы примерно знаешь что будет происходить дальше.

Описала этапы Event Storming так коротко, как только смогла. Хочу верить, что это вам хоть в чем-то поможет. Если не сама статья, то хотя бы видеодоклад Сергея Баранова, на который я там ссылаюсь.

Критику и вопросы складывайте в комментарии.


До встречи в чатике в новом году.
2💯2
Готовлюсь рассказывать разработчикам про Event Storming.

Внезапно поняла, что нельзя рассказать про Шторминг и не рассказать про теорию систем, не пояснить для чего вообще были придуманы системные и бизнес-аналитики, обойти тему DDD, и не вывалиться в самый центр холиварной темы про микросервисы. А на доклад всего 40 минут.

У меня проблемы. О чем я только думала, когда соглашалась. С чего я вообще решила, что мне есть о чем рассказать разработчикам.
2💯1
Мой доклад про Event Storming назывался “Дешёвый способ ошибаться”. Это придумал Артем – один из людей орг.группы. Где-то в середине первой трети черновика он дочитал до мысли про то, что Event Storming – это как проект и модель дома. Мы заранее можем сделать расчеты и проверить их. Мы можем узнать что с нашим домом не так еще до того, как его построим. Мы сэкономим ресурсы. Артем выделил эту мысль и написал что-то вроде: “Вынеси это в самое начало”. Вероятно только тут у него забрезжело хоть какое-то понимание – зачем тут столько букв и про что все они. Я вынесла в заголовок, хотя, скорее всего, от меня просто хотели, чтобы я выбросила то, что было написано выше.

На самом деле дешёвым способом ошибиться стал мой доклад. Я ожидаемо облажалась: неправильно подготовила презентацию (не делайте темный фон, если трансляция через проектор); забывала перелистывать слайды и повторялась; какую-то чушь отвечала на возникающие вопросы (сейчас, когда у меня было время подумать, я бы ответила другое); не смогла доходчиво объяснить довольно простую тему Шторминга, в конце-концов.

Я облажалась, но ничего страшного не произошло. Мероприятие проходило в баре. У всех было пиво. Никто не расстроился.

Дешёвый способ ошибиться – это опыт, полученный в безопасной среде. Там, где твой результат ни на что не влияет. Великого успеха не получится, но и сокрушительного провала – тоже. Event Storming мог бы стать частью инструмента, позволяющего получать такой опыт.

А пока я очень благодарна за то, что в местном сообществе находятся люди, которые вкладывают огромные силы в создание безопасного пространства. В городе, где я сейчас обитаю, есть АйТи завтраки, АйТи прогулки, АйТи волейбол, АйТи пивные четверги и даже IT Girls Club.
🔥6👍31
Мы тут сходили на NextConf. Засиделись там допоздна так как самым полезным и запоминающимся событием дня оказался Круглый стол. А на следующий день в шесть утра уже стремились в сторону другого города.

Поездка была важной, но в ней я не планировала работать, поэтому потратила три дня на чтение курса Наташи Бабаевой по затаскиванию проектов в срок. Наконец-то, спустя полгода после покупки, у безработной меня нашлось на это хоть немного времени.

В связи с двумя вышеперечисленными событиями приняла три очень важных для себя решения:

1️⃣ Больше никаких конференций.
Придется съездить на ЛАФ потому, что билеты были куплены еще в начале января. Но если бы мы сейчас принимали это решение, то не поехали бы. Возможно стану покупать записи докладов. Все равно их ценность – обзорно-ознакомительная. Не знаю пока как решать задачи нетворкинга. Планирую нанять на эту работу комментинг. Но так, чтоб на весь день онлайн или (еще хуже) оффлайн – хватит. Да, Дмитрий Савченко. Наконец-то я тоже доросла до этой мысли.

2️⃣ Больше никаких воркшопов и мастерклассов.
После воркшопа Анны Вичуговой и Зои Степановой я испытывала такую жгучую смесь ненависти к себе, досады и отчаяния, что поспешила извиниться перед Натальей Козловой за то, что напросилась к ней на тестовый прогон МК по моделированию угроз. У меня есть очень большие вопросы к формату воршопов (не к Анне и Зое – они офигенные).

3️⃣ Нет курсам.
Год только начался. А мы бросаем уже второй курс. В основном это приходится делать из-за того, как организован процесс. На самоорганизацию и подгонку своей жизни под расписание приходится так много сил, что на учебу не остается вообще. И на работу тоже. Но дело даже не в этом. Всю дорогу я не могу перестать чувствовать себя обманутым покупателем.

Сейчас продаются не курсы, а доступ к материалу на сильно ограниченное время. С меня берут деньги за весь объем знаний, который там выдан, а унести разрешают только то, что поместится в ладошках.

На примере курсов Наташи Бабаевой это выглядит так:

Упакован как e-mail рассылка. В письме только маленький кусочек каждого урока. Полная версия – браузерная. Эти штуки делают сервисы рассылки. Хранится контент у них. Что если с сервисом рассылки, где хранится мой курс по затаскиванию проектов в срок, что-то случиться?

А еще я, не ожидая подвоха, указала при регистрации на курс почту Гугла и теперь с ужасом жду, что мне могут ее заблокировать. Что тогда?

Я, конечно, пробовала копировать. Но получается фигня. Задолбаешься редактировать. Особая боль с картинками. Их сначала придется сохранить к себе на комп, а потом повставлять в нужные места повествования. А без картинок ничего не понятно. То есть мне придется это все заново сверстать. Я не могу найти время на то, чтобы это прочесть. Мне нужно время для того, чтобы это осмыслить и законспектировать. Шансов найти время на заново сверстать – нет вообще.

Почему оплатив курс я не могу оставить себе материал? И почему я должна об этом переживать?

Но у Наташи я сделала не одну покупку. Вторая – про тексты. Курс огромный поэтому лежит не в почтовой рассылке, а на сайте.

Сайты Наташи Бабаевой имеют особый дизайн – бесящий. Так специально. По ее мнению это должно бодрить. Но, простите, я уже отдала вам своим деньги. Может хватит меня бесить?

Неудобно читать курс с сайта. Приходится прилагать для этого дополнительные усилия. А они мне очень-очень нужны чтобы воспринимать новую информацию. Скопировать нельзя. Вернее – можно, но задолбаешься форматировать. Хочется заплатить денег каким-нибудь пиратам, чтобы они украли для меня эти курсы и переупаковали так, чтобы мне не приходилось заставлять себя их читать. К тому же с сайтом Наташи Бабаевой тоже что-то может случится. Хотелось бы иметь резервную копию материала на своем компе.

Здесь нужно признать, что курсы Наташи – единственные, которые я решилась бы покупать дальше, если бы не их упаковка (если не считать курса Андрея Буракова по Систем-дизайну, но это для Игоря).
🔥2💯1
Во-первых они построены нетипичным образом – так, как будто ты приходишь к ментору с одной из типовых проблем. То есть это не просто теория, а приземленная на реальность. Понимаешь как и к чему это прикладывать. Как работает. В целом, легче воспринимается (присваивается) материал.

Во-вторых – это текст. С текстом удобнее, чем с видео, если нужно учиться. Я могу быстро вернуться к интересующей меня прямо сейчас части материала, игнорируя все остальное и для этого не придется пересматривать \ перематывать все полтора-три часа записи. Если я вообще не понимаю текст, то могу работать с ним как с иностранным и, в конце-концов, перевести с русского на русский. Это сложнее сделать с адудио-, видеоформатами, которые не отдаются на скачивания и для транскрибации – тоже.

Из всех остальных курсов я могу унести только то, что удалось осмыслить прямо во время урока. А это в моем случае очень-очень мало. Поэтому я планирую получать знания какими-то другими путями. Сейчас вижу это как связку: поговорить с нейросетью + статьи \ видео в свободном доступе + менторы + книжные клубы.

Ребята из великого кан-бан метода завещали: “Перестаньте начинать. Начните заканчивать”. Начинаю заканчивать конференции, курсы и воркшопы. Освобождаю место для нового. Весна же. Время уборки. А у вас как дела?
👍4
Страдания про Event Storming

Я решила написать статью про три маркера границ контекста в Event Storming потому, что я это уже рассказывала в баре и материал как будто готов на 90%.

Но до меня дошло, что сначала нада написать про то, как я придумала начинать Event Storming с конца и что мне это дает. Решение оказалось настолько удачным, что я теперь все время так делаю. Даже забыла, что в методологии ничего подобного нет, а это значит, что придется пояснить что я творю. И пояснила.

Игорь прочитал, сказал что это полная фигня, звучит как бла-бла-бла и нифигашечки непонятно.

В отчаянии я решила удалить сайт и наконец-то навести дома порядок. Потом успокоилась и подумала, что для начала можно попробовать иллюстрировать свои тезисы примерами. В конце-концов, удалить сайт – это недолго. А убираться я все равно не люблю.

Стала подбирать примеры и поняла, что сначала нужно рассказать про то, почему Event Storming это как С4, только Event Storming.

Когда это закончится?

Что происходит вообще? Все ж было понятно. Кто залез в мою голову, поспал на моей кровати, поел из моей тарелки и навел там бардак? Почему в этом Event Storming, внезапно, такая сильная связь всего со всем? Как поделить Event Storming на микросервисы?

Столько вопросов…
🔥4