Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🔄 Evolução e Manutenção de Software

A evolução é inerente ao ciclo de vida do software. Após a implantação na rede ou nuvem, surgem necessidades de correções de bugs, adaptação a novas vulnerabilidades (ex: atualizar pacotes de segurança do Maven), e implantação de novas Features.


🏛️ Do Desenvolvimento à Manutenção (Mudança de Paradigma)

Antigamente o desenvolvimento era o "trabalho nobre" e a "manutenção" era o sub-produto ruim do projeto. No paradigma de integrações contínuas, são o mesmo trabalho integrado.

graph LR
    subgraph Old ["Arquiteto Monolítico Antigo"]
        direction LR
        D[Terminou Projeto 2018] --> M[Ficou em Manutenção Eterna]
    end

    subgraph New ["Engenharia Nuvem CI/CD"]
        direction LR
        E((DevOps e Ciclo Contínuo))
    end
    
    style E fill:#fff3e0,stroke:#fb8c00

📊 A Fronteira Fluida (Tipos de Evolução)

Hoje, a Engenharia encara o ciclo de vida como ininterrupto (DevOps). Mas as causas das alterações na plataforma têm naturezas distintas:

Tipo de ManutençãoDescrição e Impacto no Ecossistema
Corretiva (Fix)Seu serviço em Java travou em produção por um vazamento da Pool de conexões do Banco. Você precisa corrigir a falha agora.
Adaptativa / SegurançaA nuvem da AWS atualizou do Java 17 para o Java 21, ou foi descoberta uma falha crítica na injeção JWT do Spring Security. Seu software não quebrou hoje, mas precisa se adaptar urgentemente amanhã.
Evolutiva (Feature)Inclusão de um novo relatório de vendas em PDF demandado pela diretoria para manter a competitividade.

[!TIP] 💡 Dica de Performance: Integrar desenvolvimento e evolução em um fluxo contínuo de valor é o segredo para a longevidade dos sistemas modernos. Ter 100% de automação nas Esteiras (GitHub Actions, Jenkins) te economiza milhões em tempo humano ao não ter que verificar se a manutenção "Corretiva" estragou a parte antiga.