Um processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software. É estudado dentro da área de engenharia de software, sendo considerado um dos principais mecanismos para se obter software de qualidade e cumprir corretamente os contratos de desenvolvimento, sendo uma das respostas técnicas adequadas para resolver a crise do software.
Desde a década de 1970, os processos evoluíram de modelos sequenciais, como o modelo em cascata, para abordagens iterativas, incrementais e ágeis. A partir do início da década de 2020, ferramentas baseadas em modelos de linguagem de grande escala passaram a participar das atividades do processo, primeiro como assistentes de programação e, depois, como agentes capazes de executar tarefas de várias etapas. Esse movimento deu origem a propostas de reorganização do ciclo de vida em torno de agentes de inteligência artificial, reunidas no mercado sob expressões como agentic SDLC (ciclo de vida de desenvolvimento de software agêntico), para as quais ainda não há definição consensual.
Wazlawick define o processo de desenvolvimento de software como um conjunto de passos parcialmente ordenados, relacionados a artefatos, pessoas, estruturas organizacionais e restrições, cujo objetivo é produzir e manter os produtos de software finais requeridos. Esse conceito considera o contexto em que o processo é aplicado e destaca suas interdependências com outros fatores, como restrições, pessoas, recursos e padrões, que afetam o resultado final.
A literatura descreve diversos modelos de ciclo de vida, que diferem na ordem, na repetição e na sobreposição das atividades do processo. Entre as principais abordagens estão:
Visa a estabelecer a viabilidade do projeto de software, verificando se os benefícios esperados, como lucro ou receita, justificam os custos de desenvolvimento e operação. Para isso, a engenharia de software emprega análises de viabilidade e a elaboração de um caso de negócio.
Consiste na extração dos requisitos junto ao cliente e aos demais interessados. O objetivo da elicitação é trazer à tona os requisitos candidatos, com técnicas como entrevistas e a consulta a documentos existentes.
A especificação é a tarefa de descrever precisamente o software, preferencialmente de uma forma matematicamente rigorosa, como propõem os métodos formais. Na prática, somente especificações mais bem sucedidas foram escritas para aplicações bem compreendidas e afinadas que já estavam bem desenvolvidas, embora sistemas de software de missão crítica sejam frequentemente bem especificados antes do desenvolvimento da aplicação. Especificações são mais importantes para interfaces externas que devem permanecer estáveis.[carece de fontes]
A arquitetura de um sistema de software remete a uma representação abstrata daquele sistema. Arquitetura é concernente à garantia de que o sistema de software irá ao encontro de requisitos do produto, como também assegurar que futuros requisitos possam ser atendidos. A etapa da arquitetura também direciona as interfaces entre os sistemas de software e outros produtos de software, como também com o hardware básico ou com o sistema operacional. A norma ISO/IEC/IEEE 42010 distingue a arquitetura de um sistema da descrição que a expressa e estabelece requisitos para essas descrições.
A transformação de um projeto para um código deve ser a parte mais evidente do trabalho da engenharia de software, mas não necessariamente a sua maior porção. Frederick Brooks estimou, como regra prática, que a codificação ocupa cerca de um sexto do cronograma de um projeto, contra um terço para o planejamento e metade para os testes.
Teste de partes do software, especialmente onde tenha sido codificado por dois ou mais engenheiros trabalhando juntos, é um papel da engenharia de software.
Diversas atividades de testes são executadas a fim de se validar o produto de software, testando cada funcionalidade de cada módulo e levando em consideração a especificação feita na fase de projeto. Os resultados são registrados em documentação de teste, como relatórios com as informações sobre os erros encontrados e o comportamento do sistema; a norma ISO/IEC/IEEE 29119-3 padroniza modelos para essa documentação.
Uma importante tarefa é a documentação do projeto interno do software para propósitos de futuras manutenções e aprimoramentos. As documentações mais importantes são das interfaces externas.[carece de fontes]
Uma grande percentagem dos projetos de software falham pelo fato de o desenvolvedor não perceber que não importa quanto tempo a equipe de planejamento e desenvolvimento irá gastar na criação do software se ninguém da organização irá usá-lo.[carece de fontes] As pessoas ocasionalmente resistem à mudança e evitam aventurar-se em áreas pouco familiares; estudos sobre a implantação de sistemas de informação atribuem essa resistência tanto a fatores individuais quanto ao projeto do sistema e à interação entre o sistema e o contexto organizacional. O treinamento de usuários figura entre os requisitos de projeto que a engenharia de software deve prever. Então, como parte da fase de desenvolvimento, é muito importante o treinamento para os usuários de software mais entusiasmados, alternando o treinamento entre usuários neutros e usuários favoráveis ao software. Usuários irão ter muitas questões e problemas de software os quais conduzirão para a próxima fase.
A manutenção e melhoria de software lidam com a descoberta de novos problemas e requisitos. Elas podem tomar mais tempo do que o gasto no desenvolvimento inicial do software em si. Não somente pode ser necessário adicionar códigos que combinem com o projeto original, mas determinar como o software trabalhará em algum ponto depois da manutenção estar completa pode requerer um significativo esforço por parte de um engenheiro de software. Segundo Robert Glass, a manutenção consome tipicamente de 40% a 80% dos custos de software, e cerca de 60% desse custo corresponde a melhorias, e não à correção de erros. A maioria das manutenções é, portanto, para ampliar os sistemas com novas funcionalidades, as quais, de diversas formas, podem ser consideradas um novo trabalho. O SWEBOK classifica a manutenção em categorias como corretiva, adaptativa, perfectiva e preventiva.
O processo de desenvolvimento de software tem sido objetivo de vários padrões, que visam a certificação de empresas como possuidoras de um processo de desenvolvimento, o que garantiria certo grau de confiança aos seus contratantes. No Brasil, por exemplo, o programa MPS.BR prevê a avaliação de empresas segundo níveis de maturidade compatíveis com o CMMI.
Alguns padrões existentes:
Métodos formais em ciências da computação e engenharia de software são técnicas baseadas em formalismos matemáticos para a especificação, desenvolvimento e verificação dos sistemas de software e hardware. Seu uso para o desenvolvimento de software e hardware é motivado pela expectativa de que, como em outras disciplinas de engenharia, possam contribuir para a confiabilidade e robustez de um projeto executando análises matemáticas apropriadas. Entretanto, o alto custo do uso dos métodos formais faz com que, de modo geral, sejam usados apenas no desenvolvimento de sistemas de alta integridade, nos quais há alta probabilidade de as falhas provocarem perda de vidas ou sério prejuízo.
A partir de 2021, ferramentas baseadas em modelos de linguagem de grande escala foram incorporadas às atividades de desenvolvimento de software. Segundo uma síntese publicada em 2026, as primeiras ferramentas atuavam na granularidade de uma linha ou função, enquanto os sistemas agênticos posteriores passaram a operar na granularidade de um repositório, de uma funcionalidade ou de um algoritmo. O mesmo trabalho propõe que o objeto central de estudo deixou de ser a geração de código e passou a ser a execução delegada sob supervisão humana.
O GitHub Copilot, lançado em 2021, foi o primeiro contato da maioria dos engenheiros de software com uma ferramenta de inteligência artificial generativa integrada ao trabalho diário. Como seus sucessores, funcionava como um sistema de complementação de código no editor, em que o desenvolvedor escrevia, o modelo sugeria e o desenvolvedor aceitava ou rejeitava a sugestão.
Os estudos sobre o efeito dessas ferramentas na produtividade chegaram a resultados divergentes. Em experimento controlado conduzido por pesquisadores da Microsoft Research, do GitHub e do MIT, o grupo com acesso ao Copilot concluiu a implementação de um servidor HTTP em JavaScript 55,8% mais rápido que o grupo de controle. Por outro lado, um ensaio randomizado da organização METR, realizado de fevereiro a junho de 2025 com dezesseis desenvolvedores experientes de projetos de código aberto e 246 tarefas reais, constatou que o uso de ferramentas de IA aumentou em 19% o tempo de conclusão das tarefas, embora os participantes acreditassem ter ficado cerca de 20% mais rápidos.
A pesquisa anual de desenvolvedores do Stack Overflow de 2025 registrou que 84% dos respondentes usavam ou pretendiam usar ferramentas de IA no desenvolvimento, ante 76% em 2024, ao mesmo tempo que a confiança na exatidão dessas ferramentas caiu. Na mesma pesquisa, 45% apontaram como frustração o tempo gasto para depurar código gerado por IA, e apenas 31% usavam agentes de IA. O primeiro relatório do programa DORA do Google dedicado ao desenvolvimento assistido por IA, baseado em respostas de quase cinco mil profissionais, concluiu que a IA atua principalmente como amplificadora, reforçando tanto os pontos fortes das organizações de alto desempenho quanto as disfunções das demais.
Em outubro de 2023, pesquisadores da Universidade de Princeton apresentaram o SWE-bench, conjunto de avaliação formado por 2 294 problemas extraídos de issues e pull requests reais de doze repositórios populares em Python. Na avaliação original, o modelo com melhor desempenho resolveu apenas 1,96% dos problemas.
O Devin, da empresa Cognition, demonstrado em março de 2024, popularizou a ideia de um "engenheiro de software de IA" que executa tarefas num ambiente isolado com navegador, terminal e editor. No início de 2025, a Anthropic lançou o Claude Code, que lê a base de código, planeja alterações em vários arquivos, executa comandos e testes e itera sobre os resultados. Sistemas semelhantes incluem o Codex CLI, da OpenAI, o Jules, do Google, e os projetos de código aberto OpenHands e SWE-agent. Segundo a mesma síntese, ainda em revisão por pares, a taxa de resolução na variante SWE-bench Verified passou de 1,96% em outubro de 2023 para 78,4% em abril de 2026, e o papel do desenvolvedor deslocou-se da produção de código para a orquestração, a revisão e o direcionamento do trabalho dos agentes.
A expansão dos agentes de programação levou à proposta de fluxos em que a especificação, e não o código, é o artefato central. Em julho de 2025, a Amazon Web Services lançou em versão de pré-visualização o Kiro, um ambiente de desenvolvimento agêntico baseado em especificações. Em 2 de setembro de 2025, o GitHub publicou o Spec Kit, conjunto de ferramentas de código aberto sob licença MIT que organiza o trabalho em especificação, plano técnico e tarefas pequenas e testáveis a serem implementadas por agentes como GitHub Copilot, Claude Code e Gemini CLI.
A expressão inglesa agentic SDLC designa propostas de ciclo de vida de desenvolvimento de software em que agentes de IA executam ou coordenam trabalho em várias etapas, da especificação à operação, sob supervisão humana. O conceito circula sob diversos nomes, entre eles Agentic Development Lifecycle (ADLC), Agentic-SDLC e a variante acadêmica A-SDLC, e até 2026 as firmas de análise Gartner e Forrester não haviam adotado nenhum deles.
Na síntese de Bhati, o ciclo de vida agêntico distingue-se do ciclo de vida apenas acelerado por assistentes em três aspectos: a unidade de trabalho encolhe para tarefas que um agente conclui em minutos ou horas, o desenvolvedor passa a orquestrar e revisar em vez de produzir, e métricas comportamentais, como taxa de aceitação das entregas dos agentes e qualidade dos escalonamentos, passam a complementar métricas de processo como tempo de ciclo e taxa de defeitos. No modelo descrito, um agente orquestrador coordena subagentes especializados por fase, e o humano intervém em pontos de definição de intenção, revisão e aprovação.
Entre as formulações de mercado, a Amazon Web Services apresentou em 1 de agosto de 2025, no evento AWS DevSphere, em Bangalore, o AI-Driven Development Lifecycle (AI-DLC), metodologia aberta que coloca a IA no centro do processo e mantém supervisão humana em todas as etapas. O AI-DLC organiza o trabalho em três fases, denominadas Inception, Construction e Operation. A EPAM descreveu um ADLC próprio, e a Microsoft publicou uma arquitetura de referência em que agentes especializados por fase são coordenados por um orquestrador central.
Em 2026, a empresa brasileira CI&T publicou o white paper AI doesn't fix your SDLC, atribuído a Luiz Grecco e Gilson Gaseorowski, com sua formulação do conceito. O documento sustenta que, com o custo de gerar código reduzido pela IA, o gargalo da entrega se deslocou da execução para as decisões sobre se o código está pronto para avançar, e propõe tratar essas decisões como itens explícitos do fluxo. A proposta prevê validação contínua no lugar de aprovações por etapa e uma camada de orquestração, chamada agentic bus, que coordena humanos, agentes e contexto compartilhado. O texto descreve três estágios de maturidade (aumento, coordenação e autonomia), aos quais a empresa associa ganhos de duas, cinco e até vinte vezes, e novos papéis como orquestrador de IA e engenheiro de IA. A empresa apresentou a proposta na teleconferência de resultados do primeiro trimestre de 2026, em 11 de maio daquele ano. Os ganhos citados são declarações da própria empresa e não haviam sido verificados de forma independente até outubro de 2026.
As críticas e questões em aberto sobre o ciclo de vida agêntico incluem a hipótese de que o código produzido por agentes aumente a dívida técnica e o custo de manutenção, a carência de mecanismos de governança auditáveis e o deslocamento do gargalo para a revisão humana, já que um agente pode gerar mais alterações plausíveis do que uma equipe consegue examinar.