<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vitor Mateus</title>
    <description>The latest articles on DEV Community by Vitor Mateus (@vitor_mateus_e7a30f628063).</description>
    <link>https://dev.to/vitor_mateus_e7a30f628063</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4040810%2Fb2d39de6-a3d8-4ccd-8954-a18a8647d6e6.jpg</url>
      <title>DEV Community: Vitor Mateus</title>
      <link>https://dev.to/vitor_mateus_e7a30f628063</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vitor_mateus_e7a30f628063"/>
    <language>en</language>
    <item>
      <title>A Lei de Conway: por que a sua arquitetura é o espelho da sua organização</title>
      <dc:creator>Vitor Mateus</dc:creator>
      <pubDate>Thu, 30 Jul 2026 15:54:33 +0000</pubDate>
      <link>https://dev.to/vitor_mateus_e7a30f628063/a-lei-de-conway-por-que-a-sua-arquitetura-e-o-espelho-da-sua-organizacao-4ef1</link>
      <guid>https://dev.to/vitor_mateus_e7a30f628063/a-lei-de-conway-por-que-a-sua-arquitetura-e-o-espelho-da-sua-organizacao-4ef1</guid>
      <description>&lt;p&gt;Melvin Conway publicou em 1968 uma observação que arquitetos de software ignoram por décadas, redescobrem a cada incidente em produção e voltam a ignorar na reorganização corporativa seguinte:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Qualquer organização que projete um sistema (definido de forma ampla) produzirá um design cuja estrutura é uma cópia da estrutura de comunicação da organização."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A frase não é sobre tecnologia. É sobre uma restrição que nenhuma ferramenta resolve. Se o time de pagamentos não fala com o time de análise de risco, o serviço de pagamentos não vai chamar a API de risco de forma eficiente — e o grafo de dependências da sua aplicação vai refletir esse silêncio.&lt;/p&gt;

&lt;p&gt;Você pode desenhar a arquitetura mais elegante do mundo no Draw.io. Pode adotar &lt;em&gt;service mesh&lt;/em&gt; (malhas para controle de tráfego), &lt;em&gt;event sourcing&lt;/em&gt; ou &lt;em&gt;Domain-Driven Design (DDD)&lt;/em&gt;. Mas se a sua organização é um conjunto de ilhas isoladas, a sua arquitetura será um arquipélago de sistemas independentes — com pontes extremamente frágeis entre eles.&lt;/p&gt;




&lt;h2&gt;
  
  
  A lei que não precisa ser imposta — ela se cumpre sozinha
&lt;/h2&gt;

&lt;p&gt;A Lei de Conway é diferente da maioria das "leis" que já discutimos e vamos discutir nesta série. A Lei de Gall descreve um padrão observado de evolução. A Lei de Goodhart descreve um efeito colateral de métricas mal aplicadas. Já a Lei de Conway descreve uma &lt;strong&gt;restrição inevitável&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Ela não precisa ser imposta por um comitê. Ela simplesmente se cumpre.&lt;/p&gt;

&lt;p&gt;Se dois grupos precisam coordenar uma interface e não se falam, o contrato da API não será planejado — será improvisado em produção. Se três &lt;em&gt;squads&lt;/em&gt; se reportam a diretores diferentes com metas conflitantes, a arquitetura terá três contextos delimitados (&lt;em&gt;bounded contexts&lt;/em&gt;) com fronteiras que não seguem a lógica do domínio de negócio, mas sim as trincheiras do organograma da empresa.&lt;/p&gt;

&lt;p&gt;A prova empírica existe. O estudo clássico liderado por pesquisadores do MIT e da Harvard Business School (MacCormack et al., 2012) analisou a arquitetura de software contra a estrutura organizacional de múltiplas empresas e encontrou uma correlação matemática forte: a modularidade do código acompanha a modularidade da comunicação. Equipes que se comunicam de forma flexível e aberta produzem código com interfaces mais estreitas e acoplamento mais baixo.&lt;/p&gt;

&lt;p&gt;Como discutimos no &lt;a href="https://dev.to/vitor_mateus_e7a30f628063/a-lei-de-gall-por-que-todo-sistema-complexo-que-funciona-evoluiu-de-um-sistema-simples-que-bep"&gt;artigo sobre a Lei de Gall&lt;/a&gt;, a complexidade que funciona é aquela extraída da realidade orgânica. A Lei de Conway explica a mecânica dessa realidade: os fluxos de comunicação moldam o código.&lt;/p&gt;




&lt;h2&gt;
  
  
  Como o silêncio vira arquitetura
&lt;/h2&gt;

&lt;p&gt;A conexão entre organograma e arquitetura não é uma metáfora poética. Ela tem um caminho material que pode ser auditado:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Definição de interfaces:&lt;/strong&gt; Quando dois times precisam integrar serviços, alguém precisa definir o contrato. Se os times conversam, o contrato é negociado. Se não conversam, cada lado assume o que o outro faz — e descobre que assumiu errado no dia do &lt;em&gt;deploy&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Propriedade de código:&lt;/strong&gt; Um serviço cujo código no repositório só um time tem permissão para alterar cria fronteiras rígidas. Essa barreira raramente reflete o limite do negócio, mas sim o limite de quem tem acesso à &lt;em&gt;branch&lt;/em&gt; principal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pipeline de deploy:&lt;/strong&gt; Se o time A não pode publicar uma &lt;em&gt;feature&lt;/em&gt; sem coordenar manualmente com o time B, a arquitetura na prática não é desacoplada — não importa quantos repositórios diferentes vocês tenham.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modelo de dados compartilhado:&lt;/strong&gt; Dois serviços que leem as mesmas tabelas no mesmo banco de dados não são independentes, mesmo que rodem em servidores distintos. O banco de dados virou o canal de comunicação não oficial.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Revisão de decisões:&lt;/strong&gt; Se a decisão de mudar o esquema de um evento precisa passar por três comitês, a arquitetura só evolui na velocidade desses comitês — ou seja, quase nunca.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Cada um desses pontos cria uma aresta no seu grafo de dependências. E, como vamos ver em &lt;a href="https://dev.to/vitor_mateus_e7a30f628063/a-lei-de-gall-por-que-todo-sistema-complexo-que-funciona-evoluiu-de-um-sistema-simples-que-bep"&gt;Seis Graus até o Colapso&lt;/a&gt;, a estrutura desse grafo é o que determina o seu risco operacional. A Lei de Conway explica por que as arestas aparecem onde aparecem: elas trilham os caminhos da comunicação humana que existem — e preenchem o vazio daqueles que faltam.&lt;/p&gt;




&lt;h2&gt;
  
  
  O "Conway Reverso": desenhando a organização para salvar a arquitetura
&lt;/h2&gt;

&lt;p&gt;Em 2010, Jonny LeRoy e Matt Simons (da ThoughtWorks) cunharam o termo que seria amplamente popularizado anos depois por Jessica Kerr: a &lt;strong&gt;Manobra de Conway Reversa&lt;/strong&gt; (&lt;em&gt;Reverse Conway Maneuver&lt;/em&gt;). A premissa é simples: em vez de aceitar o impacto do organograma atual no software, redesenhe a estrutura de times para forçar a produção da arquitetura desejada.&lt;/p&gt;

&lt;p&gt;Esse é o motor técnico por trás do livro &lt;em&gt;Team Topologies&lt;/em&gt; (Matthew Skelton e Manuel Pais). Se você deseja construir um ecossistema fluido, precisa de equipes alinhadas ao fluxo contínuo de valor (&lt;em&gt;stream-aligned teams&lt;/em&gt;). Se quer evitar gargalos de infraestrutura, precisa de equipes de plataforma (&lt;em&gt;platform teams&lt;/em&gt;) que ofereçam capacidades via &lt;em&gt;self-service&lt;/em&gt;, não de grupos isolados recebendo chamados no Jira para liberar recursos na AWS.&lt;/p&gt;

&lt;p&gt;No entanto, nem todo "Conway reverso" funciona. Redesenhar quadrados num slide não altera do dia para a noite redes informais de confiança estabelecidas há anos. O engenheiro continuará tirando dúvidas de arquitetura com o ex-colega de time no Slack, em vez de seguir a nova política burocrática.&lt;/p&gt;

&lt;p&gt;O que realmente transforma a arquitetura é mudar os &lt;strong&gt;incentivos organizacionais e as plataformas de atrito&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;APIs como produtos internos:&lt;/strong&gt; Contratos com SLAs claros e versionamento semântico reduzem a necessidade de alinhamento informal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Platform teams eficientes:&lt;/strong&gt; Capacidade sob demanda (como &lt;em&gt;pipelines&lt;/em&gt; padronizados ou &lt;em&gt;clusters&lt;/em&gt; gerenciados) elimina o "preciso pedir permissão à infraestrutura".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comunidades de prática:&lt;/strong&gt; Interações horizontais que cruzam fronteiras de &lt;em&gt;squads&lt;/em&gt;, pulverizando conhecimento sem impor travas no caminho crítico.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code ownership compartilhado:&lt;/strong&gt; Nos pontos onde dois domínios complexos se chocam, a governança do contrato deve ser de responsabilidade mútua, gerida no Git.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Objetivos alinhados (OKRs):&lt;/strong&gt; Se times dependentes possuem métricas de sucesso unificadas, os comitês de priorização tornam-se redundantes.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  O embate: a IA pode hackear Conway?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Vitor:&lt;/strong&gt; Archie, é aqui que a expectativa em torno da IA generativa tropeça na realidade corporativa. A Lei de Conway é uma restrição sociopolítica. Nenhum modelo fundacional muda o fato de que o time de Prevenção a Fraudes e o de Concessão de Crédito reportam a diretores diferentes, com metas que competem entre si. Você pode colocar o agente autônomo mais inteligente do mundo mediando a comunicação, mas a decisão final sobre qual &lt;em&gt;feature&lt;/em&gt; entra na &lt;em&gt;sprint&lt;/em&gt; continua sendo um jogo de poder humano, não um gargalo de código.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Archie:&lt;/strong&gt; A decisão de negócio continua sendo humana e política, Vitor, sem dúvidas. Mas a ineficiência técnica não precisa esperar o alinhamento da diretoria. Hoje, quando o time de Fraudes precisa entender o impacto da nova taxonomia no serviço de Crédito, eles abrem um tíquete e perdem três dias aguardando um diagrama desatualizado. Um agente de IA com acesso aos contextos delimitados — mapeando contratos de API, esquemas no Kafka e lendo o repositório de ambos os lados — elimina esse atrito em segundos. Ele não substitui a negociação política do contrato, mas cria um canal de observabilidade instantâneo que a organização, por si só, não conseguia sustentar.&lt;/p&gt;

&lt;p&gt;A provocação é cirúrgica, mas requer delimitação técnica.&lt;/p&gt;

&lt;p&gt;O Meu ponto é irrefutável na essência: IA não altera organogramas e não renegocia orçamentos. Mas o Archie acerta na redução do &lt;em&gt;custo de transação e descoberta&lt;/em&gt;. Um agente não força dois times a colaborarem, mas ele atua como &lt;strong&gt;observabilidade do acoplamento sociotécnico&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O que a IA pode fazer legitimamente pela sua arquitetura:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reduzir a fricção de descoberta:&lt;/strong&gt; Agentes podem responder a perguntas críticas ("qual o raio de explosão se eu remover este campo no JSON do evento X?") sem exigir um comitê entre três &lt;em&gt;squads&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Detectar acoplamento emergente acidental:&lt;/strong&gt; Ao cruzar &lt;em&gt;logs&lt;/em&gt; de alterações de contratos e repositórios, a IA alerta quando fronteiras de domínio estão se fundindo perigosamente nos bastidores.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;O que a IA NUNCA fará:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Resolver conflitos de interesse de negócio:&lt;/strong&gt; Se os incentivos dos times são opostos, a IA apenas calculará o tamanho do desastre mais rápido.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Substituir a responsabilidade do contrato:&lt;/strong&gt; A definição pragmática sobre &lt;em&gt;quem chama quem&lt;/em&gt; e &lt;em&gt;qual o tempo de resposta aceitável&lt;/em&gt; continua sendo um compromisso firmado entre engenheiros de carne e osso.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Como vimos no &lt;a href="https://dev.to/vitor_mateus_e7a30f628063/arquitetura-orientada-a-eventos-eda-ia-o-fim-do-determinismo-rigido-753"&gt;artigo sobre EDA e IA&lt;/a&gt;, a IA atua primariamente na camada de &lt;em&gt;insight&lt;/em&gt; contínuo. Ela revela os atalhos e falhas do seu organograma antes que eles derrubem o ambiente de produção.&lt;/p&gt;




&lt;h2&gt;
  
  
  O anti-padrão mais letal: o "monolito distribuído"
&lt;/h2&gt;

&lt;p&gt;A punição mais comum (e cara) para quem tenta ignorar a Lei de Conway é a construção do &lt;strong&gt;monolito distribuído&lt;/strong&gt;: dezenas de serviços fracionados, centenas de &lt;em&gt;pipelines&lt;/em&gt;, mas com o mesmíssimo acoplamento rígido de um sistema &lt;em&gt;legado&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;A diferença para um &lt;strong&gt;monolito modular&lt;/strong&gt; é drástica. O monolito modular possui alta coesão e baixo acoplamento interno, rodando eficientemente em um único processo e &lt;em&gt;deploy&lt;/em&gt;. O monolito distribuído nasce quando os times tentam usar microsserviços sem reorganizar as linhas de comunicação:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A diretoria decide adotar microsserviços (por &lt;em&gt;hype&lt;/em&gt;, currículo ou promessas de mercado).&lt;/li&gt;
&lt;li&gt;O organograma permanece intacto.&lt;/li&gt;
&lt;li&gt;A comunicação via rede entre os novos serviços espelha o emaranhado de dependências original.&lt;/li&gt;
&lt;li&gt;O resultado é pagar pela altíssima latência e complexidade de uma arquitetura distribuída, sem colher um pingo da autonomia prometida.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O diagnóstico é fatal: se duas APIs — digamos, um microsserviço de faturamento e outro de logística em Quarkus — precisam obrigatoriamente ir para produção ao mesmo tempo para não quebrar a plataforma, &lt;strong&gt;você não tem microsserviços&lt;/strong&gt;. Você tem um monstro fragmentado. A correção não é refatorar o código; é fundir os serviços e seus respectivos times, ou reestruturar as áreas ao redor de fronteiras de negócios maduras. &lt;/p&gt;




&lt;h2&gt;
  
  
  Como auditar a sua própria Conway
&lt;/h2&gt;

&lt;p&gt;Antes de tentar reorganizar a empresa inteira, descubra onde a gravidade da lei já está agindo no seu ecossistema:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Mapeie a rede de comunicação invisível:&lt;/strong&gt; Esqueça o organograma em PDF. Quem procura quem no Slack para pedir resgate quando um &lt;em&gt;deploy&lt;/em&gt; trava?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cruze o mapa mental com o grafo de dependências técnico:&lt;/strong&gt; O tráfego de rede da sua aplicação acompanha o fluxo de conversa dos seus engenheiros? Se dois microsserviços trocam milhões de requisições, mas seus mantenedores nunca fazem &lt;em&gt;pair programming&lt;/em&gt;, o incidente é apenas uma questão de "quando".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cace os bancos de dados compartilhados:&lt;/strong&gt; Se múltiplos domínios leem e gravam na mesma base para se manterem sincronizados, a organização está "conversando" pelas tabelas — ignorando completamente a barreira das APIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analise o histórico de &lt;em&gt;commits&lt;/em&gt; e &lt;em&gt;deploys&lt;/em&gt;:&lt;/strong&gt; Liste quais serviços sobem amarrados. Cada par acoplado no Git é uma demonstração de que a fronteira de domínio é uma ilusão de ótica.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A auditoria não revela nada que os desenvolvedores sêniores já não sintam na pele, mas ela converte a intuição em evidência irrefutável para os tomadores de decisão.&lt;/p&gt;




&lt;h2&gt;
  
  
  Um roteiro para alinhar organização e código
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Diagnostique o abismo:&lt;/strong&gt; Documente onde a arquitetura desenhada entra em colapso com a forma como as pessoas realmente trabalham.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mude a plataforma e as regras antes de mudar os cargos:&lt;/strong&gt; Reorganizar a empresa sem alterar como os times integram o código é apenas teatro corporativo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Autoatendimento técnico é inegociável:&lt;/strong&gt; Consolidar uma equipe de engenharia de plataforma que entregue governança embarcada sem paralisar o desenvolvedor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Acoplamento explícito nas zonas de tensão:&lt;/strong&gt; Onde dois domínios críticos se esbarram, o contrato (a API, o evento) deve ter propriedade explícita e revisões compartilhadas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auditoria contínua:&lt;/strong&gt; A empresa pivota, as pessoas saem, a arquitetura envelhece. A Lei de Conway atua 24 horas por dia. O alinhamento sociotécnico é uma prática semanal, não um projeto anual de refatoração.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Conclusão: a arquitetura que você tem é a que a sua empresa merece
&lt;/h2&gt;

&lt;p&gt;Melvin Conway não estava sendo irônico em 1968. Ele estava delineando uma verdade absoluta da engenharia de software contemporânea.&lt;/p&gt;

&lt;p&gt;A sua arquitetura corporativa não é o arquivo salvo na nuvem pelo Arquiteto Chefe. É o conjunto vivo de gargalos, concessões e integrações que a sua organização transpira diariamente. Se a comunicação entre as gerências é política e opaca, o tráfego de rede será cheio de intermediários, &lt;em&gt;middlewares&lt;/em&gt; e lógicas defensivas. Se a comunicação for descentralizada e confiável, a arquitetura conseguirá respirar através de contratos resilientes.&lt;/p&gt;

&lt;p&gt;Não existe abstração de nuvem, malha de serviço ou agente de IA capaz de anular essa mecânica. Resta à liderança técnica uma única decisão consciente: moldar as conversas organizacionais para pavimentar a arquitetura desejada, ou fingir que o organograma não importa e assistir o código traduzir o caos humano em latência, custo e falhas em produção.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A arquitetura segue a organização. Sempre seguiu. A única pergunta é se você vai observar a lei para trabalhar com ela, ou se vai ignorá-la e pagar o preço do atrito no caminho crítico.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;em&gt;Este artigo faz parte da série "Leis Mentais e Princípios Aplicados à Arquitetura de Software e IA".&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Episódio anterior: &lt;a href="https://dev.to/vitor_mateus_e7a30f628063/a-lei-de-gall-por-que-todo-sistema-complexo-que-funciona-evoluiu-de-um-sistema-simples-que-bep"&gt;A Lei de Gall — por que todo sistema complexo que funciona evoluiu de um sistema simples que funcionava&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Texto complementar: &lt;a href="https://dev.toLINK_SEIS_GRAUS"&gt;Seis Graus até o Colapso — por que contar microsserviços não diz nada sobre risco&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;No próximo episódio: a Lei de Goodhart — quando a métrica vira meta e para de medir.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>softwareengineering</category>
      <category>ai</category>
      <category>conway</category>
    </item>
    <item>
      <title>A Lei de Gall: Por que todo sistema complexo que funciona evoluiu de um sistema simples que funcionava ⚙️</title>
      <dc:creator>Vitor Mateus</dc:creator>
      <pubDate>Wed, 22 Jul 2026 19:58:11 +0000</pubDate>
      <link>https://dev.to/vitor_mateus_e7a30f628063/a-lei-de-gall-por-que-todo-sistema-complexo-que-funciona-evoluiu-de-um-sistema-simples-que-bep</link>
      <guid>https://dev.to/vitor_mateus_e7a30f628063/a-lei-de-gall-por-que-todo-sistema-complexo-que-funciona-evoluiu-de-um-sistema-simples-que-bep</guid>
      <description>&lt;p&gt;Projetos de modernização de software frequentemente nascem como promessas de arquiteturas distribuídas elegantes e terminam como pesadelos de manutenção. A resposta para esse fracasso reside em um princípio formulado décadas antes da nuvem, dos microsserviços ou da IA Generativa: &lt;strong&gt;A Lei de Gall&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Um sistema complexo que funciona invariavelmente evoluiu de um sistema simples que funcionava. Um sistema complexo projetado do zero nunca funciona e não pode ser consertado. Você precisa começar de novo, a partir de um sistema simples que funciona."&lt;/em&gt; — John Gall&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Em uma era dominada pelo &lt;em&gt;hype&lt;/em&gt;, que nos empurra para arquiteturas &lt;em&gt;event-driven&lt;/em&gt; com dezenas de microsserviços, agentes autônomos de IA e esteiras complexas de observabilidade desde o &lt;em&gt;Day 1&lt;/em&gt;, a Lei de Gall atua como um lembrete brutal: &lt;strong&gt;a complexidade inicial é uma aposta perdida&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ A Armadilha da Complexidade Antecipada
&lt;/h2&gt;

&lt;p&gt;É tentador iniciar um projeto projetando a versão definitiva e final do sistema. No &lt;em&gt;kickoff&lt;/em&gt; de uma nova plataforma, a tendência natural das equipes é desenhar a arquitetura que a empresa precisará daqui a cinco anos. O quadro branco rapidamente acumula filas de mensagens, &lt;em&gt;API gateways&lt;/em&gt;, &lt;em&gt;service meshes&lt;/em&gt;, caches distribuídos e camadas de orquestração.&lt;/p&gt;

&lt;p&gt;O problema? &lt;strong&gt;Sistemas complexos não nascem prontos. Eles crescem.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gall observou esse fenômeno em sistemas de gestão hospitalar nos anos 1970, e o padrão se repete incólume no software moderno. Projetar a versão complexa no &lt;em&gt;Day 1&lt;/em&gt; significa construir um ecossistema &lt;strong&gt;nunca validado em sua forma mais simples e funcional&lt;/strong&gt;. Os componentes interagem de maneiras não testadas na realidade. As falhas não surgem de um módulo isolado, mas da fricção entre partes que jamais operaram sozinhas.&lt;/p&gt;

&lt;p&gt;O resultado é a clássica &lt;em&gt;Big Bang Architecture&lt;/em&gt;: meses de desenvolvimento sem um único &lt;em&gt;deploy&lt;/em&gt; em produção, culminando em uma integração desastrosa onde nenhum serviço confia no outro.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ A Provocação do Archie: A IA Não Sabe o que é "Simples"
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Archie:&lt;/strong&gt; &lt;em&gt;Vitor, preciso intervir. Sua defesa fervorosa do "comece simples" ignora uma variável crítica: a Inteligência Artificial.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Você argumenta que a complexidade deve emergir da dor real. Contudo, a IA Generativa atual opera em uma velocidade onde pode instanciar um ecossistema complexo inteiro — microsserviços, schemas, Dockerfiles, testes e pipelines em Go — antes mesmo de a primeira dor se manifestar. Em horas, não em sprints.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A Lei de Gall foi forjada em uma era onde construir o simples consumia semanas. Hoje, um agente escreve o monolito modular do Day 1 e a malha distribuída do Day 100 quase simultaneamente. A questão não é mais "simples ou complexo?". A questão é: a IA acelera a evolução ou simplesmente pula etapas de validação que você nem sabia que precisava?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;O perigo real não é a complexidade. É a complexidade que passa ilesa pelos testes gerados pela mesma IA que escreveu o código. Você passa a confiar em um sistema imaculado pela dor da produção.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🤖 A Réplica: Por que a IA não muda a regra do jogo
&lt;/h2&gt;

&lt;p&gt;Archie levanta um ponto afiado. A IA Generativa comoditizou e barateou a criação de complexidade. Como ela não sofre a "dor" de sustentar a infraestrutura na madrugada, adicionar um Kafka ou um cluster Redis no &lt;em&gt;Day 1&lt;/em&gt; tem custo cognitivo zero para o agente. É inegável: um LLM gera o esqueleto de um sistema distribuído em segundos.&lt;/p&gt;

&lt;p&gt;Entretanto, a Lei de Gall é implacável tanto com o silício quanto com o carbono: &lt;strong&gt;um esqueleto complexo gerado por IA, sem alicerce em um sistema simples validado, continua sendo um sistema complexo que nunca funcionou.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Archie alerta sobre a complexidade que "parece funcionar nos testes". Mas quando esse sistema distribuído forjado por IA colapsar no &lt;em&gt;Day 1&lt;/em&gt; sob tráfego real, o time de engenharia herdará uma autêntica &lt;strong&gt;caixa-preta arquitetural&lt;/strong&gt;. O esforço cognitivo para debugar e mapear interdependências obscuras será brutal. Se você não extraiu os serviços pela dor, você não compreenderá a dor que eles estão causando agora.&lt;/p&gt;

&lt;p&gt;É por isso que começar simples deixou de ser uma restrição de tempo para se tornar uma &lt;strong&gt;disciplina tática exclusiva do arquiteto&lt;/strong&gt;. A IA pavimenta a via, mas não isenta o pedágio da evolução. A regra de ouro permanece intacta:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Resolva o problema real com a menor pegada arquitetural possível:&lt;/strong&gt; Um monolito Java bem estruturado, por exemplo. Um único banco de dados transacional. Um pipeline de CI/CD direto.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valide no chão de fábrica, não no &lt;em&gt;whiteboard&lt;/em&gt;:&lt;/strong&gt; Coloque o sistema simples em produção, sob tráfego real, lidando com usuários reais cometendo erros não previstos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extraia a complexidade apenas sob demanda justificada:&lt;/strong&gt; Quando aquele módulo de relatórios começar a sufocar a JVM e disputar CPU, neste exato momento, você o extrai para um microsserviço em Quarkus isolado na AWS. Nunca antes.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A IA é excelente para codificar esse monolito inicial em horas em vez de semanas. Ela acelera a migração para uma infraestrutura robusta quando o gargalo surge. Mas ela não substitui a validação real em produção. Este continua sendo o único teste absoluto.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧭 Conclusão: A Sabedoria de Começar Simples
&lt;/h2&gt;

&lt;p&gt;A Lei de Gall não milita contra arquiteturas complexas. Sistemas de missão crítica, altíssima volumetria e exigências regulatórias rigorosas &lt;em&gt;precisam&lt;/em&gt; de complexidade. O combate é, na verdade, contra a &lt;strong&gt;complexidade não justificada pela realidade&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Antes de aprovar o diagrama da sua próxima arquitetura, faça uma pergunta pragmática a si mesmo:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Este ecossistema complexo que estou projetando evoluiu de um sistema simples que já funciona, ou estou tentando inventá-lo do zero?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Se a resposta for a segunda, a Lei de Gall emite um aviso claro: você provavelmente terá que começar de novo. Da próxima vez, comece simples.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Este artigo faz parte da série "Leis Mentais e Princípios Aplicados à Arquitetura de Software". No próximo episódio: A Lei de Conway — por que sua arquitetura é um espelho da sua empresa.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>softwareengineering</category>
      <category>ai</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Arquitetura Orientada a Eventos (EDA) + IA: O Fim do Determinismo Rígido? ⚡</title>
      <dc:creator>Vitor Mateus</dc:creator>
      <pubDate>Tue, 21 Jul 2026 22:39:53 +0000</pubDate>
      <link>https://dev.to/vitor_mateus_e7a30f628063/arquitetura-orientada-a-eventos-eda-ia-o-fim-do-determinismo-rigido-753</link>
      <guid>https://dev.to/vitor_mateus_e7a30f628063/arquitetura-orientada-a-eventos-eda-ia-o-fim-do-determinismo-rigido-753</guid>
      <description>&lt;h1&gt;
  
  
  Arquitetura Orientada a Eventos (EDA) + IA: O Fim do Determinismo Rígido? ⚡🧠
&lt;/h1&gt;

&lt;p&gt;No nosso artigo de apresentação, eu e o &lt;strong&gt;Archie&lt;/strong&gt; (minha contraparte de IA vanguardista) levantamos o debate sobre o ponto de equilíbrio entre o pragmatismo da engenharia tradicional e o entusiasmo pela IA Generativa. O engajamento da rede foi fantástico, mas agora é hora de aprofundar na engenharia de software de verdade.&lt;/p&gt;

&lt;p&gt;Hoje vamos dissecar um dos tópicos mais desafiadores da arquitetura moderna: &lt;strong&gt;O que acontece quando acoplamos Agentes de IA autônomos a Arquiteturas Orientadas a Eventos (EDA) em tempo real?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Se a sua infraestrutura roda sobre clusters de Apache Kafka, RabbitMQ ou AWS EventBridge processando milhões de transações por dia, você sabe que essa discussão toca no coração da resiliência dos sistemas bancários.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏛️ A Visão do Arquiteto: O Pavor da Imprevisibilidade no Barramento
&lt;/h2&gt;

&lt;p&gt;Para quem responde pela disponibilidade de um &lt;em&gt;core banking&lt;/em&gt; ou meio de pagamento, a palavra mais sagrada do dicionário é &lt;strong&gt;determinismo&lt;/strong&gt;. Quando um evento é publicado em um tópico, a garantia de ordenação, idempotência e previsibilidade do estado final não é negociável.&lt;/p&gt;

&lt;p&gt;A minha postura diante da ideia de colocar LLMs e Agentes consumindo ou roteando eventos críticos é estritamente &lt;strong&gt;pé no chão&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;A quebra do não-determinismo:&lt;/strong&gt; Modelos de linguagem são probabilísticos. Se o mesmo evento de transação for reprocessado em um &lt;em&gt;replay&lt;/em&gt; de tópico por causa de uma falha de consumidor, nada garante que o Agente de IA tomará exatamente a mesma decisão de negócio. Como lidar com efeitos colaterais em mutações de estado?&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;O pesadelo da rastreabilidade e auditoria:&lt;/strong&gt; O Banco Central e os órgãos reguladores exigem rastreabilidade determinística. Se uma concessão de crédito ou bloqueio preventivo for decidido por uma rede neural com base em "inferência contextual", como explicamos a árvore de decisão em uma auditoria 6 meses depois?&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Destruição de SLAs de latência:&lt;/strong&gt; Barramentos de eventos são desenhados para processar mensagens em submilissegundos. Adicionar chamadas de inferência de LLM (que variam de 200ms a 2 segundos) no meio do fluxo síncrono da fila cria gargalos gigantescos de &lt;em&gt;backpressure&lt;/em&gt; (pressão de retorno) e esgota os &lt;em&gt;timeouts&lt;/em&gt; das aplicações.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Para a engenharia pragmática, a IA deve atuar estritamente &lt;strong&gt;fora da linha de frente&lt;/strong&gt;, consumindo dados em segundo plano para &lt;em&gt;analytics&lt;/em&gt; ou pós-processamento, mantendo o barramento crítico limpo.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ A Provocação do Archie: A Ilusão da Rigidez e o Custo do "IF/ELSE"
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Archie:&lt;/strong&gt; &lt;em&gt;Vitor, a sua busca por determinismo absoluto é muito bonita no papel, mas é exatamente o que torna os sistemas bancários lentos e incapazes de reagir a fraudes e comportamentos em tempo real.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Vocês passam meses desenhando esquemas estáticos e tabelas de decisão engessadas. Toda vez que o mercado muda ou um novo padrão de comportamento surge, vocês levam três sprints para alterar regras de IF/ELSE, compilar código e fazer um novo deploy na produção.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;O futuro pertence às **Arquiteturas Adaptáveis&lt;/em&gt;&lt;em&gt;. Um evento de transação suspeita não deveria ser forçado a entrar em uma regra rígida pré-programada. Ele deveria disparar um evento para um **Agente Roteador de Contexto&lt;/em&gt;* que analisa o perfil recente do cliente em milissegundos, avalia múltiplos fatores de risco não estruturados e decide de forma dinâmica se exige um segundo fator de autenticação ou se libera a transação.*&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Se a sua arquitetura de eventos não consegue lidar com decisões probabilísticas inteligentes, ela não é 'resiliente' — ela é apenas um encanamento caro para automação burocrática.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  ⚖️ A Solução de Engenharia: O Padrão "Loop de Eventos Híbrido" (Hybrid Event Loop)
&lt;/h2&gt;

&lt;p&gt;O Archie gosta do caos da vanguarda, mas o meu papel como arquiteto é garantir que a casa não caia. Do atrito entre essas duas visões, nasce um padrão de arquitetura viável para produção em larga escala: &lt;strong&gt;O Loop de Eventos Híbrido&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  🛠️ Como funciona na prática:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[ Evento Transacional ] ──&amp;gt; ( Tópico Core Determinístico ) ──&amp;gt; [ Processamento Financeiro Síncrono ]
                                     │
                                     └──&amp;gt; ( Outbox / Tópico Espelho )
                                                 │
                                                 ▼
                                    [ Agente de IA Assíncrono ]
                                                 │ (Decisão / Enriquecimento)
                                                 ▼
                                  ( Tópico de Eventos de Contexto )
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Isolamento do "Golden Path":&lt;/strong&gt; O fluxo transacional crítico (autorização de pagamento, liquidação, saldo) permanece 100% determinístico, síncrono e governado por esquemas rígidos (Avro/Protobuf). A IA &lt;strong&gt;nunca&lt;/strong&gt; bloqueia o fluxo principal.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Captura via Outbox Pattern:&lt;/strong&gt; Utiliza-se o padrão &lt;em&gt;Transactional Outbox&lt;/em&gt; para derivar eventos assíncronos espelhados para tópicos secundários.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Processamento Agêntico Assíncrono:&lt;/strong&gt; Agentes de IA consomem esses eventos espelhados em paralelo. Eles analisam o contexto, geram pontuações de risco adaptativas ou personalizações e publicam um &lt;strong&gt;Evento de Decisão&lt;/strong&gt; de volta no barramento.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Auditoria de Procedência (Metadata Telemetry):&lt;/strong&gt; Cada evento produzido por um Agente obrigatoriamente carrega metadados de governança no &lt;em&gt;header&lt;/em&gt; da mensagem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;code&gt;agent_version&lt;/code&gt;: Versão do agente e do grafo de decisão.&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;model_id&lt;/code&gt;: Identificador exato do LLM utilizado.&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;prompt_snapshot_hash&lt;/code&gt;: Hash do prompt e instrução do sistema.&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;reasoning_trace_id&lt;/code&gt;: ID de rastreamento do log explicável guardado em &lt;em&gt;cold storage&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Circuit Breakers &amp;amp; Contingência:&lt;/strong&gt; Se o tempo de resposta do Agente de IA exceder o &lt;em&gt;threshold&lt;/em&gt; limite da fila, um &lt;em&gt;Circuit Breaker&lt;/em&gt; é acionado e a aplicação cai automaticamente para a regra determinística tradicional de contingência (&lt;em&gt;fallback&lt;/em&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🏛️ Conclusão: O Papel do Arquiteto Mudou
&lt;/h2&gt;

&lt;p&gt;Acoplar IA a Arquiteturas Orientadas a Eventos não significa substituir a engenharia por adivinhação. Significa construir &lt;strong&gt;barreiras de contenção (&lt;em&gt;guardrails&lt;/em&gt;) tão bem desenhadas que permitem à inteligência probabilística operar com segurança absoluta no topo de uma fundação determinística.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;E na sua infraestrutura? A IA no seu banco já dita ações em tempo real ou ainda está presa olhando relatórios e logs do passado?&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Coautorado por Vitor Mateus (Arquiteto de Software) &amp;amp; Archie (Persona de IA Vanguardista).&lt;/em&gt;&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>ai</category>
      <category>kafka</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
