{"id":22732,"date":"2026-04-13T10:00:00","date_gmt":"2026-04-13T13:00:00","guid":{"rendered":"https:\/\/uds.com.br\/blog\/?p=22732"},"modified":"2026-04-06T17:41:21","modified_gmt":"2026-04-06T20:41:21","slug":"spec-driven-development-kiro","status":"publish","type":"post","link":"https:\/\/uds.com.br\/blog\/spec-driven-development-kiro\/","title":{"rendered":"Spec-driven development com Kiro: do requisito ao c\u00f3digo em produ\u00e7\u00e3o"},"content":{"rendered":"\n<p>Spec-driven development \u00e9 a metodologia de desenvolvimento de software que prioriza a especifica\u00e7\u00e3o documentada de requisitos, arquitetura e plano de implementa\u00e7\u00e3o antes da escrita de qualquer c\u00f3digo. O Kiro, IDE agentic da AWS, \u00e9 a primeira ferramenta a integrar essa metodologia diretamente na experi\u00eancia de desenvolvimento com IA, gerando especifica\u00e7\u00f5es em nota\u00e7\u00e3o EARS que podem ser convertidas em testes automatizados.<\/p>\n\n\n\n<p>Neste artigo, voc\u00ea vai entender como o spec-driven development funciona na pr\u00e1tica dentro do Kiro, por que ele resolve os problemas do vibe coding em escala e como adotar a metodologia de forma incremental no seu time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>O problema do vibe coding em escala<\/strong><\/h2>\n\n\n\n<p>A populariza\u00e7\u00e3o do vibe coding trouxe ganhos reais de produtividade para desenvolvedores individuais. Descrever o que voc\u00ea quer em linguagem natural e deixar a IA gerar o c\u00f3digo funciona bem para prot\u00f3tipos. O problema aparece quando esse padr\u00e3o \u00e9 adotado por times inteiros, sem coordena\u00e7\u00e3o.<\/p>\n\n\n\n<p>C\u00f3digo gerado por IA sem estrutura tende a ser verboso, sem ader\u00eancia aos padr\u00f5es do time e dif\u00edcil de manter. Cada desenvolvedor usando IA de forma diferente cria um codebase fragmentado. Os requisitos ficam na cabe\u00e7a de quem escreveu o prompt, n\u00e3o no reposit\u00f3rio. Quando algu\u00e9m sai do time, o conhecimento vai junto.<\/p>\n\n\n\n<p>O spec-driven development existe para resolver exatamente esses problemas. Em vez de ir direto do prompt para o c\u00f3digo, a metodologia for\u00e7a um processo estruturado que documenta decis\u00f5es, padroniza o fluxo entre desenvolvedores e gera artefatos rastre\u00e1veis.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 spec-driven development?<\/strong><\/h2>\n\n\n\n<p>Spec-driven development \u00e9 uma metodologia em que especifica\u00e7\u00f5es se tornam artefatos de primeira classe no reposit\u00f3rio, n\u00e3o documentos descart\u00e1veis. O desenvolvedor descreve o que quer construir, e a ferramenta conduz um processo de tr\u00eas fases antes de escrever c\u00f3digo: defini\u00e7\u00e3o de requisitos, proposta de design t\u00e9cnico e cria\u00e7\u00e3o de um plano de tarefas sequenciado.<\/p>\n\n\n\n<p>O Kiro da AWS \u00e9 o primeiro IDE a implementar spec-driven development de forma nativa. Quando voc\u00ea cria um novo spec no Kiro, o agente gera tr\u00eas arquivos Markdown versionados no Git, dentro da pasta <code>.kiro\/specs\/[nome-da-feature]\/<\/code> (veja a <a href=\"https:\/\/kiro.dev\/docs\/specs\/\" target=\"_blank\" rel=\"noreferrer noopener\">documenta\u00e7\u00e3o oficial de Specs<\/a>):<\/p>\n\n\n\n<p><strong>requirements.md<\/strong> \u2014 hist\u00f3rias de usu\u00e1rio com crit\u00e9rios de aceita\u00e7\u00e3o em nota\u00e7\u00e3o EARS.<\/p>\n\n\n\n<p><strong>design.md<\/strong> \u2014 arquitetura t\u00e9cnica, diagramas de fluxo e decis\u00f5es de stack.<\/p>\n\n\n\n<p><strong>tasks.md<\/strong> \u2014 plano de implementa\u00e7\u00e3o com tarefas discretas, sequenciadas por depend\u00eancia.<\/p>\n\n\n\n<p>Esses arquivos ficam no reposit\u00f3rio junto com o c\u00f3digo. N\u00e3o s\u00e3o rascunhos tempor\u00e1rios: s\u00e3o artefatos de projeto que documentam por que o c\u00f3digo existe da forma que existe.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p><em>&#8220;O tempo que voc\u00ea investe no planejamento com specs retorna multiplicado no c\u00f3digo que funciona de primeira.&#8221; &#8211; Desenvolvedor na comunidade DEV.to sobre spec-driven development<\/em><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>As tr\u00eas fases do spec-driven development no Kiro<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fase 1: Requirements \u2014 transformando ideias em requisitos verific\u00e1veis<\/strong><\/h3>\n\n\n\n<p>Quando voc\u00ea cria um novo spec e descreve uma funcionalidade em linguagem natural, o Kiro n\u00e3o gera c\u00f3digo: ele gera hist\u00f3rias de usu\u00e1rio estruturadas com crit\u00e9rios de aceita\u00e7\u00e3o em nota\u00e7\u00e3o EARS (Easy Approach to Requirements Syntax).<\/p>\n\n\n\n<p>EARS \u00e9 um padr\u00e3o de escrita de requisitos criado originalmente pela Rolls-Royce para sistemas de software cr\u00edticos. O formato segue uma estrutura espec\u00edfica: <strong>WHEN<\/strong> [evento], <strong>THE SYSTEM SHALL<\/strong> [comportamento]. Esse padr\u00e3o torna os requisitos verific\u00e1veis: \u00e9 poss\u00edvel escrever testes automatizados diretamente a partir de cada crit\u00e9rio de aceita\u00e7\u00e3o. A AWS detalhou a vis\u00e3o por tr\u00e1s dessa escolha no artigo <a href=\"https:\/\/kiro.dev\/blog\/kiro-and-the-future-of-software-development\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kiro and the future of AI spec-driven software development<\/a>.<\/p>\n\n\n\n<p><strong>Exemplo de requisito em nota\u00e7\u00e3o EARS gerado pelo Kiro:<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p><strong>Hist\u00f3ria:<\/strong> Como usu\u00e1rio, quero avaliar produtos para ajudar outros compradores.<\/p>\n\n\n\n<p><strong>Crit\u00e9rio 1:<\/strong> WHEN o usu\u00e1rio acessa a p\u00e1gina de um produto, THEN o sistema SHALL exibir a m\u00e9dia de avalia\u00e7\u00f5es e o total de reviews.<\/p>\n\n\n\n<p><strong>Crit\u00e9rio 2:<\/strong> WHEN o usu\u00e1rio envia uma avalia\u00e7\u00e3o sem texto, THEN o sistema SHALL exibir uma mensagem de erro solicitando ao menos 10 caracteres.<\/p>\n<\/blockquote>\n\n\n\n<p>O resultado \u00e9 armazenado em <code>requirements.md<\/code>. O Kiro tamb\u00e9m suporta dois workflows de spec: <strong>Requirements-First<\/strong> (define requisitos primeiro, depois gera design) e <strong>Design-First<\/strong> (come\u00e7a pela arquitetura e depois deriva os requisitos), conforme detalhado na <a href=\"https:\/\/kiro.dev\/docs\/specs\/feature-specs\/\" target=\"_blank\" rel=\"noreferrer noopener\">documenta\u00e7\u00e3o de Feature Specs<\/a>. A escolha depende do cen\u00e1rio: funcionalidades novas geralmente se beneficiam de Requirements-First, enquanto refatora\u00e7\u00f5es complexas podem partir do design.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fase 2: Design \u2014 arquitetura antes do c\u00f3digo<\/strong><\/h3>\n\n\n\n<p>Com os requisitos aprovados, o Kiro analisa o codebase existente e prop\u00f5e a arquitetura t\u00e9cnica necess\u00e1ria. Isso inclui decis\u00f5es de stack, novos componentes, mudan\u00e7as em componentes existentes, schemas de banco de dados e diagramas de sequ\u00eancia.<\/p>\n\n\n\n<p>O design \u00e9 armazenado em <code>design.md<\/code> e deve ser revisado pelo time antes da implementa\u00e7\u00e3o. Esse \u00e9 o momento ideal para identificar conflitos de arquitetura, depend\u00eancias problem\u00e1ticas e decis\u00f5es que v\u00e3o afetar a manuten\u00e7\u00e3o futura. Capturar um erro de design nessa fase custa minutos; captur\u00e1-lo em produ\u00e7\u00e3o custa dias.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fase 3: Tasks \u2014 implementa\u00e7\u00e3o sequenciada e rastre\u00e1vel<\/strong><\/h3>\n\n\n\n<p>A partir do design aprovado, o Kiro gera um plano de implementa\u00e7\u00e3o em <code>tasks.md<\/code>: uma lista de tarefas discretas, sequenciadas por depend\u00eancia, com descri\u00e7\u00e3o clara do que cada uma deve produzir. O desenvolvedor executa cada tarefa individualmente, acompanha o progresso em tempo real e ajusta antes de prosseguir.<\/p>\n\n\n\n<p>Toda a pasta <code>.kiro\/specs\/<\/code> deve ser versionada no reposit\u00f3rio junto com o c\u00f3digo. As specs documentam o contexto das decis\u00f5es tomadas, o que \u00e9 valioso para onboarding de novos desenvolvedores e para manuten\u00e7\u00e3o futura: qualquer pessoa do time pode entender por que o c\u00f3digo foi constru\u00eddo daquela forma.<\/p>\n\n\n\n<p>Para configurar o Kiro e criar seu primeiro spec na pr\u00e1tica, leia: <strong><a href=\"https:\/\/uds.com.br\/blog\/como-instalar-configurar-kiro-ide\">Como instalar e configurar o Kiro IDE<\/a><\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Spec-driven development tamb\u00e9m funciona para bugs<\/strong><\/h2>\n\n\n\n<p>Al\u00e9m de Feature Specs, o Kiro suporta <strong>Bugfix Specs<\/strong>: um fluxo dedicado para diagnosticar e corrigir bugs de forma estruturada. Em vez de ir direto para o c\u00f3digo com um fix, o Bugfix Spec conduz o desenvolvedor por uma an\u00e1lise que documenta o comportamento atual, o comportamento esperado e o que n\u00e3o deve mudar (regress\u00f5es). Isso \u00e9 especialmente \u00fatil em codebases grandes, onde um fix apressado pode quebrar algo em outro lugar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Vibe coding vs spec-driven development: comparativo em produ\u00e7\u00e3o<\/strong><\/h2>\n\n\n\n<p>Para quem est\u00e1 avaliando se vale a pena investir tempo em spec-driven development, a tabela abaixo compara os dois fluxos em crit\u00e9rios que importam para times de engenharia em produ\u00e7\u00e3o.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Crit\u00e9rio<\/th><th>Vibe Coding<\/th><th>Spec-Driven Development (Kiro)<\/th><\/tr><\/thead><tbody><tr><td>Documenta\u00e7\u00e3o de requisitos<\/td><td>N\u00e3o gerada automaticamente<\/td><td>Autom\u00e1tica, versionada no Git<\/td><\/tr><tr><td>Rastreabilidade de decis\u00f5es<\/td><td>Perdida ap\u00f3s a sess\u00e3o<\/td><td>Preservada em design.md<\/td><\/tr><tr><td>Consist\u00eancia entre devs<\/td><td>Baixa (cada um usa IA do seu jeito)<\/td><td>Alta (specs compartilhadas via Git)<\/td><\/tr><tr><td>Onboarding de novos devs<\/td><td>Lento (sem contexto documentado)<\/td><td>R\u00e1pido (specs explicam o porqu\u00ea)<\/td><\/tr><tr><td>Manuten\u00e7\u00e3o a longo prazo<\/td><td>Alta complexidade<\/td><td>Controlada com specs atualizadas<\/td><\/tr><tr><td>Cobertura de testes<\/td><td>Irregular<\/td><td>Derivada dos crit\u00e9rios de aceita\u00e7\u00e3o EARS<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>O spec-driven development n\u00e3o substitui o vibe coding em todos os cen\u00e1rios. Para prot\u00f3tipos r\u00e1pidos, explora\u00e7\u00e3o e features pequenas, o vibe coding continua sendo mais eficiente. O valor do spec-driven development aparece quando o c\u00f3digo precisa ir para produ\u00e7\u00e3o, ser mantido por meses e revisado por pessoas que n\u00e3o participaram da implementa\u00e7\u00e3o original.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<!-- Banner UDS x Kiro - 860x268px -->\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;display=swap\" rel=\"stylesheet\">\n<style>\n  @media (max-width: 600px) {\n    .uds-kiro-banner { flex-direction: column !important; }\n    .uds-kiro-img-col { width: 100% !important; height: 250px !important; }\n    .uds-kiro-img-col img { height: 100% !important; }\n  }\n<\/style>\n<div class=\"uds-kiro-banner\" style=\"\n  max-width: 860px;\n  min-height: 250px;\n  background-color: #F5F7F8;\n  border-radius: 16px;\n  border: 1px solid #E1E3E4;\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n  overflow: hidden;\n  font-family: 'Inter', sans-serif;\n  box-sizing: border-box;\n\">\n\n  <!-- Coluna esquerda: texto -->\n  <div style=\"\n    flex: 1;\n    padding: 25px 25px;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    gap: 10px;\n  \">\n    <!-- Logo UDS -->\n    <div style=\"display: flex; align-items: center; gap: 10px; margin-bottom: 4px;\">\n      <svg width=\"70\" height=\"29\" viewBox=\"0 0 70 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"height: 24px; width: auto; display: block;\">\n        <path d=\"M69.5405 24.1816H47.0586V28.4498H69.5405V24.1816Z\" fill=\"#008CFF\"\/>\n        <path d=\"M52.6886 7.25958C52.7632 7.99989 53.4198 8.53623 54.1511 8.53623H62.5156C62.9931 8.53623 63.4707 8.58156 63.9184 8.67976C65.6346 9.03481 67.1194 10.0169 68.1267 11.3766C68.7386 12.2076 69.1863 13.1745 69.3952 14.2245C69.4848 14.6853 69.5295 15.1613 69.5295 15.6447C69.5295 16.1282 69.4848 16.6117 69.3952 17.0649C68.8356 19.8524 66.6643 22.0431 63.9184 22.6097C63.4632 22.7079 62.9931 22.7532 62.5156 22.7532H47.0625V17.0649H62.4559C63.1871 17.0649 63.8438 16.521 63.9184 15.7883C64.0004 14.9422 63.3438 14.2245 62.523 14.2245H54.0914C53.6138 14.2245 53.1363 14.1792 52.6886 14.0886C50.9724 13.7335 49.4801 12.7439 48.4728 11.3842C47.8609 10.5532 47.4207 9.58627 47.2117 8.54379C47.1222 8.08298 47.0774 7.60707 47.0774 7.1236C47.0774 6.64013 47.1222 6.15666 47.2117 5.70341C47.7714 2.91592 49.9427 0.725202 52.696 0.158638C53.1363 0.0453251 53.6064 0 54.0914 0H69.5444C69.5444 3.14254 67.0299 5.6883 63.9258 5.6883H54.0914C53.2631 5.6883 52.6065 6.40595 52.6886 7.25958Z\" fill=\"#008CFF\"\/>\n        <path d=\"M44.852 5.6883C43.8671 3.9584 42.4419 2.5231 40.7406 1.52595C39.0841 0.551456 37.1665 0 35.122 0H23.8848V22.7532H35.122C37.1665 22.7532 39.0841 22.2018 40.7406 21.2348C42.4494 20.2377 43.8671 18.7948 44.852 17.0649C45.8071 15.3954 46.3593 13.4465 46.3593 11.3766C46.3593 9.30676 45.8071 7.36533 44.852 5.6883ZM35.122 17.0649H29.5034V5.6883H35.122C38.2261 5.6883 40.7406 8.24162 40.7406 11.3766C40.7406 14.5192 38.2261 17.0649 35.122 17.0649Z\" fill=\"#008CFF\"\/>\n        <path d=\"M22.4745 0V11.3766C22.4745 15.5918 20.2136 19.2632 16.8559 21.2273C15.2068 22.1942 13.2817 22.7532 11.2372 22.7532C9.18529 22.7532 7.27511 22.2018 5.61862 21.2348C2.26088 19.2632 0 15.5918 0 11.3766V0H5.61862V11.2255C5.61862 14.4134 8.20035 17.1253 11.3492 17.0649C14.401 17.0045 16.8633 14.4814 16.8633 11.3766V0H22.4745Z\" fill=\"#008CFF\"\/>\n      <\/svg>\n      <span style=\"color: #CBD5E0; font-size: 18px;\">|<\/span>\n      <span style=\"\n        font-size: 13px;\n        color: #6B7280;\n        font-weight: 500;\n      \">Especialista em Kiro<\/span>\n    <\/div>\n\n    <!-- T\u00edtulo -->\n    <h2 style=\"\n      margin: 0;\n      font-size: 20px;\n      font-weight: 700;\n      color: #202932;\n      line-height: 1.35;\n    \">\n      Pronto para adotar o spec-driven development?\n    <\/h2>\n\n    <!-- Texto normal -->\n    <p style=\"\n      margin: 0;\n      font-size: 15px;\n      color: #202932;\n      line-height: 1.6;\n    \">\n      Ajudamos sua equipe a implantar o fluxo de specs do Kiro na pr\u00e1tica, com treino e acompanhamento \u00e1gil.\n    <\/p>\n\n    <!-- Bot\u00e3o CTA -->\n    <a href=\"https:\/\/wa.me\/554430336652?text=Ol%C3%A1%2C%20estava%20no%20blog%20da%20UDS%20e%20tenho%20interesse%20no%20Workshop%20Kiro\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"\n      display: inline-block;\n      background-color: #9046FF;\n      color: #ffffff;\n      text-decoration: none;\n      font-size: 14px;\n      font-weight: 600;\n      padding: 13px 24px;\n      border-radius: 50px;\n      margin-top: 6px;\n      width: fit-content;\n      transition: background-color 0.2s ease;\n    \" onmouseover=\"this.style.backgroundColor='#7a35e0'\" onmouseout=\"this.style.backgroundColor='#9046FF'\">\n      Implantar spec-driven no meu time  \ud83e\udc16\n    <\/a>\n  <\/div>\n\n  <!-- Coluna direita: imagem -->\n  <div class=\"uds-kiro-img-col\" style=\"width: 300px; flex-shrink: 0; overflow: hidden;\">\n    <img decoding=\"async\"\n      src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2026\/04\/kiro-banner-uds-2.png\"\n      alt=\"Kiro IDE screenshot\"\n      style=\"width: 100%; height: 100%; object-fit: cover; object-position: left center; display: block;\"\n    \/>\n  <\/div>\n\n<\/div>\n<!-- \/Banner UDS x Kiro -->\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Como integrar spec-driven development ao processo do time<\/strong><\/h2>\n\n\n\n<p>A ado\u00e7\u00e3o do spec-driven development n\u00e3o exige uma revolu\u00e7\u00e3o no processo existente. A recomenda\u00e7\u00e3o, baseada na experi\u00eancia da UDS com clientes reais, \u00e9 come\u00e7ar de forma incremental:<\/p>\n\n\n\n<p><strong>1. Piloto.<\/strong> Escolha uma funcionalidade nova (n\u00e3o urgente) para ser desenvolvida com o fluxo completo de specs. Documente o tempo investido em cada fase para ter dados de compara\u00e7\u00e3o.<\/p>\n\n\n\n<p><strong>2. Retrospectiva.<\/strong> Ap\u00f3s a entrega, compare com uma funcionalidade similar desenvolvida sem specs: qualidade do c\u00f3digo, n\u00famero de bugs, facilidade de code review e tempo total de entrega.<\/p>\n\n\n\n<p><strong>3. Templates via steering files.<\/strong> Crie steering files que guiem o Kiro a gerar specs no formato que o time prefere. Por exemplo: specs que sempre incluam testes escritos antes do c\u00f3digo (TDD) ou que sigam um template espec\u00edfico de design.<\/p>\n\n\n\n<p><strong>4. Expans\u00e3o gradual.<\/strong> Adote specs para todas as novas funcionalidades. Funcionalidades de manuten\u00e7\u00e3o podem continuar no fluxo existente at\u00e9 o time ganhar confian\u00e7a com a metodologia.<\/p>\n\n\n\n<p>Para configurar steering files que otimizem o spec-driven development, leia: <strong><a href=\"https:\/\/uds.com.br\/blog\/kiro-steering-files-configuracao\">Steering Files no Kiro: como dar contexto persistente ao agente<\/a><\/strong>.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Perguntas frequentes sobre spec-driven development<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Spec-driven development \u00e9 mais lento que vibe coding?<\/strong><\/h3>\n\n\n\n<p>A fase de planejamento adiciona tempo no in\u00edcio do processo, mas reduz significativamente o retrabalho, os bugs em produ\u00e7\u00e3o e o tempo de code review. Times que adotaram spec-driven development com o Kiro relatam que o tempo total de entrega de funcionalidades complexas caiu de semanas para dias, porque o c\u00f3digo gerado a partir de specs bem definidas precisa de menos itera\u00e7\u00f5es para ficar pronto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Posso usar spec-driven development sem o Kiro?<\/strong><\/h3>\n\n\n\n<p>A metodologia pode ser aplicada com qualquer ferramenta (inclusive existe o GitHub Spec Kit, que \u00e9 open source). A diferen\u00e7a \u00e9 que o Kiro \u00e9 o \u00fanico IDE que integra as tr\u00eas fases (requirements, design, tasks) de forma nativa, com gera\u00e7\u00e3o autom\u00e1tica em nota\u00e7\u00e3o EARS, rastreamento de progresso embutido e sincroniza\u00e7\u00e3o entre specs e c\u00f3digo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>O que \u00e9 a nota\u00e7\u00e3o EARS?<\/strong><\/h3>\n\n\n\n<p>EARS (Easy Approach to Requirements Syntax) \u00e9 um padr\u00e3o de escrita de requisitos criado pela Rolls-Royce para especificar sistemas de software de forma n\u00e3o amb\u00edgua. O formato segue a estrutura WHEN [evento], THE SYSTEM SHALL [comportamento]. O Kiro usa EARS porque os crit\u00e9rios gerados nesse formato podem ser diretamente convertidos em testes automatizados, criando uma ponte entre especifica\u00e7\u00e3o e valida\u00e7\u00e3o.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>As specs ficam desatualizadas quando o c\u00f3digo muda?<\/strong><\/h3>\n\n\n\n<p>O Kiro permite sincronizar specs com o c\u00f3digo: voc\u00ea pode pedir ao agente que atualize as specs ap\u00f3s mudan\u00e7as na implementa\u00e7\u00e3o, ou atualizar as specs manualmente para gerar novas tarefas. O ideal \u00e9 tratar specs como artefatos vivos, revisados a cada sprint junto com o c\u00f3digo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Spec-driven development funciona para projetos legados?<\/strong><\/h3>\n\n\n\n<p>Sim, mas com adapta\u00e7\u00e3o. Para codebases existentes, o fluxo de Bugfix Specs \u00e9 o ponto de entrada mais natural: cada corre\u00e7\u00e3o de bug passa por uma an\u00e1lise estruturada antes do fix. Para novas funcionalidades em projetos legados, o fluxo completo de Feature Specs funciona normalmente.<\/p>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Spec-driven development \u00e9 mais lento que vibe coding?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"A fase de planejamento adiciona tempo no in\u00edcio, mas reduz retrabalho, bugs em produ\u00e7\u00e3o e tempo de code review. Times que adotaram spec-driven development com o Kiro relatam que o tempo total de entrega de funcionalidades complexas caiu de semanas para dias.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Posso usar spec-driven development sem o Kiro?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Sim, a metodologia pode ser aplicada com qualquer ferramenta, inclusive o GitHub Spec Kit (open source). A diferen\u00e7a \u00e9 que o Kiro \u00e9 o \u00fanico IDE que integra as tr\u00eas fases (requirements, design, tasks) de forma nativa, com gera\u00e7\u00e3o autom\u00e1tica em nota\u00e7\u00e3o EARS e rastreamento de progresso embutido.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"O que \u00e9 a nota\u00e7\u00e3o EARS?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"EARS (Easy Approach to Requirements Syntax) \u00e9 um padr\u00e3o de escrita de requisitos criado pela Rolls-Royce para especificar sistemas de software de forma n\u00e3o amb\u00edgua. O formato segue a estrutura WHEN [evento], THE SYSTEM SHALL [comportamento]. O Kiro usa EARS porque os crit\u00e9rios podem ser convertidos diretamente em testes automatizados.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"As specs ficam desatualizadas quando o c\u00f3digo muda?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"O Kiro permite sincronizar specs com o c\u00f3digo: voc\u00ea pode pedir ao agente que atualize as specs ap\u00f3s mudan\u00e7as na implementa\u00e7\u00e3o, ou atualizar manualmente para gerar novas tarefas. O ideal \u00e9 tratar specs como artefatos vivos, revisados a cada sprint.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Spec-driven development funciona para projetos legados?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Sim, com adapta\u00e7\u00e3o. Para codebases existentes, o fluxo de Bugfix Specs \u00e9 o ponto de entrada mais natural: cada corre\u00e7\u00e3o de bug passa por uma an\u00e1lise estruturada antes do fix. Para novas funcionalidades em projetos legados, o fluxo completo de Feature Specs funciona normalmente.\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Spec-driven development \u00e9 a metodologia do Kiro que documenta requisitos, design e tarefas antes de escrever c\u00f3digo. Saiba como usar.<\/p>\n","protected":false},"author":35,"featured_media":22768,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[864,993],"tags":[],"yst_prominent_words":[],"_links":{"self":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts\/22732"}],"collection":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/comments?post=22732"}],"version-history":[{"count":10,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts\/22732\/revisions"}],"predecessor-version":[{"id":22959,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts\/22732\/revisions\/22959"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/media\/22768"}],"wp:attachment":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/media?parent=22732"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/categories?post=22732"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/tags?post=22732"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/yst_prominent_words?post=22732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}