<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Fulvio Jorge da Silva</title>
    <description>The latest articles on DEV Community by Fulvio Jorge da Silva (@fulviojorge).</description>
    <link>https://dev.to/fulviojorge</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4117343%2F97a411eb-c006-4ea5-9f05-3aa7c626c22d.jpg</url>
      <title>DEV Community: Fulvio Jorge da Silva</title>
      <link>https://dev.to/fulviojorge</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fulviojorge"/>
    <language>en</language>
    <item>
      <title>SDD — Spec-Driven Development: o caminho para a qualidade na era do desenvolvimento com IA</title>
      <dc:creator>Fulvio Jorge da Silva</dc:creator>
      <pubDate>Wed, 09 Sep 2026 10:46:45 +0000</pubDate>
      <link>https://dev.to/fulviojorge/sdd-spec-driven-development-o-caminho-para-a-qualidade-na-era-do-desenvolvimento-com-ia-4b68</link>
      <guid>https://dev.to/fulviojorge/sdd-spec-driven-development-o-caminho-para-a-qualidade-na-era-do-desenvolvimento-com-ia-4b68</guid>
      <description>&lt;p&gt;A IA já escreve código. Muito código. Em poucos meses, "pedir para o agente fazer" virou parte do dia a dia de qualquer time de engenharia. Mas há um detalhe incômodo: a IA escreve rápido, e escreve confiante — inclusive quando está errada. Times maduros começam a perceber que o gargalo deixou de ser digitar código e passou a ser garantir que o código faz o que precisa fazer. É aqui que entra o Spec-Driven Development.&lt;/p&gt;

&lt;h2&gt;
  
  
  O problema do "vibe coding"
&lt;/h2&gt;

&lt;p&gt;A primeira geração de uso de IA em desenvolvimento ficou conhecida como vibe coding: você descreve a intenção em linguagem natural, o agente gera o código, você ajusta, repete. Funciona para protótipos. Mas em sistemas reais aparecem três sintomas crônicos:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Requisitos implícitos viram bugs.&lt;/strong&gt; O que estava "óbvio" na cabeça de quem pediu não estava no prompt.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Context pollution.&lt;/strong&gt; O agente lê milhares de linhas de código tentando deduzir o que você quer e alucina nas lacunas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drift.&lt;/strong&gt; A cada nova sessão, o agente "esquece" decisões anteriores. Pequenas inconsistências se acumulam até virarem retrabalho.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é Spec-Driven Development
&lt;/h2&gt;

&lt;p&gt;Spec-Driven Development (SDD) inverte a relação tradicional entre código e documentação. Em vez da especificação ser um anexo que envelhece esquecido em algum Confluence, ela passa a ser a fonte da verdade. O código é o artefato derivado — gerado e validado contra o contrato.&lt;/p&gt;

&lt;p&gt;A frase que resume a filosofia, cunhada pelo time do GitHub Spec Kit: "specifications do not serve code — code serves specifications".&lt;/p&gt;

&lt;p&gt;Para um agente de IA, isso muda tudo. Em vez de inferir intenção a partir de prompts soltos, ele recebe um documento estruturado, com critérios de aceitação verificáveis, e implementa contra esse contrato. Os relatórios iniciais de adoção em GitHub e AWS apontam taxa de sucesso na primeira tentativa de 3 a 10 vezes maior em tarefas não-triviais.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como funciona, na prática
&lt;/h2&gt;

&lt;p&gt;Os dois frameworks mais maduros — GitHub Spec Kit e AWS Kiro — convergem em um fluxo de quatro fases:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Specificar.&lt;/strong&gt; Você escreve o quê e por quê, sem escolher stack. User stories, critérios de aceitação em notação EARS ("When [condição], the system shall [comportamento]"), modelo de domínio. É aqui que o esforço humano rende mais.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Planejar.&lt;/strong&gt; Agora sim, como: stack, arquitetura, decisões técnicas. A spec funcional já está congelada; o plano técnico é um documento separado que pode evoluir sem mexer no contrato.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Tasks.&lt;/strong&gt; O agente decompõe a spec + plano em tarefas pequenas, executáveis, cada uma ligada a um critério de aceitação. Isso é o que torna o trabalho rastreável.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Implementar.&lt;/strong&gt; O agente executa as tarefas. Cada PR é validado contra a spec — testes de contrato, testes E2E cobrindo cada critério EARS, gates de qualidade automáticos.&lt;/p&gt;

&lt;p&gt;Quando algo muda, a mudança entra pela spec primeiro. Nunca pelo código direto. É essa disciplina que elimina o drift.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que isso importa agora
&lt;/h2&gt;

&lt;p&gt;Três motivos práticos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O custo de gerar código caiu para perto de zero.&lt;/strong&gt; O que antes era escasso (linhas de código) virou abundante. O que continua escasso é clareza sobre o que construir. SDD coloca o esforço onde ele rende.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Front-end e back-end andam em paralelo.&lt;/strong&gt; Quando o contrato (OpenAPI, GraphQL, JSON Schema) existe antes do código, o front-end gera tipos e mocks, o back-end implementa endpoints conformes, e ambos se encontram no CI. Equipes relatam até 75% de redução no tempo de ciclo para mudanças de API, porque incompatibilidades aparecem na revisão da spec, não em produção.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A spec é o melhor contexto para o agente.&lt;/strong&gt; Sem spec, a IA tem que ler o repositório inteiro tentando entender o sistema. Com spec, ela tem o contrato. O agente fica mais barato, mais rápido e mais preciso — e o humano fica livre para o trabalho de pensar.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que muda no papel do desenvolvedor
&lt;/h2&gt;

&lt;p&gt;A pergunta que aparece toda vez: "se a IA escreve o código, o que sobra para mim?"&lt;/p&gt;

&lt;p&gt;Sobra o mais difícil — e o mais interessante. Modelar o problema. Definir critérios de aceitação que cobrem os edge cases. Revisar specs com olho de quem entende negócio e sistema. Decidir arquitetura. Validar que o resultado faz o que precisa fazer.&lt;/p&gt;

&lt;p&gt;O desenvolvedor não desaparece. Ele sobe de nível. Vira o arquiteto da intenção — e delega a implementação para o agente.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por onde começar
&lt;/h2&gt;

&lt;p&gt;Se você quer experimentar SDD na próxima feature:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Antes de abrir o editor, escreva um spec.md com user stories e critérios EARS. (Easy Approach to Requirements Syntax ou Abordagem Fácil para a Sintaxe de Requisitos)&lt;/li&gt;
&lt;li&gt;Se for uma API, escreva o openapi.yaml ANTES de codar qualquer endpoint.&lt;/li&gt;
&lt;li&gt;Decomponha em tarefas pequenas e referenciáveis ("T-03 implementa o critério de aceitação X").&lt;/li&gt;
&lt;li&gt;Use o agente de IA com o spec.md anexado como contexto — não como prompt solto.&lt;/li&gt;
&lt;li&gt;Bloqueie merge se algum critério EARS não tiver teste cobrindo.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Para quem quer um cinto de ferramentas pronto: &lt;strong&gt;GitHub Spec Kit&lt;/strong&gt; (open-source, integra com Copilot, Claude Code, Gemini CLI) e &lt;strong&gt;AWS Kiro&lt;/strong&gt; (IDE agêntica com fluxo Requirements → Design → Tasks nativo) são os pontos de partida mais sólidos hoje. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/github/spec-kit" rel="noopener noreferrer"&gt;https://github.com/github/spec-kit&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Spec-Driven Development não é uma moda nem um framework a mais. É a resposta natural a uma mudança estrutural: o código virou commodity, a intenção virou o produto. Quem dominar essa transição vai entregar mais, com menos retrabalho, e vai manter a qualidade que os times tradicionais demoraram décadas para conquistar — em vez de jogá-la fora em nome da velocidade.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A IA é uma ótima implementadora. Mas alguém ainda precisa dizer o que construir. SDD é como esse "alguém" passa a falar.&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  SpecDrivenDevelopment #IA #DesenvolvimentoDeSoftware #Engenharia #GitHub #AWS #ProductivityWithAI
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>architecture</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
