Voltar ao Blog
    Arquitetura

    Apenas resolva.

    Quando estabilidade deixa de ser técnica e vira sobrevivência do produto. Minha opinião sobre o momento em que sistemas precisam parar de causar problemas e se tornar previsíveis.

    18 de janeiro de 20268 min

    Quando estabilidade deixa de ser técnica e vira sobrevivência do produto

    Em algum momento, todo profissional de software vive isso.

    A conversa deixa de ser sobre evolução. Deixa de ser sobre boas práticas. Deixa de ser sobre arquitetura ideal.

    O pedido passa a ser simples, direto e carregado de urgência: o sistema precisa parar de causar problemas.

    Não importa o caminho. Importa que seja previsível.

    Esse é o ponto em que estabilidade deixa de ser um tema técnico e se torna uma decisão explícita de produto.

    Vou trazer abaixo minha opinião sobre esse momento.

    Quando "funcionar" passa a significar não surpreender

    No início de um produto, funcionar significa entregar valor. Com o tempo, significa escalar.

    Mas sob pressão contínua, funcionar passa a significar algo mais básico: não surpreender negativamente o negócio.

    Quando isso acontece, um sinal importante já apareceu: a confiança no sistema foi corroída.

    E quando a confiança se perde:

    • decisões ficam defensivas
    • prazos encurtam
    • o risco aumenta
    • a urgência vira estado permanente

    Esse não é um problema de código. É um problema de previsibilidade sistêmica.

    Estabilidade não é ausência de falhas — é controle do impacto

    Aqui está um ponto fundamental da engenharia moderna:

    Sistemas maduros não evitam falhas. Eles limitam o impacto da falha.

    Esse princípio é central em Site Reliability Engineering (SRE), amplamente documentado pelo Google.

    Conceitos como:

    • blast radius
    • mean time to recovery (MTTR)
    • degradação controlada

    existem porque falhas são inevitáveis em sistemas complexos.

    Quando tudo quebra junto, o problema não é o bug. É a falta de limites claros.

    Pressão contínua não é acaso — é reflexo cultural

    Aqui está uma parte desconfortável, mas necessária.

    Ambientes onde tudo é urgente o tempo todo não chegaram ali por acidente.

    Pressão constante costuma ser consequência de:

    • decisões estratégicas focadas apenas no curto prazo
    • ausência de priorização explícita de confiabilidade
    • cultura que recompensa entrega rápida e ignora custo sistêmico
    • tolerância organizacional a instabilidade recorrente

    Esse padrão é amplamente discutido em sistemas sociotécnicos: falhas técnicas são frequentemente efeitos colaterais de decisões organizacionais.

    O código apenas materializa a cultura.

    Instabilidade também é falta de estratégia

    Quando confiabilidade nunca é tratada como prioridade estratégica, ela vira um problema "para depois".

    O resultado é previsível:

    • arquitetura cresce sem intenção
    • decisões locais otimizam o curto prazo
    • o sistema perde capacidade de absorver mudança

    Livros como Accelerate mostram isso com dados: organizações de alta performance entregam rápido porque são estáveis, não o contrário.

    Estabilidade não compete com estratégia. Ela viabiliza a estratégia.

    O que o produto realmente está pedindo

    Quando a pressão chega nesse nível, o produto não está pedindo:

    • reescritas completas
    • novas stacks
    • soluções brilhantes

    Está pedindo:

    • previsibilidade
    • redução de risco
    • confiança mínima para operar

    Isso é uma decisão clara de produto: trocar velocidade momentânea por sustentabilidade operacional.

    O que "apenas resolver" deveria significar para um dev

    Aqui entra o papel do desenvolvedor como agente de maturidade.

    "Resolver", nesse contexto, não é heroísmo técnico. É responsabilidade sistêmica.

    Um dev maduro, sob pressão:

    • limita impacto antes de otimizar
    • prefere degradação controlada a falha total
    • torna dependências explícitas
    • reduz MTTR antes de buscar performance
    • evita soluções irreversíveis
    • documenta trade-offs e riscos
    • cria mecanismos de desligamento (feature flags, kill switches)

    Esse comportamento é alinhado com práticas descritas em The Phoenix Project e SRE, não com improviso.

    O erro mais comum

    O erro mais comum é tratar estabilidade como:

    • dívida técnica futura
    • problema exclusivo da engenharia
    • custo que pode ser ignorado

    Na prática, estabilidade é um acordo cultural e estratégico entre produto, tecnologia e liderança.

    Sem esse acordo, toda entrega adiciona risco invisível.

    Minha opinião

    Instabilidade recorrente não é azar. É consequência.

    Consequência de cultura. Consequência de estratégia. Consequência de decisões acumuladas.

    Estabilidade não é luxo. Não é frescura. Não é algo para "quando der".

    Ela é a condição mínima para que um produto continue existindo sem viver em modo de sobrevivência.

    Quando tudo que resta é "apenas resolver", resolver significa reduzir incerteza, não escrever código às pressas.

    Porque nenhum sistema quebra de uma vez. Ele quebra quando a organização/empresa aceita viver sem confiar nele.


    Referências que embasam essa visão