Desenvolvimento 1 E 2
O que são desenvolvimento 1 e 2 e como funcionam na prática
Quando uma equipe de tecnologia fala em desenvolvimento 1 e 2, está geralmente se referindo às duas fases iniciais de um projeto de software: a fase de concepção e estruturação (desenvolvimento 1) e a fase de implementação e refinamento (desenvolvimento 2). Não é uma nomenclatura oficial de nenhum padrão internacional. É um jeito que times brasileiros resolvem organizar o início do trabalho quando precisam entregar algo funcionando sem gastar meses em planejamento. O desenvolvimento 1 é onde tudo acontece no papel antes de qualquer linha de código ser escrita com seriedade. Você define o que o sistema vai fazer, mapeia os requisitos funcionais e não funcionais, escolhe a stack tecnológica e constrói protótipos de baixa fidelidade. Nessa etapa, documentos como o PRD (Product Requirements Document), wireframes e diagramas de fluxo são entregues. A maioria dos projetos que falham depois tem um desenvolvimento 1 mal executado. Faltou especificar um caso limite, alguém assumiu um requisito que nunca foi documentado, ou o backlog ficou tão solto que virou uma fonte infinita de retrabalho.
Entendendo desenvolvimento 1 e 2 no dia a dia
Já tive um projeto em que o cliente pediu um sistema de agendamento simples. No desenvolvimento 1, especifiquei regras de conflito de horários, fuso horário, e capacidade máxima por slot. Pensei que estava coberto de tudo. No desenvolvimento 2, quando a API do gateway de pagamento foi integrada, descobrimos que ele não enviava callback síncrono. O sistema aprovava agendamentos para horários já ocupados porque a confirmação de pagamento chegava em tempo diferente. Gastei três dias refazendo a lógica de sincronismo entre o banco de dados e o webhook. Lição: sempre simule o fluxo completo de pagamento antes de entrar no desenvolvimento 2. Teste de integração com sandbox não substitui teste com dados reais de callback. O desenvolvimento 2 é a parte de codificação propriamente dita. Aqui se escreve o código-fonte, se integra APIs externas, se configura o banco de dados, se fazem testes unitários e de integração. É onde a arquitetura do desenvolvimento 1 colide com a realidade. E a colisão costuma ser feia. Requirementes que pareciam claros no papel revelam contradições quando você precisa realmente implementá-los. Um campo que parecia opcional no wireframe se torna obrigatório quando o banco de dados impõe uma restrição de chave estrangeira. Uma coisa que poucos mencionam é que desenvolvimento 1 e 2 raramente são lineares. Na prática, você entra no desenvolvimento 2, descobre uma limitação técnica que exige mudar a arquitetura, volta para o desenvolvimento 1, refaz o documento, e volta ao desenvolvimento 2. Isso não é falha no processo. É o processo funcionando como deveria. O problema é quando a equipe trata essas idas e vindas como surpresas em vez de parte prevista do trabalho.
Outro ponto que vejo gente ignorar: a definição do que constitui "pronto" no final do desenvolvimento 1. Sem critérios claros de aceitação, o desenvolvimento 2 começa com ambiguidade. E ambiguidade em requisitos é o principal motor de bugs que chegam em produção. Eu uso uma checklist simples de 10 itens que preciso ver marcada antes de liberar a fase 1: requisitos priorizados, user stories escritas com critério INVEST, diagrama de entidade-relacionamento aprovado, API contracts definidos, wireframes de alta fidelidade para telas críticas, backlog ordenado por dependência técnica, estimativas de pontos de história para cada sprint, critérios de aceitação para cada user story, ambiente de staging configurado, e pipeline CI/CD mínimo funcionando. Se algum desses itens estiver pendente, eu não inicio o desenvolvimento 2.

Como estruturar seu desenvolvimento 1 e 2 para não perder tempo
A primeira coisa é entender que desenvolvimento 1 e 2 são fases com entregáveis distintos. Confundir isso é o erro mais comum que eu vejo em clientes e equipes jovens. Quem tenta codificar durante o desenvolvimento 1 está, na melhor das hipóteses, desperdiçando tempo refinando algo que ainda vai mudar. Na pior, está construindo software que ninguém pediu. No desenvolvimento 1, o formato de entrega recomendada inclui um repositório com o PRD atualizado, os wireframes no Figma ou ferramenta similar, o modelo do banco de dados documentado, e um cronograma de sprints com as histórias de usuário já estimadas. Tudo isso precisa estar acessível e versionado. Documentação que ninguém consulta não vale nada. No desenvolvimento 2, o formato de entrega muda completamente. Aqui você precisa de código funcional, testes passando, deploy em staging, e documentação técnica de integração. O PRD vira referência, não o documento vivo do dia a dia. A verdade está no código e nos testes automatizados.
Um detalhe técnico importante que a maioria dos tutoriais ignora: a comunicação entre desenvolvimento 1 e 2 depende inteiramente da qualidade dos contratos de API. Se sua equipe define endpoints, payloads e respostas no desenvolvimento 1 com OpenAPI/Swagger, o desenvolvimento 2 segue muito mais rápido. Se não define, cada desenvolvedor improvisa seu próprio formato, e na hora de integrar tudo vira um pesadelo de campos que existem em uma implementação mas não em outra. Eu passei uma semana inteira caçando um bug que era na verdade dois desenvolvedores usando chaves diferentes para o mesmo campo na resposta da API. Só resolvi porque parei de olhar o código e fui consultar o contrato Swagger que nunca tinha sido atualizado após a primeira versão. Se você está começando agora e quer um guia prático para desenvolver com desenvolvimento 1 e 2, o fluxo básico é: primeiro defina o problema com clareza, depois estruture a solução no papel, só então comece a codificar. Dentro dessa lógica, o desenvolvimento 1 consome cerca de 20 a 30 por cento do tempo total do projeto em condições normais. Projetos com alta incerteza técnica podem precisar de até 40 por cento nessa fase inicial. Qualquer coisa abaixo disso geralmente significa que você está pulando etapas que vão custar muito mais caro depois.
Quando desenvolvimento 1 e 2 não funcionam
Existe um cenário em que essa separação de fases simplesmente não se aplica: projetos de pesquisa e prototipação extrema. Se o objetivo é validar uma ideia completamente nova sem nenhuma referência de mercado, o desenvolvimento 1 pode se arrastar porque não há baseline para definir requisitos com confiança. Nesse caso, o que funciona melhor é um approccio iterativo curto, tipo sprints de uma semana, onde cada ciclo produz um mínimo funcional que é testado com usuários reais antes de avançar. Também não funciona bem em equipes muito pequenas, tipo dois ou três desenvolvedores em startup inicial. A sobrecarga documental do desenvolvimento 1 consome tempo que a equipe talvez preferisse gastar codando. Nesses casos, uma versão enxuta do desenvolvimento 1 — apenas user stories principais e um modelo de dados básico — costuma ser suficiente. O resto se resolve no caminho. O que eu recomendo como alternativa para quem não consegue estruturar um desenvolvimento 1 formal é o método de discovery sprint. São cinco dias intensos onde a equipe investiga o problema, entrevista usuários, propõe soluções e entrega um plano executável para o desenvolvimento 2. Funciona bem quando o prazo é apertado e o risco de construir a coisa errada é alto.

Downloads e recursos úteis
Não existe um pacote único de desenvolvimento 1 e 2 para baixar. O que existe são templates e ferramentas que ajudam a executar cada fase. Para o desenvolvimento 1, modelos de PRD gratuitos estão disponíveis em plataformas como Notion, Google Docs e Confluence. Ferramentas como Figma servem para wireframes, e o Lucidchart ou Draw.io ajudam com diagramas de fluxo e modelo entidade-relacionamento. Para o desenvolvimento 2, repositórios Git com estruturas pré-definidas de pastas, templates de README técnico, e pipelines GitHub Actions ou GitLab CI prontos para uso reduzem o tempo de configuração inicial de horas para minutos. Um template que eu mantenho atualizado e compartilho com equipes novas inclui: estrutura de pastas do projeto, padrão de commits, configurações iniciais de ESLint e Prettier, scripts de build e deploy, e um arquivo de variáveis de ambiente com todos os campos necessários. Ter isso pronto antes de iniciar o desenvolvimento 2 elimina pelo menos duas horas de configuração para cada novo membro da equipe.
Galeria
-
Desenvolvimento 1 na redação | PDF -
2023 ONLINE REDAÇÃO AULA 08 Estrutura-do-Desenvolvimento (2) - 2-6 | PDF -
Como iniciar o desenvolvimento 1 | Dicas enem, Redação enem dicas ...