<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Inteligência artificial — Blog AreaCli</title><link>https://blog.areacli.com/tags/inteligencia-artificial/</link><description>Negócios e tecnologia vistos de dentro de uma operação de crédito e cobrança: estratégia, dados, canais digitais e produto.</description><language>pt-BR</language><lastBuildDate>Sun, 18 Oct 2026 17:16:08 -0300</lastBuildDate><atom:link href="https://blog.areacli.com/tags/inteligencia-artificial/index.xml" rel="self" type="application/rss+xml"/><item><title>Spec-driven development: IA sem especificação sai caro</title><link>https://blog.areacli.com/spec-driven-development/</link><guid isPermaLink="true">https://blog.areacli.com/spec-driven-development/</guid><pubDate>Sun, 18 Oct 2026 17:16:00 -0300</pubDate><dc:creator>Paulo Castilho</dc:creator><category>Tecnologia</category><description>&lt;p>O que é spec-driven development e por que, com IA, começar a desenvolver sem a especificação completa deixa de ser atalho e vira retrabalho em escala.&lt;/p>&lt;p>Spec-driven development, ou desenvolvimento guiado por especificação, é escrever e acordar o que o software precisa fazer antes de escrever o código, e usar esse documento como fonte de verdade para as pessoas e para os agentes de IA que vão programar. A ideia ganhou nome e ferramentas em 2025, mas resolve um problema antigo: times que começam a desenvolver sem saber direito o que estão construindo.&lt;/p>
&lt;p>Com IA, esse problema muda de escala. Escrever código ficou barato e rápido; decidir o que construir continua caro e lento. Quem pula a especificação não economiza esse custo, só o empurra para depois, quando ele aparece como retrabalho, defeito em produção e funcionalidade que ninguém pediu do jeito que foi entregue.&lt;/p>
&lt;h2 id="o-que-e-spec-driven-development">O que é spec-driven development&lt;a class="ancora" href="#o-que-e-spec-driven-development" aria-label="Link para a seção: O que é spec-driven development">#&lt;/a>&lt;/h2>
&lt;p>A engenheira Birgitta Böckeler, da Thoughtworks, resume a prática como escrever uma especificação antes de pedir à IA que escreva o código, de modo que o documento passe a ser a fonte de verdade para humanos e agentes (&lt;a href="https://martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.html" rel="noopener">Böckeler, 2025&lt;/a>). Ela descreve três níveis de adoção:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Spec-first:&lt;/strong> a especificação é escrita antes e orienta a tarefa em andamento.&lt;/li>
&lt;li>&lt;strong>Spec-anchored:&lt;/strong> a especificação é mantida depois da entrega e guia a evolução e a manutenção da funcionalidade.&lt;/li>
&lt;li>&lt;strong>Spec-as-source:&lt;/strong> a especificação é o artefato principal; o código é gerado a partir dela e ninguém o edita diretamente.&lt;/li>
&lt;/ul>
&lt;p>As ferramentas apareceram em sequência. A Amazon lançou o Kiro, um ambiente de desenvolvimento que conduz o trabalho por requisitos, desenho técnico e tarefas. Em setembro de 2025, o GitHub publicou o &lt;a href="https://github.blog/ai-and-ml/generative-ai/spec-driven-development-with-ai-get-started-with-a-new-open-source-toolkit/" rel="noopener">Spec Kit&lt;/a>, um kit de código aberto que organiza o trabalho em quatro etapas com revisão humana entre elas: especificar, planejar, quebrar em tarefas e implementar. O Tessl aposta no nível mais radical, em que só a especificação é mantida.&lt;/p>
&lt;p>A prática ainda está amadurecendo. A Thoughtworks colocou o spec-driven development na faixa &amp;ldquo;Avaliar&amp;rdquo; do seu &lt;a href="https://www.thoughtworks.com/radar/techniques/spec-driven-development" rel="noopener">Technology Radar de novembro de 2025&lt;/a>: vale experimentar, mas os fluxos ainda são elaborados, variam com o tamanho da tarefa e às vezes geram documentos longos demais para revisar.&lt;/p>
&lt;h2 id="o-vicio-antigo-a-especificacao-que-nunca-ficou-pronta">O vício antigo: a especificação que nunca ficou pronta&lt;a class="ancora" href="#o-vicio-antigo-a-especificacao-que-nunca-ficou-pronta" aria-label="Link para a seção: O vício antigo: a especificação que nunca ficou pronta">#&lt;/a>&lt;/h2>
&lt;p>Fred Brooks escreveu em 1986, no ensaio &lt;a href="https://www.cs.unc.edu/techreports/86-020.pdf" rel="noopener">&amp;ldquo;No Silver Bullet&amp;rdquo;&lt;/a>, que a parte mais difícil de construir um sistema é decidir com precisão o que construir. Nenhuma outra parte do trabalho prejudica tanto o resultado quando feita errado, e nenhuma é tão difícil de corrigir depois.&lt;/p>
&lt;p>Quarenta anos depois, muitas empresas ainda tratam essa parte como opcional. O padrão é conhecido:&lt;/p>
&lt;ul>
&lt;li>A área de negócio descreve o que quer em uma reunião ou em um parágrafo de chamado.&lt;/li>
&lt;li>O time de desenvolvimento começa a construir com o que tem, porque o prazo já está correndo.&lt;/li>
&lt;li>As regras que ninguém discutiu aparecem durante a homologação, ou depois da entrada em produção.&lt;/li>
&lt;li>O que falta vira &amp;ldquo;evolução&amp;rdquo; no backlog.&lt;/li>
&lt;/ul>
&lt;p>O problema não está em evoluir o software. Está em chamar de evolução o que é especificação atrasada. Uma evolução de verdade responde a algo que mudou: o mercado, a regulação, o comportamento do cliente. A falsa evolução corrige algo que já era conhecido, ou que deveria ter sido descoberto, antes da primeira linha de código: uma regra de negócio que duas áreas entendiam de jeitos diferentes, um caso de exceção que ninguém mapeou, uma negociação entre áreas que foi adiada porque era desconfortável.&lt;/p>
&lt;p>Esse arranjo costuma se apoiar numa leitura enviesada do &lt;a href="https://agilemanifesto.org/iso/ptbr/manifesto.html" rel="noopener">Manifesto Ágil&lt;/a>. O manifesto valoriza &amp;ldquo;software em funcionamento mais que documentação abrangente&amp;rdquo;, mas fecha dizendo que há valor nos itens da direita. Ele nunca defendeu começar sem saber o que se quer. Defendeu não gastar meses em documentos que ninguém lê.&lt;/p>
&lt;p>O custo desse vício aparece nas pesquisas. Em estudo de 2014 com profissionais de gestão de projetos, o PMI concluiu que 47% dos projetos malsucedidos não atingem seus objetivos por falhas no gerenciamento de requisitos (&lt;a href="https://www.pmi.org/learning/thought-leadership/pulse/core-competency-project-program-success" rel="noopener">PMI, Pulse of the Profession&lt;/a>). E corrigir tarde custa mais: Barry Boehm e Victor Basili registraram que encontrar e corrigir um problema depois da entrega costuma custar até 100 vezes mais do que na fase de requisitos e desenho, com a ressalva dos próprios autores de que, em sistemas pequenos e não críticos, a proporção fica mais perto de 5 para 1 (&lt;a href="https://www.cs.umd.edu/projects/SoftEng/ESEG/papers/82.78.pdf" rel="noopener">Boehm e Basili, IEEE Computer, 2001&lt;/a>). Seja 5 ou 100, a direção é a mesma.&lt;/p>
&lt;h2 id="o-que-muda-quando-a-ia-escreve-o-codigo">O que muda quando a IA escreve o código&lt;a class="ancora" href="#o-que-muda-quando-a-ia-escreve-o-codigo" aria-label="Link para a seção: O que muda quando a IA escreve o código">#&lt;/a>&lt;/h2>
&lt;p>Até pouco tempo, a lentidão de escrever código funcionava como freio. Enquanto o desenvolvedor implementava, havia tempo para perguntar, perceber a lacuna e voltar à área de negócio. Com agentes de IA, a implementação de uma funcionalidade inteira pode sair em minutos. O freio sumiu.&lt;/p>
&lt;p>Um agente de IA não para quando a especificação tem um buraco. Ele preenche o buraco com a suposição mais provável e entrega código que compila, passa nos testes que ele mesmo escreveu e parece correto. A regra de negócio que ninguém definiu passa a existir, decidida por um modelo estatístico, sem que ninguém tenha decidido. Multiplicado por dezenas de funcionalidades, o resultado é um sistema que cresce mais rápido do que a empresa consegue validar.&lt;/p>
&lt;p>As pesquisas sobre IA no desenvolvimento apontam nessa direção:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Mais mudança, menos estabilidade.&lt;/strong> O relatório DORA de 2024, do Google, estimou que cada aumento de 25% na adoção de IA veio acompanhado de queda de 1,5% na vazão de entregas e de 7,2% na estabilidade. O relatório atribui o efeito ao abandono de fundamentos como lotes pequenos de mudança e testes robustos (&lt;a href="https://cloud.google.com/blog/products/devops-sre/announcing-the-2024-dora-report" rel="noopener">Google Cloud, 2024&lt;/a>).&lt;/li>
&lt;li>&lt;strong>A IA amplifica o que já existe.&lt;/strong> Em 2025, com quase 5 mil respondentes, o DORA passou a observar relação positiva entre adoção de IA e vazão de entregas, mas a relação com a estabilidade continuou negativa. A conclusão central do relatório é que a IA não conserta um time: fortalece os times que já funcionam bem e intensifica os problemas dos que não funcionam. O mesmo estudo afirma que a IA rende mais quando está apontada para um problema claro (&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/announcing-the-2025-dora-report" rel="noopener">Google Cloud, 2025&lt;/a>).&lt;/li>
&lt;li>&lt;strong>A sensação de velocidade engana.&lt;/strong> Num experimento controlado do METR, no início de 2025, desenvolvedores experientes levaram 19% mais tempo para concluir tarefas com IA, embora acreditassem ter sido 20% mais rápidos. Os pesquisadores citaram como um dos fatores os projetos com muitos requisitos implícitos (&lt;a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/" rel="noopener">METR, 2025&lt;/a>). Com as ferramentas do fim de 2025, o próprio METR passou a medir ganhos pequenos, de 4% a 20%, e reformulou o estudo (&lt;a href="https://metr.org/blog/2026-02-24-uplift-update/" rel="noopener">METR, 2026&lt;/a>).&lt;/li>
&lt;/ul>
&lt;p>O ponto comum é que a IA acelera a execução, e execução acelerada só gera economia quando a direção está certa. Com a direção errada, a empresa paga duas vezes: pelo código gerado e pela correção do que foi gerado, agora em maior volume.&lt;/p>
&lt;h2 id="o-que-uma-especificacao-util-contem">O que uma especificação útil contém&lt;a class="ancora" href="#o-que-uma-especificacao-util-contem" aria-label="Link para a seção: O que uma especificação útil contém">#&lt;/a>&lt;/h2>
&lt;p>Especificar não significa produzir um documento de trezentas páginas. Uma boa especificação de funcionalidade cabe em poucas páginas e responde, sem ambiguidade, ao que um desenvolvedor ou um agente precisaria perguntar:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Problema e objetivo:&lt;/strong> que resultado de negócio a funcionalidade precisa gerar e como saber se gerou.&lt;/li>
&lt;li>&lt;strong>Quem usa e em que situação:&lt;/strong> os perfis de usuário e os momentos em que a funcionalidade entra em cena.&lt;/li>
&lt;li>&lt;strong>Regras de negócio com exemplos:&lt;/strong> cada regra acompanhada de casos concretos, com valores. &amp;ldquo;Desconto progressivo&amp;rdquo; é ambíguo; &amp;ldquo;acima de 10 unidades, 5% sobre o total&amp;rdquo; não é.&lt;/li>
&lt;li>&lt;strong>Critérios de aceite verificáveis:&lt;/strong> condições que permitem dizer sim ou não, sem interpretação.&lt;/li>
&lt;li>&lt;strong>Casos de exceção e erro:&lt;/strong> o que acontece quando o dado falta, quando a integração cai, quando o usuário faz o que não se esperava.&lt;/li>
&lt;li>&lt;strong>Fora do escopo:&lt;/strong> o que deliberadamente não será feito agora. É a parte que mais evita discussão depois.&lt;/li>
&lt;li>&lt;strong>Restrições:&lt;/strong> exigências legais, como a LGPD, desempenho, segurança e sistemas com os quais é preciso integrar.&lt;/li>
&lt;li>&lt;strong>Decisões em aberto:&lt;/strong> o que ainda não foi definido, com responsável e prazo. Uma decisão pendente registrada é muito melhor do que uma decisão escondida.&lt;/li>
&lt;/ul>
&lt;p>Ferramentas como o Spec Kit separam a especificação funcional, que diz o que e por quê, do plano técnico, que diz como. A separação ajuda a manter cada conversa com quem pode respondê-la: a área de negócio responde pela primeira, o time técnico pela segunda.&lt;/p>
&lt;h2 id="especificar-nao-e-voltar-ao-modelo-cascata">Especificar não é voltar ao modelo cascata&lt;a class="ancora" href="#especificar-nao-e-voltar-ao-modelo-cascata" aria-label="Link para a seção: Especificar não é voltar ao modelo cascata">#&lt;/a>&lt;/h2>
&lt;p>A objeção mais comum ao spec-driven development é que ele traria de volta o desenvolvimento em cascata, com meses de documentação antes de qualquer entrega. Não precisa ser assim. A especificação pode ser feita por funcionalidade ou por incremento, no mesmo ritmo das entregas. O que muda é a regra de entrada: nada vai para o desenvolvimento, humano ou automatizado, sem estar especificado e acordado entre as áreas envolvidas.&lt;/p>
&lt;p>Mudar de ideia continua permitido. A diferença é que a mudança passa a ser explícita: altera-se a especificação, registra-se o motivo e o código é refeito a partir dela. A conversa deixa de ser &amp;ldquo;o sistema não faz o que eu pedi&amp;rdquo; e passa a ser &amp;ldquo;decidimos mudar a regra por este motivo&amp;rdquo;.&lt;/p>
&lt;p>Também é preciso proporção. Böckeler relata que, ao usar essas ferramentas para corrigir um defeito pequeno, recebeu quatro histórias de usuário e dezesseis critérios de aceite, um excesso para o tamanho do problema. Especificação detalhada se justifica onde há regra de negócio, integração ou risco. Para um ajuste de texto em uma tela, basta uma linha.&lt;/p>
&lt;h2 id="por-onde-comecar">Por onde começar&lt;a class="ancora" href="#por-onde-comecar" aria-label="Link para a seção: Por onde começar">#&lt;/a>&lt;/h2>
&lt;p>A adoção não exige trocar de ferramenta nem reorganizar a área. Alguns passos já mudam o resultado:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Escolha uma funcionalidade piloto&lt;/strong> com regras de negócio reais e mais de uma área envolvida. É onde a diferença aparece.&lt;/li>
&lt;li>&lt;strong>Faça a área de negócio e o time técnico revisarem a especificação juntos&lt;/strong>, antes de qualquer código. As divergências entre áreas aparecem nessa revisão, e não na homologação.&lt;/li>
&lt;li>&lt;strong>Guarde a especificação junto com o código&lt;/strong>, no mesmo repositório e com o mesmo controle de versões. Uma especificação desatualizada é quase tão ruim quanto nenhuma.&lt;/li>
&lt;li>&lt;strong>Adote uma regra simples de entrada:&lt;/strong> sem critério de aceite, a tarefa não entra no ciclo de desenvolvimento.&lt;/li>
&lt;li>&lt;strong>Meça o antes e o depois:&lt;/strong> quantidade de &amp;ldquo;evoluções&amp;rdquo; que corrigem algo já conhecido, retrabalho depois da homologação e taxa de falhas em produção, um dos indicadores acompanhados pelo DORA.&lt;/li>
&lt;/ol>
&lt;p>A IA reduziu o custo de transformar uma decisão em código. Não reduziu o custo de tomar a decisão, nem o de corrigir uma decisão errada já espalhada pelo sistema. Empresas que usam a IA para acelerar a parte que já era rápida, sem resolver a parte que sempre foi difícil, ganham velocidade justamente onde ela mais custa.&lt;/p></description></item></channel></rss>