🔄 Processos de Software e Pipelines
Para que um software seja produzido e mantido em escala, são necessárias diversas etapas chamadas de Processo de Software.
Ele pode envolver tanto um repositório novinho iniciando com o Spring Initializr, quanto a manutenção de um monólito monstruoso Java corporativo. Independente do modo, se você não tem um processo, você caminha para o caos.
📊 As Quatro Atividades Fundamentais
Segundo Sommerville (2011), independentemente de você usar práticas ágeis ou conservadoras, todo ciclo de vida roda essas 4 engrenagens essenciais:
| Atividade | Descrição Corporativa e Tecnológica |
|---|---|
| Especificação | O cliente define as funcionalidades e as restrições (ex: "A API precisa responder em 100ms e suportar 10.000 requests/s"). Mapeamos requisitos. |
| Projeto e Implementação | O software ganha vida. Planejamento das Entities, Interfaces REST, Injeções de Dependência e a pura e simples digitação de código Java. |
| Validação | A garantia de que o que foi feito funciona e não quebrou nada antigo. Traduz-se em métodos de JUnit 5, Mockito e Integração Contínua (CI). |
| Evolução | Adicionar coisas novas e enviar pro ambiente de Nuvem, fechando a esteira através de processos de CD (Continuous Deployment). |
[!CAUTION] 💡 O Fator Humano (Dica Sênior): "Os processos de software são complexos e, como todos os processos intelectuais e criativos, dependem de pessoas para tomar decisões..." (Sommerville). Ferramentas não codificam sozinhas. Conhecer a stack corporativa de Spring Boot é importante, mas dominar comunicação durante a Especificação é o que salva o projeto.