DOMINE O EVENT STORMING!

Arquiteto das Galáxias
22 Apr 202223:27

Summary

TLDRIn this video, the host dives deep into the Event Storming technique, a collaborative workshop aimed at transforming business knowledge into actionable software development insights. Originated by Alberto Brandolini, it's a method to bridge the gap between business and technical experts. The host explains the process, from initial setup to detailed steps like event collection, refinement, cause identification, and reclassification, using sticky notes for visual representation. The goal is to model complex business processes simply, making it easier for developers to understand and implement solutions. The summary also includes a real-world application example, emphasizing the technique's practicality and effectiveness in software design.

Takeaways

  • 😀 The video is about an in-depth discussion on Event Storming, a technique for modeling software systems by understanding business events.
  • 🌟 Event Storming was created by Alberto Brandolini to bridge the gap between business knowledge and software developers' implementation.
  • 💡 The method emphasizes the importance of a common language for all stakeholders to ensure everyone has a clear understanding of the business domain and its requirements.
  • 👥 Event Storming is a collaborative workshop involving 6 to 10 participants, including domain experts, developers, and a facilitator.
  • 🕒 The preparation for an Event Storming session takes about 20 minutes, and the session itself should last between 3 to 6 hours.
  • 📝 The process starts with a 'Big Picture' where all domain events are collected using post-it notes, representing different aspects of the business.
  • 🔍 After the initial collection, a refinement phase ensures that events are in chronological order, duplicates are removed, and all events make sense in the context of the business.
  • 🔑 Identifying causes is crucial, which can be user actions, external systems, time, or automatic reactions, and these are represented visually during the session.
  • 🏗️ The 'reclassification' phase organizes the information gathered, identifying aggregates, bounded contexts, and user interfaces, which are essential for software modeling.
  • 📈 Event Storming helps in creating a visual model that can be used to understand business processes and can guide the development of software solutions.
  • 🤔 The video script also suggests that there are challenges in conducting Event Storming sessions due to the complexity and the need for diverse expertise, but once mastered, it becomes a powerful tool.

Q & A

  • What is the main topic discussed in the video script?

    -The main topic discussed in the video script is Event Storming, a collaborative workshop method used in software development to model business processes and domain events.

  • Who created the Event Storming technique?

    -The Event Storming technique was created by Alberto Brandolini, an Italian software developer.

  • Why was Event Storming developed?

    -Event Storming was developed to address the challenge of transforming business knowledge into software implementation, as there was a significant difficulty in understanding client problems and translating them into software solutions.

  • What is the ideal number of participants for an Event Storming session?

    -The ideal number of participants for an Event Storming session is between 6 and 10 people.

  • How long does the preparation for an Event Storming session typically take?

    -The preparation for an Event Storming session typically takes around 20 minutes.

  • What is the recommended duration for an Event Storming session?

    -The recommended duration for an Event Storming session is between 3 to 6 hours.

  • Who are the main types of people involved in an Event Storming session?

    -The main types of people involved in an Event Storming session are technical people (developers, testers), domain experts (people with in-depth knowledge of the business domain), and a facilitator.

  • What are the four main causes that generate events in Event Storming?

    -The four main causes that generate events in Event Storming are user actions, external systems, time, and automatic reactions.

  • What is the purpose of using post-it notes of different colors in Event Storming?

    -In Event Storming, different colors of post-it notes represent different elements, such as domain events (usually orange), commands (yellow for actors and light yellow for aggregates), external systems (pink), and business processes.

Outlines

00:00

🌌 Introduction to Event Storming

This paragraph introduces the concept of Event Storming, a technique developed by Alberto Brandolini to address the challenge of transforming business knowledge into actionable software development. The speaker promises a deep dive into the subject, outlining the structure of the video: starting with an introduction, moving to general information, discussing the setup, and detailing the steps involved in Event Storming. The importance of understanding the technique for developers and business people alike is emphasized.

05:01

🛠️ Setting Up Event Storming

The speaker explains the initial setup for an Event Storming session, emphasizing the collaborative nature of the workshop and the ideal number of participants. It discusses the preparation time and the duration of the session, which typically lasts between 3 to 6 hours. The paragraph also highlights the importance of focusing on one domain at a time to maintain productivity and the roles of the facilitator and participants in the process.

10:01

🔍 Event Identification and Refinement

This section delves into the first two steps of the Event Storming process: identifying domain events and refining them. The speaker describes using post-it notes to represent events and the importance of chronological order. It also explains the refinement step, where domain experts clarify the meaning of each event, ensuring they make sense and are correctly ordered in time, while removing duplicates.

15:01

👥 Identifying Causes and Actors

The paragraph focuses on identifying the causes that generate events, which can be user actions, external systems, time, and automatic reactions. It also introduces the representation of actors and commands in the Event Storming process. The speaker provides examples from a pizza business to illustrate how these elements are visually represented and how they contribute to a clear understanding of the business processes.

20:03

📈 Reclassification and Modeling

The speaker discusses the reclassification phase, where the focus is on organizing and understanding the results of the previous steps. It explains the identification of aggregates and the importance of differentiating between them in various contexts. The paragraph also touches on the concept of bounded contexts and how they can be used to identify potential microservices within a system.

🚀 Applying Event Storming to Real-World Scenarios

The final paragraph wraps up the video by applying the Event Storming methodology to real-world scenarios. It uses the example of a website for ordering icons to demonstrate how the process unfolds, from collecting domain events to identifying causes and reclassifying them. The speaker emphasizes the practicality of the method, allowing for a clear understanding and implementation of software solutions based on business needs.

Mindmap

Keywords

💡Event Storming

Event Storming is a collaborative workshop technique used in software development to model complex business processes and systems. It helps in transforming business knowledge into a visual format that can be easily understood and implemented by developers. In the video, Event Storming is the central theme, and the process is explained step by step, from the initial setup to the final modeling of software.

💡Domain Events

Domain Events are significant occurrences within a business domain that are represented in past tense and in chronological order. They are the core elements in Event Storming, used to map out the sequence of actions that take place in a business process. In the script, domain events such as 'order placed' or 'order delivered' are used to illustrate the workflow of a pizza delivery business.

💡Refinement

Refinement in the context of Event Storming refers to the process of reviewing and clarifying the domain events that have been identified. It ensures that the events make sense, are in the correct order, and that there are no duplicates or irrelevant events. The script mentions refinement as a crucial step to validate and organize the events collected during the 'Big Picture' phase.

💡Causes

Causes are the factors that trigger domain events. There are four main types: user actions, external systems, time, and automatic reactions. Understanding causes is essential for modeling business processes accurately. In the video script, causes are used to identify what leads to events, such as a customer placing an order or a system updating inventory levels.

💡Actors

Actors are the individuals or roles that perform actions within a business process. They are represented visually during Event Storming to show who initiates the events. Examples from the script include a chef, a customer, a cashier, and a delivery driver, each playing a role in the pizza delivery business process.

💡Commands

Commands are the actions executed by actors through an interface within a system. They result in the creation of events. In the context of the video, commands like 'deliver the order' or 'select a payment method' are examples of user actions that lead to domain events in the business process of a pizza shop.

💡Aggregates

Aggregates are clusters of domain objects that can be represented as a single unit. They are used in Event Storming to simplify the modeling process by grouping related objects together. The script uses 'pizza' and 'order' as examples of aggregates, which have different meanings in different contexts within the business process.

💡Bounded Contexts

Bounded Contexts are defined areas within a business domain that have specific meanings and rules. They help in organizing and understanding the different parts of a business process. In the script, bounded contexts such as 'order capture' and 'checkout process' are identified to show how they can be treated as separate modules within the system.

💡Visualizations

Visualizations represent the user interfaces where interactions with the system take place. They are depicted using a specific type of post-it note in Event Storming. The script mentions 'order details' and 'delivery queue' as examples of visualizations that users would interact with in the context of a pizza delivery service.

💡Big Picture

The Big Picture is the initial phase of Event Storming where all domain events are collected. It serves as an overview of the business process and helps in identifying the significant events that are crucial for understanding the workflow. The script describes the Big Picture as the starting point for collecting events like 'order placed' and 'payment processed' in the pizza business example.

💡Reclassification

Reclassification is the final step in Event Storming where the collected information is organized and structured. It involves identifying aggregates, bounded contexts, and visualizations to create a comprehensive model of the business process. The script explains reclassification as the stage where the order and structure of events are finalized, leading to a clear understanding of the business process and its implementation.

Highlights

Introduction to the Event Storming technique, a collaborative workshop for knowledge sharing between business domain experts and technical developers.

The origin of Event Storming by Alberto Brandolini, an Italian software developer, to address the challenge of translating business knowledge into implementable software.

The importance of creating a ubiquitous language for all stakeholders to ensure a shared understanding of the business domain and its requirements.

The setup of an Event Storming session, including the ideal number of participants and the duration of the session.

Roles involved in Event Storming, such as domain experts, technical developers, and facilitators, and their contributions to the session.

The preparatory steps for an Event Storming session, emphasizing the clarity of the modeling scope and the division of extensive domains.

The Big Picture phase of Event Storming, where domain events are identified and ordered chronologically.

The use of different colored sticky notes for various purposes, such as domain events, risks, and uncertainties during the Event Storming process.

Refinement of identified events to ensure their accuracy, relevance, and chronological order within the business domain.

Identifying the causes of events, including user actions, external systems, time, and automatic reactions, and their representation in Event Storming.

Modeling business processes effectively after identifying the causes and their impact on the software design.

Reclassification phase to organize and understand the results, including identifying aggregates and bounded contexts within the business domain.

Transcripts

play00:00

e fala galera aí beleza garota eu aqui

play00:02

você tá no arquiteto das galáxias e hoje

play00:04

eu vou falar a respeito de um assunto

play00:06

que seguidores tem pedido de mais

play00:08

assunto que eu já tratei aqui mas que

play00:11

vou me aprofundar ainda mais e você vai

play00:14

entender do começo ao fim eu tô falando

play00:16

de evento dorme a gente vai falar dele

play00:19

no detalhe e você vai ser capaz de

play00:22

modelar qualquer sistema depois de

play00:26

consumir conteúdo beleza vamos começar

play00:29

vamos direto ao ponto eu vou falar um

play00:31

pouco a respeito do que que vai ser

play00:34

tratado durante esse vídeo a gente vai

play00:36

começar com uma introdução e falar um

play00:39

pouco a respeito do evento histórico em

play00:40

que se depois eu vou passar as

play00:43

informações gerais para vocês e com isso

play00:46

você já vão conseguir entender o que que

play00:49

realmente é o evento planejei para que

play00:50

ele serve depois a gente vai olhar para

play00:53

tudo o que é preciso para você conseguir

play00:56

aplicar esse tipo de Cerimônia na qual

play00:59

quer só se você queira desenvolver seja

play01:01

ele alguma ideia que você tem de produto

play01:04

para criar para você o produto de alguma

play01:06

empresa que você trabalha vou falar a

play01:08

respeito dos envolvidos e da preparação

play01:10

necessária para você conseguir rodar a

play01:12

cerimônia vou falar depois de toda a

play01:14

terminologia tudo que é importante para

play01:16

você conseguir aplicar isso de forma

play01:19

correta e chegar na modelagem do

play01:21

software final e para isso você precisa

play01:23

entender todas as etapas e o que a gente

play01:26

faz em cada uma dela bom finalizar com

play01:29

um exemplo e uma fotografia que resume

play01:32

tudo e vamos começar a conhecer um pouco

play01:34

mais da história do livro História ela

play01:37

foi criada por um italiano chamado

play01:38

Alberto brandolim brandolini trabalha

play01:41

com desenvolvimento de software há

play01:43

muitos anos

play01:45

2013 ele começou aplicar essa técnica

play01:47

porque ele se envolver demais com

play01:49

pessoas de negócio e percebia que

play01:51

existiam desafio uma dificuldade muito

play01:54

grande em transformar o conhecimento do

play01:56

negócio em alguns desenvolvedores

play01:57

conseguiram implementar

play02:00

e daí ele criou essa técnica ele tem uma

play02:03

frase bem bacana que essa aqui que eu tô

play02:05

mostrando para vocês que ele fala que

play02:07

gosta de resolver problemas e escrever

play02:09

software que resolvam os problemas só

play02:12

que como desenvolvedores a gente sabe é

play02:14

muito difícil a gente conseguir resolver

play02:16

os planos um cliente porque é muito

play02:18

difícil entender os problemas esse

play02:20

cliente e o vento se torna intensamente

play02:22

esse propósito fazer com que todas as

play02:24

pessoas desenvolveu uma linguagem ubíqua

play02:27

inclusive é muito falado no domingo de

play02:29

design e de condições todo mundo tem

play02:32

visibilidade

play02:33

entendimento suficiente para falar e

play02:36

implementar o que precisa ser

play02:38

implementado para isso ele fala que vai

play02:40

não dá as pessoas com notas adesivas os

play02:42

famosos posto de realmente vai muito por

play02:45

City Mas vocês vão perceber que tá muito

play02:47

simples da gente quer desenvolvedor

play02:50

entender como aplicar e como desenvolver

play02:52

um software olhando para o negócio

play02:54

especificamente eu coloquei aqui também

play02:56

o Twitter dele porque ele é um cara

play02:58

super acessível se você tiver vontade me

play03:00

manda uma mensagem que com certeza ele

play03:02

vai responder eu mesmo já tive várias

play03:04

conversas com ele o que eu aplico muito

play03:07

essa metodologia e sempre surgem dúvidas

play03:09

e nada melhor do que conversar com uma

play03:12

pessoa que criou para a gente tirar

play03:13

todas essas dúvidas

play03:15

vamos lá o que é o even Storm essa fácil

play03:20

é um workshop colaborativo é uma

play03:22

cerimônia onde as pessoas trocam

play03:25

conhecimento as pessoas de domínio do

play03:28

negócio

play03:29

mostram o que é um negócio e as pessoas

play03:32

técnicas entendem o que é o negócio a

play03:35

ideia realmente é compartilhar o

play03:37

conhecimento desse domínio para

play03:39

conseguir transformar isso em algo que é

play03:41

fácil de você visualmente interpretar e

play03:44

representar um detalhe que eu coloquei

play03:46

aqui são os eventos É onde tudo começa a

play03:50

gente vai falar de eventos daqui a pouco

play03:51

mas já fez essa palavra eventos é o

play03:56

começo de tudo para você mudar essa

play03:57

cerimônia Existem algumas coisas que a

play04:00

reconhecer e por isso eu vou falar das

play04:02

informações gerais do que você precisa

play04:05

ter conhecimento para ter condições e

play04:07

facilitar uma cerimônia dessa com

play04:09

diversos envolvidos ou fazer sozinho na

play04:11

sua casa primeira coisa é o setup

play04:14

inicial Tá tudo que a gente vai fazer a

play04:16

gente precisa organizar e entender como

play04:19

isso vai ser feito no caso do evento

play04:21

Storm eu quero mostrar aqui que é uma

play04:24

cerimônia aqui normalmente a gente não

play04:26

faz sozinho porque a gente precisa das

play04:29

pessoas que conhecem do negócio e os

play04:31

desenvolvedores normalmente não conhece

play04:33

de um negócio essa cerimônia o ideal é

play04:37

que ela tem entre 6 e 10 pessoas

play04:38

participando a preparação demora em

play04:41

torno de 20 minutos que é bem rápido e o

play04:44

ideal é que a gente faça com que essa

play04:46

cerimônia dura de 3 a 6 horas o ponto

play04:49

importante se a gente tentar modelar de

play04:51

uma vez só se for todo Muito

play04:53

provavelmente vai levar mais de 6 horas

play04:55

então é muito comum que quando a gente

play04:57

roda esse workshop a gente se e o

play05:00

domínio que a gente quer tratar e tarde

play05:02

ir nessa rodada e os outros domínios em

play05:06

outras rodadas e assim sucessivamente e

play05:09

dificuldade é alta a gente tem muita

play05:11

gente envolvida a gente tem várias

play05:13

perguntas que precisam ser respondidas e

play05:15

não é alguma coisa simples de fazer mas

play05:18

depois que você pegar o jeito você vai

play05:20

ver que é muito legal e não é tão

play05:22

complicado assim perdeu beleza e aí Quem

play05:25

são os envolvidos quem eu vou chamar

play05:27

para participar dessa reunião primeiro

play05:30

você tem que começar com as pessoas que

play05:34

sabem fazer as perguntas e essas pessoas

play05:36

são as pessoas técnicas são os

play05:39

desenvolvedores são as pessoas que vão

play05:41

testar o sistema são as pessoas que

play05:43

realmente vão automatizar o processo

play05:46

depois você precisa das pessoas que

play05:50

sabem as respostas essas pessoas são os

play05:53

especialistas de domínios então para

play05:55

aquele domínio que você tá tratando você

play05:57

precisa ter os conhecedores as pessoas e

play06:00

no dia a dia com esse desafio e sabem

play06:03

muito bem o que tem que ser feito em

play06:05

cada uma das situações essas pessoas

play06:08

podem ser um especialista de uma

play06:10

determinada área ou dono de um negócio

play06:12

por exemplo e por último o facilitador

play06:15

facilitador pode ser um arquiteto nos

play06:18

com Master o produto ideal ler o até um

play06:20

desenvolvedor que tem estudado a

play06:22

respeito do assunto que tem desenvoltura

play06:24

para aplicar esse tipo de Cerimônia

play06:26

falam rapidinho sobre a preparação

play06:29

é importante que você faça um double

play06:32

check que é isso a gente precisa

play06:34

garantir que está muito claro o que que

play06:36

a gente vai modelar a gente precisa ter

play06:38

certeza qual é a área de conhecimento

play06:40

que a gente vai atacar por isso eu falei

play06:43

anteriormente que a gente normalmente

play06:45

dividir isso que domínio for muito

play06:47

extenso A Simone vai ficar muito longa

play06:50

depois de algumas horas ela deixa de ser

play06:51

produtivo então toma bastante cuidado

play06:54

com isso agora vamos falar das etapas

play06:57

Quais são as etapas que você e vai ter

play07:00

que rodar para conseguir fazer com que

play07:03

esta cerimônia seja bem sucedida é

play07:05

importante esse vão the map executado no

play07:08

começo ao fim senão a gente não vai

play07:10

conseguir ter o sucesso a gente começa

play07:13

com a coleta de informações aqui a gente

play07:17

vai mapear todos os eventos de domínio a

play07:20

gente vai usar event para representar

play07:21

isso e eu já vou exemplificar essa parte

play07:24

da cerimônia a gente chama de pinscher

play07:27

depois que a gente coletou esses eventos

play07:28

a gente vai fazer o refinamento a gente

play07:31

continua trabalhando em cima do Big

play07:33

biker mas agora a gente vai fazer um

play07:35

double check em relação aos eventos que

play07:37

foram levantados nesse momento sempre

play07:40

aparecem novos eventos a gente percebe

play07:43

que existem eventos que são duplicados e

play07:46

até eventos que não são eventos então

play07:48

nessa parte a gente faz a curadoria de

play07:51

tudo foi levantado na primeira etapa e

play07:53

complementa o que precisa ser

play07:54

complementar partimos então para as

play07:57

causas aqui

play08:00

Como rastrear o que gera os eventos em

play08:03

bastante coisa você vai entender melhor

play08:05

daqui a pouco mas aqui que a gente

play08:07

começa a modelar os processos de negócio

play08:09

efetivamente e depois de modelar os

play08:11

processos a gente modela o software a

play08:14

gente chama essa etapa e reclassificação

play08:16

é que que a gente vai organizar tudo que

play08:20

foi criado entender um pouco melhor o

play08:22

resultado agora vão entender um

play08:24

pouquinho mais o que acontece em cada

play08:25

uma dessas etapas Vamos começar com a

play08:29

primeira que é o Big picture e aonde a

play08:32

gente vai fazer a coleta dos eventos de

play08:34

dormir aqui a gente vai pedir para os

play08:37

envolvidos levantar em todos os eventos

play08:39

que são importantes para o negócio uma

play08:42

coisa importante o verbo do evento deve

play08:44

estar sempre no passado e deve existir

play08:47

uma ordem cronológica nesses eventos por

play08:50

Tite e se não respeitar a ordem do tem

play08:53

vou mostrar agora Quais são os postiços

play08:55

que a gente usa nessa etapa primeiro

play08:58

importante os e esse cara aqui ele fica

play09:02

disponível para os participantes durante

play09:03

todas as etapas porque existem diversos

play09:07

momentos onde surgem dúvidas ou riscos e

play09:11

elas precisam ser lembradas para isso a

play09:13

gente usa um posto de Rosa escuro sempre

play09:15

aparecer alguma dúvida o risco escreve

play09:17

num post-it e cole lá e nessa primeira

play09:20

etapa a gente usa muito oposto de

play09:23

laranja que representam os eventos de

play09:26

dormir os eventos domínio Como eu disse

play09:29

anteriormente são as coisas que são

play09:31

importantes por um negócio que são

play09:33

representadas no passado olhando por

play09:35

exemplo para uma pizzaria na primeira

play09:37

etapa a gente vai tentar levantar os

play09:39

eventos que são importantes para essa

play09:41

Pizzaria a gente pode falar de um pedido

play09:44

que foi realizado ou de um pedido foi

play09:46

entregue um pedido que está pronto para

play09:48

retirada a montagem desse pedido o

play09:51

pagamento desse pedido e a rota você vê

play09:54

que aqui já existe uma ordem cronológica

play09:56

nestes eventos e todos eles estão no e a

play10:00

gente já começa a ter uma visão e como

play10:03

funciona o negócio depois disso a gente

play10:06

vai para a segunda etapa que não sei se

play10:08

vocês lembram mas é refinar o que foi

play10:11

levantado na primeira etapa é aqui que a

play10:13

gente vai pedir para os especialistas de

play10:15

domínio explicarem O que significa cada

play10:18

um desses eventos e a gente vai conferir

play10:21

se ele realmente são eventos que eles

play10:23

fazem sentido tá lá e se eles estão

play10:25

corretos importante a gente vai lhe dar

play10:28

a ordem temporal e remover o que existe

play10:31

de duplicidade quando a gente fizer isso

play10:33

no caso da Pizzaria a gente vai ter algo

play10:35

Vai ficar mais ou menos assim você vem

play10:38

que a gente começa com pedido realizado

play10:39

e passa por diversas etapas Até chegar

play10:43

na entrega desse produto aqui como você

play10:46

pode perceber apareceram vários eventos

play10:48

que não tinham sido uma piada mas eles

play10:51

são importantes e são relevantes por um

play10:53

negócio uma coisa legal de dizer que não

play10:55

disse anteriormente que a primeira etapa

play10:58

ela é feita de forma individual

play11:00

um especialista coloca lá os eventos que

play11:03

são importantes para áreas de domínio

play11:04

dele já na segunda etapa a gente

play11:06

realmente começa a fazer uma discussão

play11:08

para conseguir um grupo colocar tudo

play11:10

isso em ordem depois disso feito a gente

play11:13

passa para terceiro e tábua que é

play11:15

identificar as causas as causas São quem

play11:19

geraram esses eventos existem quatro

play11:22

causas principais as ações do usuário os

play11:25

sistemas externos o tempo e reações

play11:28

automáticas o falar um pouquinho mais a

play11:30

respeito delas mas primeiro vamos

play11:32

entender como representá-la

play11:34

usuário o ator a gente usa o post-it

play11:38

amarelo escuro esse ator alguém que

play11:40

executa um comando através de uma

play11:43

interface no caso da Pizzaria a gente

play11:46

tem o cozinheiro cliente o caixa e o

play11:49

motorista por exemplo entregador e

play11:52

comando quem é o comando o ator executa

play11:55

um comando comando a gente também

play11:57

representa visualmente e composto e ele

play12:00

é exatamente o que é executado pelo

play12:03

usuário a ação que se usuário executa

play12:06

numa determinada interface no final o

play12:09

comando ele resulta na criação de um

play12:11

evento um exemplo para nossa pizzaria

play12:14

aqui seria o comando de entregar o

play12:17

pedido o cliente outro selecionar um

play12:19

pedido para pagamento a gente também

play12:21

poderia usar o comando de realizar

play12:22

pedido e de iniciar preparação no pedido

play12:25

e os sistemas externos esse cara a gente

play12:28

representa um post-it rosa os sistemas

play12:32

externos são muito conhecidos

play12:34

normalmente são coisas que a gente não

play12:37

desenvolve dentro de casa estão fora do

play12:39

escopo do negócio é muito comum que ele

play12:41

seja um grito e de pagamento por exemplo

play12:43

um um serviço que seja responsável pela

play12:46

logística e entrega de determinados

play12:48

produtos Depois dos sistemas externos a

play12:51

gente fala dos processos de negócio o

play12:54

processo de negócio executa uma lógica

play12:57

relacionada ao domínio de negócio ele e

play13:00

crie um evento assim como o usuário

play13:02

executando um comando o processo também

play13:05

pode gerar um evento no caso da nossa

play13:07

Pizzaria a gente pode ter processos que

play13:11

rodam para gente avisar o consumidor por

play13:14

exemplo Então pode existir um processo

play13:16

que identifica quando uma pizza assada a

play13:19

gente poderia avisar o cliente mandar

play13:22

uma imagem por exemplo mostrando a pizza

play13:24

dele no forno a gente também tem um

play13:26

processo que avisa que o pagamento Foi

play13:28

recebido e que a gente pode dar

play13:29

continuidade nas coisas processo por

play13:32

exemplo que fala para o cliente que

play13:33

todos os pedidos dele já estão em rota

play13:35

você com certeza já viu isso no

play13:37

aplicativo aí mais famoso de entrega de

play13:40

comida ou se porventura ele quis ir

play13:43

buscar quando o pedido tá pronto para

play13:45

retirar E aí a gente passa para a última

play13:47

etapa nesta etapa a gente faz a

play13:50

reclassificação eu brinquei aqui falando

play13:53

que a gente bagunça tudo mas é aqui que

play13:55

a gente começa a dar ordem para as

play13:57

coisas efetivamente a gente as perguntas

play14:01

que são importantes Quais são os

play14:02

usuários que funcionam determinados

play14:05

Romanos quais eventos que acionam quais

play14:08

políticas ou por exemplo quando um

play14:10

agregado afetava que a gente também vai

play14:13

descobrir os agregados e o que é um

play14:15

agregado eu tenho vídeos do Meio design

play14:17

que eu falo bastante a respeito desse

play14:19

assunto mas o agregado a gente

play14:21

representa como post-it amarelo claro e

play14:23

ele é um cluster de objetos de domínio

play14:26

que pode ser representado como uma única

play14:29

unidade Ou seja no caso da nossa

play14:32

Pizzaria a própria pizza é um agregado

play14:34

um pedido de dentro da cozinha o pedido

play14:38

de entrega também você vê que aqui eu

play14:41

tenho dois agregados pedido Mas eles têm

play14:43

significados diferentes o pedido para

play14:46

cozinha tem um significado e pedido para

play14:49

entrega tem outro e a gente representa o

play14:51

agregado de formas diferentes o mais que

play14:54

possa aparecer repetido e por último a

play14:57

gente tem a rota também aqui

play14:58

representado como uma e depois que a

play15:01

gente fez a organização colocou os

play15:03

agregados a gente também vai identificar

play15:05

Quais são as visualizações as

play15:08

visualizações elas são representados por

play15:10

um post-it verde e elas são nada mais do

play15:13

que a tela que os usuários vão interagir

play15:16

no caso da Pizzaria essa tela poderia

play15:19

ser a filha de pedidos os detalhes de um

play15:22

determinado o pedido assim como a

play15:24

própria fila de entrega ou a fila de

play15:26

retirada vamos agora trabalhar em um

play15:29

exemplo para entender todas essas etapas

play15:32

como se a gente tivesse rodando essa

play15:34

cerimônia um negócio específico e aqui a

play15:37

gente escolheu o processo de um pedido

play15:39

de um site de ícones lembre primeira

play15:42

etapa são coletaram os eventos de

play15:44

domínio e por um processo de pedido os

play15:47

eventos de um domínio poderiam ser esse

play15:49

como por exemplo no pedido enviado o

play15:52

pedido enviado o pagamento processado

play15:55

comentário atualizado você vê que aqui a

play15:58

gente tenta colocar uma ordem eu acho

play16:00

que ela não seja totalmente Clara porque

play16:02

as pessoas estão trabalhando de forma

play16:04

isolada mas a gente consegue de forma

play16:07

geral já criar os viventes que vão dar

play16:10

visibilidade para as pessoas técnicas

play16:12

entenderem o que as pessoas de negócios

play16:14

estão realmente dizendo depois a gente

play16:17

vai para segunda etapa não sei se vocês

play16:19

lembram mas a segunda etapa é o

play16:21

refinamento dos eventos que foram

play16:23

levantados anteriormente aqui a gente

play16:26

vai se assegurar que as coisas realmente

play16:27

estão na linha do tempo e que se existem

play16:30

eventos faltando a gente vai trazer eles

play16:33

para o nosso detalhamento no caso do

play16:36

processo de pedido você pode ver que

play16:38

surgiram novos eventos e aqui eles estão

play16:41

destacados dentro dessa borda vermelha a

play16:44

gente começa com as informações de

play16:46

pedido inseridas passa por verificações

play16:49

inventário ao carrinho e aqui por

play16:53

exemplo eu coloquei que a gente pode um

play16:56

determinado momento do tempo fazer uma

play16:58

sugestão de ofertas esse a coisa pode

play17:01

ser relevante para um determinado

play17:02

negócio e a gente termina com o

play17:05

pagamento processado e com o armazém

play17:07

notificado que vai ter que fazer um

play17:09

envio vão para a próxima etapa agora

play17:12

dentro do processo de pedido a gente vai

play17:15

identificar as causas é aqui que a gente

play17:17

vai começar a trabalhar com atores e

play17:20

comandos eventualmente até processo esse

play17:24

exemplo eu não tô usando o processo

play17:26

Porque não quero complicar demais no

play17:27

final eu vou dar um exemplo onde você

play17:30

vai conseguir visualizar todo o fluxo

play17:32

dessa representação visual tirar um

play17:35

printscreen e usar no seu projeto beleza

play17:38

identificando as causas do nosso

play17:40

processo de pedido como ficou Isso você

play17:43

vê que tudo começa com o usuário esse

play17:46

usuário ele dentro de uma página Web que

play17:49

aqui eu coloquei por exemplo como um

play17:50

sistema externo ou poderia ser uma

play17:52

visualização vai ser levantada mais para

play17:54

frente ele insere as informações do

play17:57

pedido e o sistema então verifica as

play18:00

entradas

play18:01

Verifique o inventário no sistema

play18:04

externo que é o sistema de origens é o

play18:06

sistema responsável por dizer se tem

play18:08

estoque Ou não a partir daí o próprio

play18:10

usuário adiciona esse pedido o carrinho

play18:13

e aí por diante você pode olhar que aqui

play18:16

o negócio já começa a ficar muito claro

play18:19

fica fácil para qualquer pessoa que não

play18:22

conheça do processo de pedido Lê isso do

play18:25

começo ao filme e entender é maravilhoso

play18:29

é fantástico é incrível do pedido ao

play18:33

check-out a entrega está pronto não

play18:36

mentira não tá pronto tem mais o metal

play18:37

vocês não com é vamos fazer a

play18:40

reclassificação e Aqui Acontece mais uma

play18:43

mágica aqui a gente primeiro identifique

play18:47

os agregados são extremamente

play18:48

importantes mas tem uma outra coisa que

play18:50

é muito legal que são os contextos

play18:52

limitados do jeito que a gente dividiu

play18:55

tá muito fácil de identificar quando a

play18:57

gente Clemente o som e os contextos

play18:59

limitados podem virar microsserviços é

play19:03

fantástico cara é uma coisa

play19:06

absurda como ficaria isso no nosso

play19:09

processo de pedido dá uma olhada e

play19:12

bacana primeiro a gente identifica todos

play19:14

os agregados então surgirão momentos que

play19:18

eu tenho pedido um inventário um

play19:20

carrinho uma oferta e você vê que eu

play19:24

tenho pedidos em diferentes momentos na

play19:27

linha do tempo eles são pedidos como

play19:29

significados diferentes e a hora que a

play19:32

gente começa a definir Quais são os

play19:34

contextos limitados a gente realmente

play19:37

entende que eles têm significados

play19:40

diferentes você ver que aqui surgiram

play19:42

uma porção de contexto poderão ser

play19:44

módulos dentro do nosso sistema a gente

play19:47

tem uma parte de pedido capturar a gente

play19:50

tem um carrinho as ofertas o processo de

play19:53

check-out o processamento de pagamento

play19:55

para o final o atendimento de pedidos

play19:57

Car é muito legal Quantas vezes você

play20:00

teve oportunidade na sua carreira e

play20:03

entender um software e forma tão simples

play20:06

e de ver alguma coisa que lá na frente

play20:09

pode ser implementada como ela está aqui

play20:12

é a verdade nua e crua na sua cara isso

play20:16

é fantástico tu já falei Fantástico

play20:18

quantas vezes nesse vídeo eu gosto mais

play20:20

mesmo né e agora eu vou te mostrar que

play20:23

eu chamo de Mapa da Mina porque o mapa

play20:25

da mina porque aqui eu tenho um roteiro

play20:29

Eu tenho um cara que depois que você

play20:32

entendeu tudo que eu falei você vai

play20:34

pegar e aplicar vou começar falando a

play20:38

respeito do mundo real porque o mundo

play20:41

real que cria influências na gente é ele

play20:44

que faz com que a gente tem ideias de

play20:46

produtos que a gente tenha que fazer

play20:49

alguma coisa dentro de um negócio

play20:50

aplicar um conhecimento dentro de um

play20:53

domínio e nós por conta dessa influência

play20:56

decidimos m os comandos esses comandos

play21:00

são invocados em um sistema

play21:04

esse sistema gera eventos

play21:08

se você ver que aqui a gente já começa a

play21:11

ter um fluxo muito bem definido isso

play21:15

aqui é regra sempre que você for aplicar

play21:18

o domínio de um designer e aplicar o

play21:21

evento dorme pode usar esse aqui Como

play21:23

regra você tiver um post por exemplo um

play21:26

evento que não está ligado a em comando

play21:29

tem alguma coisa errada você tiver um

play21:32

processo que não tá ligado a um comando

play21:35

tem alguma coisa errada você vai ver

play21:37

isso pouquinho melhor mas continuando o

play21:40

evento ele é traduzido para uma

play21:44

visualização que é onde o usuário vai

play21:47

interagir o evento pode também ativar

play21:49

uma regra de negócio que é a política

play21:51

que a gente já conheceu EA política

play21:54

também emitiu um evento Então olha que

play21:57

legal pensando em qualquer tipo de

play21:59

negócio com essa imagem a gente consegue

play22:03

aplicar o evento dormem e consegue

play22:05

traduzir isso de uma forma o engenheiro

play22:08

de software vai conseguir implementar

play22:10

usando as melhores práticas que existem

play22:13

no mercado Opa faltou uma coisa aqui os

play22:16

riscos lembra que eu falei eles ficam

play22:19

soltos a gente pode colocar em qualquer

play22:21

lugar mas galera essa imagem é a melhor

play22:26

referência que você pode ter de evento

play22:27

Storm se você entendeu tudo que eu falei

play22:30

até aqui e que aplicar isso Pega esse

play22:34

material Coloca ele e começa a aplicar

play22:37

cada uma das etapas que eu tenho certeza

play22:39

que você vai chegar uma modelagem

play22:43

fantástica para qualquer tipo de

play22:44

problema que você precisa resolver

play22:47

é bom galera É isso aí estamos

play22:50

finalizando e porventura ficou dúvida em

play22:52

relação ao uma terminologia que eu

play22:54

coloquei aqui assistir o vídeo do

play22:56

elemento de empresária que eu criei

play22:57

assistir o vídeo que eu faço um estudo

play22:59

dos eventos tornem olhando para pizzaria

play23:01

e lá tem bastante material também eu fui

play23:03

um pouco mais rápido então eu achei que

play23:05

seria muito bacana trazer esse conteúdo

play23:08

para vocês espero que vocês tenham

play23:10

gostado se você gostou deixa um

play23:13

comentário dá o seu like no vídeo se

play23:16

inscreve no canal e semana que vem tem

play23:18

mais beleza valeu um abraço

Rate This

5.0 / 5 (0 votes)

相关标签
Event StormingSoftware DesignCollaborative WorkshopBusiness KnowledgeDomain ModelingTechnical ExpertsDevelopersAgile MethodologyKnowledge SharingSoftware Development
您是否需要英文摘要?