Зачем нужен подход Event Storming ?

Одним из самых важных и сложных моментов, предшествующим разработке архитектуры приложения, это сбор требований и моделирование бизнес-процессов.

Не важно, внтутренний или внешний заказчик, не важно будет in-house или outsource разработка, вначале требуется понять ЧТО требуется сделать, КАКИЕ объекты будут в будущей системе и КАКИЕ сценарии должны происходить. И  если ваше будущее приложение немного сложнее, чем красная кнопка с функционалом оставить отзыв, то в сложном бизнес-процессе будет присутствовать большое количесство объектов и вариантов сценариев с ними.

Но зачастую такие знания о процессах, которые должны происходить в системе при различных условиях, о возможных состояниях объектов в системе и условиях переходов из одного состояния в другое, не описаны в едином источнике знаний. Знания и понимание как должно быть могут немного содержаться в устаревшей документации, разумеется у product manager, project manager, у программистов и у многих других сотрудников компании, в том числе у собственника бизнеса. 

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

В текущей цифровой экономике становится все более важным, даже не кто первый сделал MVP, а у какой компании наименьший срок time-to-market нового функционала в приложении, поэтому сбор требования и единое понимание бизнес-процессов, для реализации в приложениях — это максимально важный этап планирования, которым нельзя принебрегать. 

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

Подробнее

Книга о паттернах проектирования от Банды Четырех.

«Приёмы объектно-ориентированного проектирования. Паттерны проектирования» (Design Patterns: Elements of Reusable Object-Oriented Software) — книга 1994 года о программной инженерии, описывающая шаблоны проектирования программного обеспечения. Авторами книги, которых прозвали «Бандой четырёх»[, являются Эрих Гамма, Ричард Хелм, Ральф Джонсон (англ.)русск., Джон Влиссидес. Предисловие написал Гради Буч.

Подробнее

Принципы проектирования SOLID за 7 минут.

ООП подход к написанию приложений сделал возможным написание хорошо масштабируемого и поддерживаемого кода, но как и в случае с любой хорошей вещью, попав в неопытные руки, проект чуть больше лендинг страницы, содержащий в себе более десяти взаимосвязанных классов, начинает стремительно становится громоздкой, сильно связанной мешаниной классов. И чтобы минимизировать вероятность плохих результатов, достаточно придерживаться 5 принципам абревиатуры SOLID.

Подробнее