Pular para o conteúdo
Engenharia e DevOps

O que é Event Storming?

Também conhecido como: EventStorming, Tempestade de Eventos

Event Storming reúne perspectivas diferentes para mapear acontecimentos do domínio e descobrir regras, dúvidas e fronteiras de um serviço.

Event Storming é uma técnica colaborativa criada por Alberto Brandolini para explorar processos e domínios complexos por meio de eventos relevantes dispostos numa linha do tempo. Pessoas de negócio e tecnologia constroem juntas um mapa visível, discutem exceções e identificam dúvidas e decisões. O resultado é entendimento compartilhado para orientar próximos passos, não um diagrama definitivo do sistema.

Origem

Alberto Brandolini desenvolveu o EventStorming em encontros de modelagem ligados à comunidade de Domain-Driven Design. Seu livro em desenvolvimento, Introducing EventStorming, apresenta a prática como aprendizado coletivo deliberado e explora seu uso para compreender processos, conflitos e modelos de software.

Não há um ano de criação único que a fonte consultada permita afirmar com segurança. A técnica ganhou variações, de exploração ampla de um negócio a sessões focadas numa funcionalidade. O formato visual ajuda, mas as perguntas entre pessoas com conhecimento diferente são o centro da prática.

Fonte primária: Introducing EventStorming

Na prática

O facilitador reúne pessoas que enxergam partes diferentes do trabalho: quem atende clientes, decide regras, opera o serviço e constrói software. Uma superfície longa permite ordenar eventos relevantes ao longo de uma linha do tempo. Eventos de domínio são fatos que já aconteceram, escritos no passado, como “Pedido recebido” ou “Pagamento recusado”. Eles ajudam o grupo a falar sobre o que muda no negócio, sem começar por telas ou tabelas.

O que acontece quando falta

Sem uma conversa entre perspectivas, regras podem viver apenas na cabeça de especialistas ou em procedimentos contraditórios. Tecnologia implementa uma versão do processo, operação usa outra e clientes descobrem a divergência na prática. Um mapa colaborativo pode revelar cedo o que precisa ser esclarecido.

Event Storming não é obrigatório para todo problema. Um fluxo pequeno e bem compreendido pode ser tratado em conversa direta. A técnica ajuda especialmente quando há muitos eventos, exceções e pessoas com visões parciais do domínio.

Como funciona uma sessão de Event Storming

O facilitador reúne pessoas que enxergam partes diferentes do trabalho: quem atende clientes, decide regras, opera o serviço e constrói software. Uma superfície longa permite ordenar eventos relevantes ao longo de uma linha do tempo. Eventos de domínio são fatos que já aconteceram, escritos no passado, como “Pedido recebido” ou “Pagamento recusado”. Eles ajudam o grupo a falar sobre o que muda no negócio, sem começar por telas ou tabelas.

Comece pelo fluxo, não pela notação perfeita. Pessoas colocam eventos que conhecem e apontam casos estranhos, lacunas e exceções. Podem surgir eventos fora de ordem ou com nomes diferentes para a mesma coisa; isso é material de investigação. Arrumar todos os cartões cedo demais pode esconder conflito de entendimento. O mapa inicial é um retrato provisório do que o grupo sabe, não documentação validada.

Use eventos para descobrir regras. Entre “Solicitação enviada” e “Solicitação aprovada”, alguém precisa decidir. Quem? Com que informação? O que acontece se faltar documento ou se a resposta atrasar? Essas perguntas revelam políticas, comandos, pessoas responsáveis e pontos de espera. Cores adicionais de notas podem distinguir elementos, mas a equipe deve combinar legenda e não se prender a uma convenção que atrapalhe a conversa.

Marque pontos quentes. Quando participantes discordam, a divergência pode indicar uma regra ambígua, uma exceção frequente ou dois contextos que usam a mesma palavra com significados diferentes. Em vez de votar rapidamente, registre a pergunta e identifique quem pode respondê-la. Um ponto quente não é defeito da oficina; muitas vezes é seu achado mais valioso.

Faça a linha do tempo contar histórias. Percorra cenários comuns e também exceções: pagamento falha, cliente cancela, pedido volta para análise. Pergunte onde o fluxo começa para o cliente e onde o valor é de fato entregue. Um diagrama só do “caminho feliz” pode parecer completo e falhar na primeira situação real. Exemplos concretos ajudam especialistas a confirmar ou corrigir termos.

Reconheça fronteiras de linguagem. Em um trecho do mapa, “pedido aprovado” pode significar aprovação comercial; em outro, autorização de crédito. O DDD usa contextos delimitados para manter modelos coerentes nessas áreas. Event Storming pode revelar candidatos a fronteiras, mas uma parede de notas não define automaticamente arquitetura ou microsserviços. A decisão requer análise posterior de regras, pessoas, integrações e capacidades operacionais.

Escolha a escala da sessão. Uma exploração ampla pode mapear um serviço de ponta a ponta e encontrar oportunidades. Uma sessão de processo detalha interações e políticas num fluxo. Uma sessão de desenho de software aprofunda comandos, eventos e agregados numa parte delimitada. Não é preciso tentar resolver os três objetivos na mesma reunião. Declare a pergunta do encontro e onde ele termina.

A prática é visual, mas não exige papel físico. Num time remoto, um quadro colaborativo com espaço amplo pode funcionar se todos puderem contribuir e a facilitação cuidar de participação. A ferramenta não compensa ausência de especialistas ou uma reunião em que apenas uma pessoa fala. Reserve tempo para leitura silenciosa, contribuições simultâneas e perguntas específicas.

Da oficina à decisão. Fotografe ou preserve o mapa, mas também registre perguntas abertas, hipóteses e responsáveis por investigá-las. Escolha o que precisa de entrevista, teste de regra, análise de dados ou protótipo. Se a equipe simplesmente transforma todos os cartões em tarefas, pode perder o aprendizado sobre o problema. O mapa deve ajudar a decidir, não apenas abastecer um Backlog.

Event Storming pode apoiar Product Discovery ao mostrar experiências e decisões que estavam espalhadas entre áreas. Pode complementar um Service Blueprint, que organiza também atividades visíveis e bastidores de um serviço. Nenhum deles substitui observar usuários quando a pergunta é sobre a experiência de uso.

Evite confundir evento com ação desejada. “Enviar e-mail” é uma ação; “Confirmação enviada” é um fato ocorrido. A distinção não é preciosismo: fatos permitem perguntar que decisão ou evento os causou e que consequência vem depois. Ainda assim, não force reescritas intermináveis. Se a linguagem do grupo revela a regra, refine a notação quando ajudar.

A equipe pode terminar com um mapa incompleto e ainda ter feito progresso real, se identificou uma política contraditória e um caminho para resolvê-la. Não precisa produzir arquitetura final, requisitos fechados ou consenso total. O valor está em tornar visível o que estava implícito e criar linguagem suficiente para o próximo experimento ou decisão.

Exemplo de Event Storming em um serviço de empréstimo

Imagine uma biblioteca hipotética que deseja permitir renovação online. O grupo reúne 8 pessoas de atendimento, acervo, operação e software. No começo, alguém coloca “Renovação solicitada” e “Prazo estendido” lado a lado. Outra pessoa pergunta o que acontece quando há uma reserva de outro leitor. O número de participantes e o cenário são ilustrativos.

A linha cresce: “Empréstimo iniciado”, “Reserva registrada”, “Renovação solicitada”, “Elegibilidade verificada”, “Renovação negada” ou “Prazo estendido”, “Leitor informado”. Surgem dois pontos quentes. A equipe de atendimento acredita que uma reserva pendente bloqueia qualquer renovação; acervo afirma que há exceção quando existem outros exemplares disponíveis. Além disso, o aviso ao leitor pode sair horas depois da decisão.

Antes, a equipe de software tinha apenas o pedido “criar botão de renovar” e poderia implementar uma regra incompleta. Depois, sabe que precisa investigar a política de exemplares, distinguir decisão de comunicação e decidir como informar negativa. O grupo registra quem confirmará cada regra e escolhe um primeiro recorte de entrega que mostra elegibilidade e motivo.

O mapa também revela que “disponível” significa algo diferente no catálogo e no atendimento: um exemplar pode aparecer livre na busca, mas estar reservado para retirada. Isso sugere fronteiras de modelo a examinar. Não obriga a criar dois serviços técnicos naquele momento. A próxima etapa é validar a distinção com exemplos reais e testar o comportamento escolhido.

Num contexto fora de TI, a mesma técnica poderia explorar a jornada de uma solicitação de benefício. Eventos como “Documento recebido”, “Análise iniciada” e “Decisão comunicada” tornam filas e divergências de política visíveis, mesmo que nenhuma linha de código seja escrita depois. O objetivo da oficina é aprender como o serviço funciona e onde precisa mudar.

Como conduzir Event Storming

  1. Defina a pergunta e a escala

    Escolha se a sessão explorará o serviço inteiro, um processo ou uma parte do software. Delimite o ponto de início, o resultado e as pessoas necessárias.

  2. Convide perspectivas diferentes

    Inclua especialistas que conhecem regras, exceções, atendimento e tecnologia. Uma sala só com desenvolvedores pode reproduzir suposições já existentes.

  3. Prepare superfície e legenda simples

    Disponha espaço para uma linha do tempo longa, física ou digital. Comece com eventos no passado e acrescente outras cores apenas quando fizerem falta.

  4. Mapeie primeiro sem corrigir tudo

    Peça que as pessoas coloquem eventos e exemplos. Deixe divergências aparecerem e evite consumir o tempo inicial debatendo posição exata de cada cartão.

  5. Percorra cenários e pontos quentes

    Leia o fluxo comum e exceções. Pergunte quem decide, que informação usa e o que acontece quando a condição falha. Registre conflitos e lacunas.

  6. Escolha próximos aprendizados

    Documente o mapa provisório, as decisões tomadas, as dúvidas e quem irá investigá-las. Use o resultado para orientar descoberta, modelagem ou mudança de processo.

Erros comuns em Event Storming

  • Reunir só uma área. Sem perspectivas de operação e negócio, o grupo pode mapear apenas como imagina que o serviço funciona.
  • Desenhar arquitetura cedo. Eventos ajudam a entender o domínio; não são especificação automática de microsserviços.
  • Forçar consenso sobre toda regra. Divergências podem ser a principal descoberta da sessão e merecem investigação.
  • Mapear apenas caminho feliz. Exceções revelam políticas, filas e riscos que o fluxo simples esconde.
  • Usar cores como fim. Notação ajuda a ler o quadro, mas excesso de regras visuais pode inibir conversa.
  • Encerrar sem próximos passos. Uma foto de cartões não substitui decisões e perguntas com responsáveis.

Para se aprofundar

Fontes primárias

Termos relacionados

Perguntas frequentes

Quem criou Event Storming?

Alberto Brandolini desenvolveu a técnica e a descreve em Introducing EventStorming. Ela surgiu em trabalhos de modelagem e aprendizagem coletiva ligados à comunidade de Domain-Driven Design. A fonte consultada não permite atribuir com segurança um único ano de criação. O foco original é fazer pessoas de diferentes áreas aprenderem juntas sobre um domínio complexo.

Event Storming exige post-its físicos?

Não. Uma parede longa e notas coloridas ajudam na sessão presencial, mas um quadro digital compartilhado pode servir a grupos remotos. O essencial é que todas as pessoas possam colocar eventos, ler o fluxo e discutir exceções. A ferramenta precisa sustentar colaboração, não substituir especialistas ou facilitação.

Qual é a diferença entre Event Storming e DDD?

DDD é uma abordagem ampla de modelagem de software centrada no domínio, com linguagem ubíqua, contextos delimitados e outros padrões. Event Storming é uma técnica colaborativa para explorar acontecimentos, políticas e dúvidas. Ela pode apoiar DDD, mas também pode ser usada para melhorar um serviço sem escolher uma arquitetura de software.

Um evento de domínio é a mesma coisa que uma tarefa?

Não. Evento registra um fato relevante que aconteceu, como “Pedido aprovado”. Tarefa ou comando descreve uma ação a realizar, como “Aprovar pedido”. Separar as ideias ajuda a perguntar que decisão causou o fato e que consequência veio depois. Durante a exploração, o grupo pode refinar a linguagem sem transformar cada nota em discussão terminológica.

A oficina define automaticamente os bounded contexts?

Não. O mapa pode revelar palavras e políticas que mudam de significado entre áreas, sugerindo fronteiras a examinar. Definir contextos exige entender modelos, responsabilidades e integrações com mais cuidado. Também não significa criar um microsserviço para cada grupo de notas. Use a descoberta como hipótese de arquitetura e valide com exemplos e operação real.

Curso K21 recomendado

Certified ScrumMaster® (CSM)

Scrum Alliance · 16 horas ao vivo

Ver curso
Adicione como fonte preferencial no Google