{"version":"1.0","provider_name":"Blog jlopez","provider_url":"https:\/\/www.pacgrafica.com\/blog","author_name":"jlopez","author_url":"https:\/\/www.pacgrafica.com\/blog\/author\/jlopez\/","title":"Spect Driven Development - Blog jlopez","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"b1eIoHh7WQ\"><a href=\"https:\/\/www.pacgrafica.com\/blog\/spect-driven-development\/\">Spect Driven Development<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.pacgrafica.com\/blog\/spect-driven-development\/embed\/#?secret=b1eIoHh7WQ\" width=\"600\" height=\"338\" title=\"\u00abSpect Driven Development\u00bb \u2014 Blog jlopez\" data-secret=\"b1eIoHh7WQ\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/www.pacgrafica.com\/blog\/wp-includes\/js\/wp-embed.min.js\n<\/script>\n","description":"Qu\u00e9 es Spec Driven Development Spec Driven Development propone, en esencia\u00a0que la especificaci\u00f3n preceda y gu\u00ede al c\u00f3digo. No es un marco de trabajo ni una metodolog\u00eda prescriptiva como scrum. Es m\u00e1s bien un enfoque de trabajo que propone: Escribir primero una especificaci\u00f3n clara\u00a0de lo que se quiere construir: objetivos, reglas de negocio, criterios de aceptaci\u00f3n, restricciones t\u00e9cnicas. Usar esa especificaci\u00f3n como fuente\u00a0tanto para humanos como para agentes de IA. Generar c\u00f3digo a partir de la\u00a0spec, no de prompts improvisados. Como lo resume GitHub en su documentaci\u00f3n de Spec Kit:\u00a0\u00abEn este nuevo mundo, mantener software significa evolucionar especificaciones. [&#8230;] El c\u00f3digo es el enfoque de \u00faltima milla.\u00bb[3] Referente 1 En el contexto de Spec-Driven Development (SDD) \u2014o Desarrollo Guiado por Especificaciones\u2014 y de acuerdo con el an\u00e1lisis de la fuente compartida, el rol del programador tradicional se transforma profundamente. Deja de ser un simple \u00abescriba\u00bb de l\u00edneas de c\u00f3digo (evitando caer en el descontrol del vibe coding) para convertirse en un Arquitecto de Especificaciones que dirige a los agentes de Inteligencia Artificial. A continuaci\u00f3n, se detallan 4 funciones b\u00e1sicas que realiza un profesional de la programaci\u00f3n bajo este enfoque de trabajo: 1. Redacci\u00f3n y Modelado de la Especificaci\u00f3n (The Spec) La funci\u00f3n principal y m\u00e1s cr\u00edtica del trabajador ya no es picar c\u00f3digo directamente, sino estructurar el pensamiento antes de actuar. El programador debe redactar un documento t\u00e9cnico sumamente claro, riguroso y versionado (que funciona como un super-prompt). \u00bfQu\u00e9 hace exactamente?: Define con precisi\u00f3n los objetivos del software, las reglas de negocio, los criterios de aceptaci\u00f3n, las restricciones t\u00e9cnicas y los flujos de manejo de errores, asegurando que el documento sea legible tanto para humanos como para los agentes de IA. 2. Dise\u00f1o del Plan T\u00e9cnico y Descomposici\u00f3n de Tareas Una vez definida la especificaci\u00f3n a nivel de producto o caracter\u00edstica (feature), el desarrollador debe trazar la estrategia t\u00e9cnica para que las herramientas de IA no tengan que improvisar ni \u00abadivinar\u00bb la arquitectura. \u00bfQu\u00e9 hace exactamente?: Utiliza herramientas del ecosistema SDD (como GitHub Spec Kit o Kiro) para ejecutar flujos estructurados que van desde los requisitos iniciales hasta un plan concreto. Descompone la funcionalidad general en un conjunto de tareas (tasks) t\u00e9cnicas viables, ordenadas y acotadas. 3. Orquestaci\u00f3n y Supervisi\u00f3n de Agentes de IA El desarrollador act\u00faa como el director de un equipo de \u00abprogramadores junior virtuales\u00bb. El c\u00f3digo de \u00faltima milla es generado de forma masiva y veloz por los Modelos de Lenguaje (LLMs), pero la ejecuci\u00f3n depende de las instrucciones de la especificaci\u00f3n. \u00bfQu\u00e9 hace exactamente?: Alimenta a las herramientas de desarrollo con la especificaci\u00f3n y supervisa c\u00f3mo los agentes automatizados traducen esas directrices en archivos de c\u00f3digo fuente, manteniendo el control absoluto de la l\u00f3gica de negocio implantada. 4. Auditor\u00eda de C\u00f3digo, Pruebas y Validaci\u00f3n (Review) Debido a que la IA opera bajo un modelo probabil\u00edstico (no determinista) y puede llegar a ignorar reglas por exceso de celo o cometer fallos sutiles, la intervenci\u00f3n humana en el control de calidad es indispensable. \u00bfQu\u00e9 hace exactamente?: El trabajador revisa los resultados, valida que los archivos generados cumplan fielmente con los criterios de aceptaci\u00f3n de la especificaci\u00f3n y complementa el flujo aplicando pruebas de calidad tradicionales (como Test Driven Development &#8211; TDD para el c\u00f3digo unitario o Behavior Driven Development &#8211; BDD para verificar el comportamiento de extremo a extremo del sistema). En resumen: En la labor diaria de SDD, el profesional cambia el foco del \u00ab\u00bfC\u00f3mo lo programo?\u00bb al \u00ab\u00bfQu\u00e9 quiero construir y por qu\u00e9?\u00bb, elevando su nivel de abstracci\u00f3n para garantizar la calidad, consistencia y mantenimiento de la base de c\u00f3digo."}