O ciclo de vida de desenvolvimento de sistemas (CVDS), do inglês systems development life cycle (SDLC), é, em engenharia de sistemas, sistemas de informação e engenharia de software, um processo de criação ou alteração de sistemas de informação, bem como os modelos e metodologias que as pessoas utilizam para desenvolver esses sistemas. Em engenharia da computação, o conceito de CVDS sustenta muitos tipos de metodologias de desenvolvimento de software. Essas metodologias formam a estrutura (framework) para o planejamento e controle da criação de um sistema de informação: o processo de desenvolvimento de software.

O CVDS é utilizado por um analista de sistemas para desenvolver um sistema de informação. Visa produzir um sistema de alta qualidade que atenda ou exceda as expectativas do cliente, seja concluído dentro do tempo e dos custos estimados, funcione de forma eficaz e eficiente na infraestrutura de tecnologia da informação atual e planejada, e tenha baixo custo de manutenção.

Os sistemas de computadores são complexos e frequentemente integram múltiplos sistemas tradicionais fornecidos por diferentes fornecedores de software. Para gerenciar esse nível de complexidade, uma série de modelos ou metodologias de CVDS foram criadas ao longo das décadas, como o modelo em cascata, espiral, desenvolvimento ágil, prototipagem rápida, incremental e o modelo "sincronizar e estabilizar".

Com a ascensão da inteligência artificial generativa e dos agentes de IA entre 2023 e 2026, o CVDS passou por uma transformação profunda: sistemas autônomos de IA passaram a ser integrados a cada fase do ciclo de desenvolvimento, originando o paradigma do CVDS aumentado por IA (Agentic SDLC).

Origens e evolução histórica O conceito formal de ciclo de vida de desenvolvimento de sistemas surgiu na década de 1960, como resposta à necessidade de organizar o desenvolvimento de grandes sistemas de informação empresarial. Segundo Elliott (2004), o CVDS "originou-se nos anos 1960, para desenvolver sistemas de negócios funcionais de grande escala numa era de grandes conglomerados empresariais. As atividades de sistemas de informação giravam em torno de pesado processamento de dados e rotinas de cálculo numérico".

O método de análise e design de sistemas estruturados (SSADM) foi desenvolvido para o governo britânico na década de 1980, tornando-se um dos primeiros modelos formais de CVDS amplamente adotados. Desde então, metodologias tradicionais passaram a ser progressivamente substituídas por abordagens alternativas que buscavam superar limitações inerentes ao planejamento rígido e sequencial.

A partir dos anos 2000, com a publicação do Manifesto para Desenvolvimento Ágil de Software (2001) e a consolidação das práticas de DevOps (a partir de 2009), o CVDS tornou-se progressivamente mais iterativo, colaborativo e orientado à entrega contínua de valor. A norma ISO/IEC 12207 estabeleceu o padrão internacional para seleção, implementação e monitoramento do ciclo de vida de software, enquanto o CMMI (Capability Maturity Model Integration) tornou-se referência para avaliação da maturidade dos processos de desenvolvimento.

Entre 2023 e 2026, o advento dos modelos de linguagem de grande escala (LLMs) e dos agentes de IA autônomos iniciou uma nova era de transformação do CVDS, com ferramentas como GitHub Copilot, Devin AI e Claude Code integrando capacidades de geração, revisão e teste de código diretamente às fases do ciclo de desenvolvimento.

Fases do ciclo de vida O CVDS descreve as etapas pelas quais um sistema passa desde sua concepção até sua descontinuação. Embora diferentes autores e metodologias utilizem nomenclaturas distintas, há um conjunto de fases que é amplamente reconhecido na literatura técnica e acadêmica.

Planejamento A fase de planejamento é a etapa inicial do CVDS e tem como objetivo definir o escopo, os objetivos, os recursos necessários, os riscos potenciais e o cronograma do projeto. Durante essa fase, são realizadas análises de viabilidade (técnica, econômica e operacional) para determinar se o projeto é exequível. O produto típico desta fase é um plano de projeto aprovado pelos principais stakeholders.

Em contextos ágeis, o planejamento ocorre de forma distribuída: em vez de um grande plano inicial, cada iteração (sprint) tem seu próprio planejamento incremental, com refinamento contínuo das prioridades por meio de cerimônias como o Sprint Planning e o Backlog Refinement.

Análise de requisitos Na fase de análise de requisitos, as necessidades dos usuários e do negócio são levantadas, documentadas e validadas. As técnicas utilizadas incluem entrevistas, questionários, workshops com stakeholders, observação de processos existentes e análise de documentos. O produto desta fase é tipicamente um documento de especificação de requisitos de software (SRS) ou, em metodologias ágeis, um conjunto de histórias de usuário (user stories) organizadas em um backlog de produto.

A análise cuidadosa dos requisitos é considerada uma das fases mais críticas do CVDS: erros detectados nessa fase têm custo de correção muito menor do que os detectados nas fases posteriores de implementação ou produção.

Design A fase de design traduz os requisitos em uma especificação técnica de como o sistema será construído. Engloba o design de alto nível (arquitetura do sistema, escolha de tecnologias, divisão em componentes) e o design de baixo nível (design detalhado de módulos, esquemas de banco de dados, interfaces de programação, APIs, interfaces de usuário). Os principais artefatos produzidos incluem diagramas de arquitetura, modelos de dados, diagramas de fluxo, protótipos de interface e documentos de design técnico.

As duas arquiteturas mais comuns em sistemas modernos são a monolítica que centraliza as funcionalidades em um único bloco de código, sendo mais simples para projetos de menor escala e a baseada em microsserviços que divide o sistema em módulos independentes que se comunicam entre si, oferecendo flexibilidade, escalabilidade e resiliência para sistemas complexos.

Implementação (codificação) Na fase de implementação, os desenvolvedores escrevem o código-fonte com base nas especificações de design aprovadas. Essa fase inclui revisões de código (code reviews), testes unitários e de integração, gerenciamento de versões por meio de sistemas como Git, e integração com pipelines de integração contínua (CI). Em metodologias ágeis, a implementação ocorre em ciclos curtos de desenvolvimento (sprints) com entregas incrementais a cada iteração.

Testes A fase de testes tem por objetivo verificar que o sistema implementado atende aos requisitos especificados e identificar defeitos antes da implantação em produção. Os principais tipos de teste incluem: testes unitários (nível de função ou módulo), testes de integração (entre componentes), testes de sistema (sistema completo), testes de aceitação pelo usuário (UAT) e testes de desempenho e segurança. Em metodologias DevOps, os testes são automatizados e executados de forma contínua a cada modificação no código, integrando-se ao pipeline de CI/CD.

Implantação A fase de implantação envolve a transferência do software para o ambiente de produção, tornando-o disponível para os usuários finais. Essa fase inclui a configuração de servidores, bancos de dados, certificados de segurança e demais componentes do sistema. Estratégias modernas de implantação incluem blue-green deployment (dois ambientes idênticos em produção, com alternância controlada), canary releases (liberação gradual para um subconjunto de usuários) e implantação automatizada por meio de ferramentas como Jenkins, GitHub Actions e ArgoCD.

Manutenção A fase de manutenção inicia-se após a implantação e não tem término definido: ela persiste durante todo o período de vida útil do sistema. Inclui a correção de defeitos (bugs), a implementação de melhorias e novas funcionalidades, a otimização de desempenho e a adaptação a novas tecnologias, regulamentações ou necessidades dos usuários. Ferramentas como Prometheus permitem o monitoramento proativo do sistema, identificando gargalos de desempenho antes que causem impacto nos usuários. Segundo Taylor (2004), "o ciclo de vida do projeto abrange todas as atividades do projeto, enquanto que o ciclo de vida de desenvolvimento de sistemas centra-se na realização dos requisitos do produto".

Descontinuação A fase de descontinuação (retirement ou sunset) marca o fim da vida útil de um sistema de informação. Ocorre quando o sistema é substituído por uma nova solução, torna-se obsoleto tecnologicamente ou deixa de atender às necessidades do negócio. Envolve planejamento de migração de dados, comunicação com usuários, descomissionamento de infraestrutura e arquivo de documentação.

Modelos e metodologias O CVDS não prescreve uma única forma de desenvolvimento; pelo contrário, diversas metodologias chamadas também de modelos ou frameworks , foram desenvolvidas para se adequar a diferentes tipos de projeto, equipes e contextos organizacionais.

Modelo em cascata O modelo em cascata (waterfall), proposto por Winston Royce em 1970, é o modelo sequencial mais clássico do CVDS. Nele, cada fase deve ser completada antes que a próxima se inicie, e os requisitos são definidos de forma completa no início do projeto. É adequado para projetos com requisitos estáveis, bem definidos e pouca probabilidade de mudança durante o desenvolvimento. Sua principal limitação é a rigidez diante de mudanças tardias de requisitos.

Modelo em espiral O modelo em espiral, proposto por Barry Boehm em 1986, combina elementos iterativos com uma abordagem orientada a riscos. Em cada ciclo (espira), o projeto passa pelas fases de planejamento, análise de riscos, engenharia e avaliação pelo cliente. É adequado para projetos de alto risco ou grande complexidade, pois a análise de riscos é realizada explicitamente a cada ciclo.

Metodologias ágeis As metodologias ágeis foram consolidadas com o Manifesto para Desenvolvimento Ágil de Software em 2001, que estabeleceu quatro valores fundamentais: indivíduos e interações acima de processos e ferramentas; software funcionando acima de documentação abrangente; colaboração com o cliente acima de negociação de contratos; e responder a mudanças acima de seguir um plano.

Os principais frameworks ágeis incluem:

Scrum: Organiza o desenvolvimento em sprints de 2 a 4 semanas, com cerimônias regulares (Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective) e papéis definidos (Product Owner, Scrum Master, Equipe de Desenvolvimento). Kanban: Enfatiza o fluxo contínuo de trabalho e o gerenciamento visual das tarefas por meio de um quadro com colunas que representam os estados de cada item. XP (Extreme Programming): Enfatiza práticas técnicas rigorosas como desenvolvimento orientado a testes (TDD), programação em par, integração contínua e design simples. Lean Agile: Adapta os princípios de manufatura enxuta (Lean Manufacturing) ao desenvolvimento de software, com foco na eliminação de desperdícios e na entrega de valor ao cliente.

Modelo V (V-Model) O Modelo V é uma extensão do modelo em cascata que enfatiza a verificação e validação em cada fase do desenvolvimento. Para cada fase de desenvolvimento à esquerda do "V", há uma fase correspondente de teste à direita, garantindo rastreabilidade entre requisitos e casos de teste.

Modelo incremental O modelo incremental divide o desenvolvimento em pequenas iterações, entregando funcionalidades incrementais a cada ciclo. Cada incremento passa por todas as fases do CVDS — análise, design, implementação, teste — de forma independente, permitindo feedback antecipado e adaptações progressivas.

DevOps