10 de abril de 2026
8 min de lectura
Spec-driven development para equipos
Especificar comportamiento antes de implementar para alinear frontend, backend y producto con menos retrabajo.
Read in EnglishUna spec útil reduce ambigüedad antes de escribir código
Spec-driven development no significa llenar un repositorio de documentos largos. Significa tomar una decisión simple: antes de implementar, el equipo define qué comportamiento espera, qué entradas acepta el sistema, qué errores son válidos y qué resultados importan.
Cuando ese trabajo no se hace, backend interpreta una cosa, frontend otra y QA termina descubriendo diferencias demasiado tarde. La spec correcta no frena el delivery; evita rondas enteras de reinterpretación.
La spec debe hablar en flujos, ejemplos y contratos
Las mejores specs que he visto no son abstractas. Describen un flujo, agregan ejemplos concretos y dejan visibles los límites. En una feature de publicación, por ejemplo, la spec debería dejar claro quién puede publicar, qué estado previo exige el sistema, qué respuesta recibe el cliente y qué side effects dispara la acción.
Si hay API, conviene capturar el contrato en OpenAPI, JSON Schema o el formato que el equipo ya use. Si hay UI compleja, conviene acompañarlo con ejemplos de estados. El punto es que la especificación se pueda discutir y también verificar.
Un contrato pequeño puede evitar varios malentendidos.
POST /articles/{id}/publish
request:
body:
publishedAt: string(datetime)
responses:
200:
article:
id: string
status: published
409:
error: article_not_ready
403:
error: not_allowed Primero acuerdo, después implementación
Este enfoque funciona especialmente bien cuando frontend y backend avanzan en paralelo. La spec actúa como contrato de trabajo: frontend puede stubear respuestas, backend puede desarrollar handlers y tests, y producto puede validar si el comportamiento realmente resuelve el caso de uso.
También ayuda con IA. Si estás usando generación de código o asistentes para prototipar, la calidad de la salida mejora mucho cuando ya existe una spec concreta, con naming, restricciones y escenarios. Sin eso, el modelo completa huecos con suposiciones.
- Especifica entradas válidas e inválidas.
- Define estados previos y posteriores.
- Incluye ejemplos reales, no solo descripción narrativa.
- Versiona la spec cuando cambie el contrato.
La prueba de una buena spec
Una buena spec permite tres cosas: discutir diseño antes de programar, implementar sin inventar reglas nuevas y validar después si el comportamiento entregado coincide con el esperado. Si no sirve para esas tres, probablemente todavía sea demasiado vaga.
La mejor versión de spec-driven development no es pesada. Es una disciplina breve, repetible y muy técnica: convertir decisiones implícitas en comportamiento verificable antes de que el código las esconda.
Más artículos
Volver a artículosArquitectura hexagonal sin ceremonias
Cómo separar UI, casos de uso e infraestructura en una app web sin convertir cada cambio en una capa extra.
12 de mayo de 2026
8 min de lectura
DDD pragmático para productos web
Lenguaje ubicuo, bounded contexts y límites transaccionales sin convertir el modelado del dominio en burocracia.
29 de abril de 2026
9 min de lectura
ADRs que mantienen sano un sistema
Cómo documentar decisiones técnicas con contexto, tradeoffs y consecuencias sin escribir una wiki eterna.
21 de marzo de 2026
7 min de lectura