Introduccion a OpenSpec y SDD

Por: Artiko
openspecsddintroduccionbrownfield

Introduccion a OpenSpec y SDD

El problema: IA sin contexto

Si has trabajado con asistentes de IA para programar, conoces estos escenarios:

El problema de fondo es que no hay una fuente de verdad compartida entre tu y la IA sobre que es el sistema, como funciona y que se espera de cada cambio.

Que es Spec-Driven Development

SDD (Spec-Driven Development) se resume en una frase:

Acuerda antes de construir.

En lugar de pedirle a la IA “agrega drag and drop al Kanban” y esperar lo mejor, SDD propone:

  1. Especificar que significa exactamente ese cambio
  2. Acordar los criterios de aceptacion antes de escribir una linea de codigo
  3. Implementar con la IA siguiendo esas especificaciones
  4. Verificar que la implementacion cumple lo acordado

No es waterfall. No necesitas un documento de 50 paginas. Es un proceso ligero e iterativo donde cada cambio tiene su propia especificacion pequena y enfocada.

Que es OpenSpec

OpenSpec es un framework de SDD creado por Fission AI, publicado bajo licencia MIT. Sus caracteristicas principales:

Los 4 principios de OpenSpec

PrincipioSignificado
Fluido, no rigidoAcciones, no fases. No hay gates obligatorios entre pasos
Iterativo, no waterfallCambios pequenos y frecuentes, no especificaciones monoliticas
Simple, no complejoArtefactos concisos (~250 lineas), no documentos de cientos de paginas
Brownfield-firstFunciona en proyectos existentes con codigo legado

Comparativa: OpenSpec vs alternativas

AspectoOpenSpecBMADSpec-Kit
FilosofiaBrownfield-first, ligeroGreenfield-first, completoEspecificaciones formales
Setup time~5 minutos~30 minutosConfiguracion mas compleja
Ideal paraCodebases existentesProyectos nuevosProyectos con specs rigurosas
Output por cambio~250 lineas~800+ lineasVariable
Formato specsGherkin (GIVEN/WHEN/THEN)Markdown libreSchemas tipados
LicenciaMITMITMIT

El flujo de trabajo

OpenSpec ofrece dos perfiles. El Core (por defecto) tiene 3 acciones principales:

graph LR
    A[Propose] -->|/opsx:propose| B[Apply]
    B -->|/opsx:apply| C[Archive]
    C -->|/opsx:archive| D[Completado]

Propose (Proponer)

Describes el cambio que quieres hacer. /opsx:propose crea el directorio del cambio y genera todos los artefactos de planificacion: proposal.md, design.md, tasks.md y delta specs.

Apply (Aplicar)

La IA implementa el cambio siguiendo las especificaciones generadas. No improvisa: tiene un plan claro de que hacer.

Archive (Archivar)

Una vez completado, el cambio se archiva. Las delta specs se fusionan con las specs principales y el directorio de cambio se mueve al archivo.

Para quienes necesiten mas control, existe el perfil Expandido con comandos adicionales como /opsx:new, /opsx:ff, /opsx:continue y /opsx:verify (ver capitulo 5).

Por que un Kanban como proyecto

Elegimos un tablero Kanban porque:

El objetivo no es que termines con un Kanban perfecto, sino que internalices el flujo de trabajo de OpenSpec para aplicarlo a tus propios proyectos.

Requisitos previos

Antes de continuar, asegurate de tener:

No necesitas experiencia previa con SDD ni con OpenSpec.

Resumen


Indice | Siguiente -> Capitulo 2: Instalacion y Estructura del Proyecto