<?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: Pablo Silva</title>
    <description>The latest articles on DEV Community by Pablo Silva (@pablo_silva_f90e067b917d2).</description>
    <link>https://dev.to/pablo_silva_f90e067b917d2</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%2F4215509%2Ff9549a0d-2e78-4d66-896d-9631ae3c12d7.jpg</url>
      <title>DEV Community: Pablo Silva</title>
      <link>https://dev.to/pablo_silva_f90e067b917d2</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pablo_silva_f90e067b917d2"/>
    <language>en</language>
    <item>
      <title>SDD desde cero: cómo dejé de tirar código de Claude Code a la basura</title>
      <dc:creator>Pablo Silva</dc:creator>
      <pubDate>Thu, 29 Oct 2026 14:25:38 +0000</pubDate>
      <link>https://dev.to/pablo_silva_f90e067b917d2/sdd-desde-cero-como-deje-de-tirar-codigo-de-claude-code-a-la-basura-21pf</link>
      <guid>https://dev.to/pablo_silva_f90e067b917d2/sdd-desde-cero-como-deje-de-tirar-codigo-de-claude-code-a-la-basura-21pf</guid>
      <description>&lt;p&gt;Hace unos meses tiré a la basura dos días de trabajo de Claude Code.&lt;/p&gt;

&lt;p&gt;No estaba mal hecho. Estaba muy bien hecho. El problema es que no era lo que hacía falta: le había pedido algo en una frase, se puso a programar y, cuando lo vi, ya era tarde.&lt;/p&gt;

&lt;p&gt;Desde entonces trabajo con &lt;strong&gt;SDD&lt;/strong&gt; (&lt;em&gt;Spec-Driven Development&lt;/em&gt;, desarrollo guiado por especificaciones). Este artículo es lo que me habría gustado leer al empezar: qué es, por qué cambia tanto con agentes de código y cómo probarlo en una tarde.&lt;/p&gt;

&lt;h2&gt;
  
  
  El problema: el agente es rápido, pero no lee la mente
&lt;/h2&gt;

&lt;p&gt;Un agente de código hace en minutos lo que antes llevaba días. Pero trabaja con lo que entiende de un mensaje. Si el encargo era ambiguo, construye otra cosa, y te das cuenta al revisar el código, cuando ya hay mil líneas.&lt;/p&gt;

&lt;p&gt;Y hay un segundo problema que se ve menos: quien pidió el cambio (alguien de negocio, de soporte, un cliente) no tiene forma de saber cómo va. Pregunta en el chat, alguien mira el código, contesta «casi está».&lt;/p&gt;

&lt;h2&gt;
  
  
  La idea: primero se acuerda, después se programa
&lt;/h2&gt;

&lt;p&gt;SDD es una regla sencilla: &lt;strong&gt;antes de tocar código, se escribe qué se va a construir y una persona lo aprueba.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Con agentes, ese papel lo escribe el propio agente. Tú solo lo lees y dices sí o no. El malentendido sale antes de programar, cuando arreglarlo cuesta una frase, y no después.&lt;/p&gt;

&lt;h2&gt;
  
  
  Las palabras que vas a oír
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Requisito.&lt;/strong&gt; Lo que tiene que poder hacer alguien cuando esté hecho, en palabras normales. &lt;em&gt;«Quien gestiona descarga las facturas del mes en un fichero.»&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Propuesta.&lt;/strong&gt; El plan del agente: qué va a cambiar, por qué y qué queda fuera.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Criterio de aceptación.&lt;/strong&gt; Cómo sabréis que está bien. &lt;em&gt;«El fichero se abre en Excel con sus tildes.»&lt;/em&gt; Cada requisito tiene al menos uno.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Especificación.&lt;/strong&gt; Cómo debe comportarse el sistema, escrito para que quede. El siguiente cambio parte de ahí.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tareas.&lt;/strong&gt; Los pasos del agente para hacerlo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aprobación.&lt;/strong&gt; El sí de una persona. Sin él, el agente no programa.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Un ejemplo de principio a fin
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Marta pide algo:&lt;/strong&gt; «Exportar las facturas del mes en CSV». Escribe tres requisitos: que quien gestiona pueda descargarlas, que se abran bien en Excel y que solo salgan las de su empresa.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;El agente escribe la propuesta.&lt;/strong&gt; Lee la tarea y escribe qué va a cambiar, qué queda fuera y cómo se comprobará cada requisito.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alguien la aprueba&lt;/strong&gt; o pide cambios. Hasta entonces, el agente no programa.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;El agente programa y prueba&lt;/strong&gt;, y al terminar comprueba cada criterio de aceptación contra lo acordado.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Marta lo ve llegar:&lt;/strong&gt; cada requisito pasa de «sin empezar» a «en desarrollo», «probado» y «en producción».&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  ¿No es más lento?
&lt;/h2&gt;

&lt;p&gt;Añade una parada: aprobar. En mi caso son cinco minutos leyendo mientras tomo mate. A cambio, se programa una vez lo acordado y no varias veces lo malentendido.&lt;/p&gt;

&lt;p&gt;No todo necesita SDD: un bug o una incidencia se arreglan y ya. SDD es para lo que cambia el comportamiento.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cómo probarlo esta tarde (sin herramientas de pago)
&lt;/h2&gt;

&lt;p&gt;La pieza base es &lt;strong&gt;&lt;a href="https://github.com/Fission-AI/OpenSpec" rel="noopener noreferrer"&gt;OpenSpec&lt;/a&gt;&lt;/strong&gt;, un formato abierto para que el agente escriba propuestas y especificaciones dentro de tu repositorio, en ficheros de texto.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @fission-ai/openspec@latest
&lt;span class="nb"&gt;cd &lt;/span&gt;tu-proyecto
openspec init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A partir de ahí, en Claude Code le pides que proponga el cambio antes de implementarlo. Te deja en &lt;code&gt;openspec/changes/&lt;/code&gt; la propuesta, las especificaciones y las tareas. Lo lees, corriges lo que no cuadre y le dices que adelante.&lt;/p&gt;

&lt;p&gt;Con esto ya tienes el 80 %: el agente piensa antes de programar y tú decides con el plan delante.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lo que me faltaba (y por qué acabé construyendo algo)
&lt;/h2&gt;

&lt;p&gt;OpenSpec resolvía mi parte. Pero la propuesta vivía en el repositorio, y quien pedía el cambio no la veía nunca. La aprobación era «lo leí y dije OK en el chat», y nadie fuera del terminal sabía en qué punto estaba cada requisito.&lt;/p&gt;

&lt;p&gt;Por eso hice &lt;strong&gt;&lt;a href="https://atalayahq.io/?utm_source=devto&amp;amp;utm_campaign=sdd-desde-cero" rel="noopener noreferrer"&gt;Atalaya&lt;/a&gt;&lt;/strong&gt;, un gestor de trabajo (tareas, sprints, Kanban) con SDD dentro: los requisitos se escriben en la tarea, el agente informa su propuesta por MCP, una persona aprueba en la tarea (el agente no puede aprobarse solo) y cada requisito enseña su estado hasta producción. Las especificaciones siguen siendo ficheros de OpenSpec en tu repo: si un día lo dejas, se quedan contigo.&lt;/p&gt;

&lt;p&gt;Está en acceso anticipado y es gratis. Pero lo importante del artículo no es la herramienta, es la regla: &lt;strong&gt;que el agente proponga y una persona decida antes de que se programe.&lt;/strong&gt; Empieza con OpenSpec a pelo y verás la diferencia.&lt;/p&gt;




&lt;p&gt;¿Cómo lo hacéis vosotros? ¿Revisáis lo que va a hacer el agente antes, o el código después? Me interesa mucho saber qué os funciona.&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>ai</category>
      <category>productivity</category>
      <category>spanish</category>
    </item>
  </channel>
</rss>
