Domain Storytelling: Защо трябва да е вашата следваща суперсила в планирането
Domain Storytelling: Когато документацията оживее
Нека бъдем честни — колко пъти сте отваряли архитектурен документ и сте имали неудържимото желание да затворите раздела и да си вземете дрямка?
Традиционната техническа документация често се проваля в най-основната си задача — да обясни защо дадена система съществува и как всъщност работи в реалния свят.
Domain Storytelling обръща тази ситуация с главата надолу.
Какво представлява Domain Storytelling?
Domain Storytelling е колаборативна техника, при която техническите екипи, експертите по домейна и заинтересованите страни заедно изграждат карта на това как работи дадена система — чрез истории. Вместо сухи UML диаграми или безкрайни спецификации, вие създавате визуални наративи, които показват кой прави какво, кога и защо.
Предствете си flowchart, който се чете като глава от деня на някого.
Идентифицирате участниците (хората и системите), техните дейности (какво всъщност правят) и работните обекти (нещата, които създават, променят или консумират). След това ги вплитате във визуална последователност, която всеки — програмист или не — може да разбере.
Защо трябва да интересува разработчиците?
Ето съществената част: повечето technical debt не идва от лош код. Идва от грешна посока. Вие изграждате това, което смятате, че заинтересованата страна иска, те искат нещо съвсем различно, и изведнъж рефакторирате в 2 часа през нощта.
Domain Storytelling хваща това разминаване рано. Когато можете буквално да видите бизнес процеса визуално представен, пропуските, дублирането и неразбирателствата стават очевидни веднага.
За event-driven системи — а тук EventSourcingDB влиза в картинката — разбирането на потока от събития е критично важно. Архитектура с event sourcing живее и умира според това колко добре улавя реалното поведение на домейна. Сгрешиш историята — и ще прекарваш месеци в преправяне на схемата на събитията.
Практическите ползи
По-бързо въвеждане в екипа: Новите колеги могат да схванат целта на системата за минути, а не за дни.
По-малко преработване: Всички се разбират върху "какво" преди някой да е написал дори един ред код.
По-добра комуникация със заинтересованите страни: Нетехническите партньори могат реално да допринесат към планирането.
По-ясно моделиране на събития: За тези, които работят с event sourcing, Domain Storytelling прави границите на агрегатите и връзките между събитията визуално интуитивни.
С какво започвате
Не ви трябват сложни инструменти за Domain Storytelling. Бяла дъска, лепящи се бележки и готовност да слушате експертите по домейна ще ви отведат учудващо далеч.
Основната практика е проста: питайте "какво се случва след това?", докато не сте картографирали целия бизнес процес. Обърнете внимание къде хората се двоумят, не са съгласни или казват "всъщност, нещата са по-сложни" — тези моменти разкриват реалната сложност, скрита в домейна ви.
Приложимо към всяка технология
Независимо дали изграждате обикновена целева страница или complex distributed system на вашата cloud hosting платформа, принципът е същият: разбирането на човешката история зад техническото решение води до по-добри резултати.
Вашият domain model е толкова добър, колкото е вашето разбиране на самия домейн. Domain Storytelling ви дава структуриран, повтаряем начин да изградите това разбиране заедно със своите колеги.
Следващия път, когато планирате нова функционалност или система, прескочете многословния requirements документ. Сграбчете маркерите. Разкажете историята първо.
Опитвали ли сте Domain Storytelling в проектите си? Споделете опита си — бихме се радвали да чуем какво е проработило (и какво не) за вашия екип.