Modernização do legado com Event Storming: Uma Abordagem Colaborativa para a evolução do sistema

Os códigos legados podem apresentar desafios significativos quando se trata de modernização. Tecnologias desatualizadas, falta de documentação e regras de negócio complexas dificultam a compreensão e modificação desses sistemas. No entanto, com o event storming, as equipes podem enfrentar mais facilmente o processo de modernização enquanto adquirem um profundo entendimento das regras de negócio e comportamento do sistema. Neste artigo, exploramos de forma resumida como essa técnica pode ser utilizada na modernização do legado.

Identificando eventos e conhecendo o domínio

Antes de iniciar qualquer implementação ou alteração no código, é extremamente importante compreender o domínio e as complexidades do sistema legado existente. O event storming proporciona um ambiente colaborativo onde especialistas de domínio, desenvolvedores e partes interessadas podem se unir para compartilhar seus conhecimentos do sistema e mapear os eventos e atividades importantes para o negócio.

Durante a sessão de event storming, os participantes adquirem um conhecimento mais aprofundado do negócio por meio do mapeamento e documentação dos eventos que ocorrem no sistema legado.. Esse exercício ajuda a descobrir regras de negócio ocultas, permitindo que todos tenham um conhecimento mais profundo do sistema, facilitando insights sobre os requisitos e restrições do sistema. Ao visualizar os eventos e suas relações, as equipes podem entender melhor o subdomínio core do sistema legado.

Com os eventos identificados, os participantes constroem um modelo centrado em eventos, geralmente representado como uma linha do tempo ou mapa de eventos. Esse modelo fornece uma visualização clara do comportamento do sistema, enfatizando a sequência de eventos e seus efeitos no domínio. Ao focar nos eventos, as equipes podem superar as limitações da implementação legada e obter uma visão completa do comportamento do sistema.

Iniciando a refatoração

Analisar o modelo centrado em eventos permite que as equipes identifiquem agregados, que representam grupos de eventos relacionados. Agregados ajudam a estabelecer bounded contexts dentro do sistema, permitindo esforços de refatoração mais focados e gerenciáveis, diminuindo drasticamente a carga cognitiva dos times. Ao encapsular eventos e comportamentos relacionados, os agregados fornecem uma abordagem estruturada para organizar e modernizar o sistema.

Com uma compreensão clara do domínio, eventos e agregados, as equipes podem iniciar o processo de refatoração e reescrita do código legado. O modelo centrado em eventos serve como referência, orientando o redesenho e implementação do novo sistema. Ao incorporar princípios de refatoração modernos, como por exemplo o padrão strangler fig, as equipes podem transformar gradualmente o código legado em uma solução mais compacta, mais fácil de manter e expandir. Com a construção dos bounded contexts finalizadas, conseguimos identificar quais agregados estão interligados, permitindo a definição de fronteiras e, potencialmente, o surgimento de novos serviços.

Conclusão

A modernização do legado pode ser uma tarefa desafiadora, mas com o event storming como um guia, as organizações podem enfrentar o processo com clareza e colaboração entre as partes. Ao utilizar o event storming para descobrir regras de negócio ocultas, criar um modelo centrado em eventos e identificar bounded contexts, as equipes podem modernizar efetivamente seus sistemas legados.

A modernização é um processo iterativo. Ao longo da jornada, é essencial validar continuamente o código refatorado e o design do sistema em evolução com especialistas de domínio e partes interessadas. Essa abordagem colaborativa garante que o sistema modernizado capture com precisão o comportamento desejado e atenda às necessidades do negócio.

Compartilhe este insight:

Comentários

Participe deixando seu comentário sobre este artigo a seguir:

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments

AUTOR

Bruno Joaquim
Desenvolvedor .NET/NodeJs e especialista em Kafka com experiência em startups e grandes empresas

INSIGHTS EXIMIACO

Arquitetura de Software

Evolução e modernização de aplicações para suportar mudanças de escala.

NOVOS HORIZONTES PARA O SEU NEGÓCIO

Nosso time está preparado para superar junto com você grandes desafios tecnológicos.

Entre em contato e vamos juntos utilizar a tecnologia do jeito certo para gerar mais resultados.

Insights EximiaCo

Confira os conteúdos de negócios e tecnologia desenvolvidos pelos nossos consultores:

Arquitetura de Software

Consciência Situacional: O Sucesso do Software em Constante Evolução

Arquiteto de Software com experiência executiva em Tecnologia
Arquitetura de Software

Automação de Processos de Negócio: A Chave para Operações Eficientes e Lucrativas

Arquiteto de software e solução com larga experiência corporativa
Arquitetura de Software

A Evolução da Arquitetura de Software para Produtos Digitais Escaláveis

Arquiteto de Software com experiência executiva em Tecnologia
0
Queremos saber a sua opinião, deixe seu comentáriox

A sua inscrição foi realizada com sucesso!

O link de acesso à live foi enviado para o seu e-mail. Nos vemos no dia da live.

Muito obrigado!

Deu tudo certo com seu envio!
Logo entraremos em contato

Modernização do legado com Event Storming: Uma Abordagem Colaborativa para a evolução do sistema

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Modernização do legado com Event Storming: Uma Abordagem Colaborativa para a evolução do sistema

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Condição especial de pré-venda: R$ 14.000,00 - contratando a mentoria até até 31/01/2023 e R$ 15.000,00 - contratando a mentoria a partir de 01/02/2023, em até 12x com taxas.

Tenho interesse nessa capacitação

Para solicitar mais informações sobre essa capacitação para a sua empresa, preencha o formulário a seguir:

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

O seu insight foi excluído com sucesso!

O seu insight foi excluído e não está mais disponível.

O seu insight foi salvo com sucesso!

Ele está na fila de espera, aguardando ser revisado para ter sua publicação programada.

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse nessa solução

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse neste serviço

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

× Precisa de ajuda?