DEV Community

Cover image for Más allá del "Vibe Coding": Guía para el Desarrollo Impulsado por Especificaciones (SDD)
Kevin Lupera
Kevin Lupera

Posted on

Más allá del "Vibe Coding": Guía para el Desarrollo Impulsado por Especificaciones (SDD)

En los últimos meses, hemos visto el auge del "vibe coding", un término acuñado por Andrej Karpathy para describir esa forma de programar donde simplemente lanzas prompts a una IA y esperas que "capte la vibra" de lo que quieres construir. Aunque es increíble para prototipos rápidos, este enfoque tiene un techo: el código suele desmoronarse cuando el proyecto crece o cuando necesitas rigor arquitectónico y seguridad.

Aquí es donde entra el Spec-Driven Development (SDD). No es solo una metodología; es un cambio de paradigma donde la especificación precede y guía al código.

¿Qué es realmente el SDD?

En el SDD, la especificación no es solo documentación que se escribe al final; es el producto mismo de la fase de pensamiento. Se convierte en el contrato contra el cual se implementa y se valida todo. La idea central es mover la ambigüedad "hacia arriba" en el proceso, donde resolverla es mucho más barato que hacerlo en la fase de código.

El Flujo de Trabajo en 4 Fases

Para implementar SDD de manera efectiva, el proceso suele dividirse en cuatro etapas claras, cada una con un "checkpoint" de validación humana:

  1. Specify (Especificar): Defines el "qué" y el "por qué". Te centras en las historias de usuario y los criterios de aceptación, no en la tecnología.
  2. Plan (Planificar): Aquí es donde entran los detalles técnicos. Defines el stack, la arquitectura y las restricciones.
  3. Tasks (Tareas): El agente de IA descompone el plan en unidades de trabajo pequeñas y testables (ej. "crear un endpoint de registro que valide el formato del email").
  4. Implement (Implementar): El agente ejecuta las tareas de forma secuencial. Tu rol aquí es verificar cambios enfocados en lugar de revisar "dumps" masivos de código.

Herramientas del Ecosistema

  • GitHub Spec Kit: Un toolkit de código abierto que utiliza archivos como constitution.md para definir principios innegociables del proyecto.
  • OpenSpec: Una alternativa ligera diseñada para trabajar en proyectos existentes (brownfield) sin necesidad de empezar desde cero. En lo personal utilizo esta en mi día a día.
  • MCPs (Model Context Protocol): Son fundamentales para dotar de contexto a la IA. Puedes conectar herramientas como Jira para historias de usuario, Figma para el diseño UI/UX o Context7 para asegurar que la IA use las versiones correctas de las librerías.

El Secreto del Éxito: Planificación Adversaria

Uno de los mayores riesgos de usar IAs como compañeros de planificación es que tienden a ser demasiado "complacientes" y aceptan tus premisas aunque estén mal. Para evitar esto, puedes introducir una dinámica de Planificación Adversaria.

En este modelo, usas dos roles de IA:

  • El Planner: Optimiza para la completitud de los pasos.
  • El Architect: Actúa como el "senior pesado" de la sala, cuestionando interfaces vagas, atacando partes del spec que no son falsificables y buscando fallos antes de que se escriba el código.

Conclusión: La Intención como Fuente de Verdad

Estamos pasando de una era donde "el código es la fuente de verdad" a una donde la intención es la fuente de verdad. El SDD no se trata de hacer más lento el desarrollo con burocracia, sino de asegurar que la IA trabaje sobre cimientos sólidos. Como bien dicen los expertos: el problema no suele ser la capacidad de código de la IA, sino nuestra incapacidad para articular exactamente qué queremos.

¿Estás listo para dejar de "vibrar" y empezar a especificar?


Tips adicionales para tu post:

  • Menciona el riesgo del "Markdown Monster": No te excedas creando capas de documentación obsoleta; las specs deben ser vivas y evolucionar con el código.
  • Humano en el bucle: Recuérdale a tus lectores que el desarrollador ahora es más un Arquitecto e Integrador que un simple escritor de sintaxis.

Esta infografía resumen lo que es SDD por si lo quieres compartir con tus colegas:
SDD

Top comments (0)