QUALITY GATES

Quality Gates

7 GATES · 4 CAPAS

Validaciones obligatorias en cada fase del proceso. Ningún cambio avanza sin pasar el gate correspondiente.


1

Spec Gate

Specification LayerTech Lead + PO

Que el OpenSpec está completo y coherente antes de iniciar la implementación.

Checklist

  • proposal.md tiene motivación, alternativas y decisión documentada
  • design.md tiene arquitectura, modelo de datos y contratos API completos
  • tasks.md tiene tareas atómicas con criterios de done por tarea
  • specs/ tiene las especificaciones detalladas del feature
  • No hay referencias cruzadas rotas entre documentos
  • El PO revisó y aprobó el proposal.md

Evidencia requerida

  • docproposal.md aprobado con firma/fecha
  • docdesign.md revisado por Tech Lead
  • doctasks.md con estimaciones

Bloqueantes

  • proposal.md sin decisión documentada
  • design.md sin contrato API cuando el feature tiene endpoints
  • tasks.md sin criterios de done
  • Inconsistencias entre proposal y design
2

Architecture Gate

Specification LayerTech Lead

Que las decisiones de arquitectura son sólidas, consistentes con el sistema y no introducen deuda técnica innecesaria.

Checklist

  • La arquitectura es consistente con los patrones del sistema existente
  • El modelo de datos tiene tipos, índices y relaciones definidas
  • Las migraciones de base de datos están documentadas
  • Los endpoints tienen request/response/errores completos
  • Los edge cases de integración están cubiertos
  • No hay componentes nuevos sin justificación

Evidencia requerida

  • docarquitectura.md con diagrama
  • docmodelo_datos.md con DDL o definición de entidades
  • doccontrato_api.md completo

Bloqueantes

  • Cambios al modelo de datos sin estrategia de migración
  • Nuevos servicios sin documentar su integración
  • Contratos API sin manejo de errores
  • Dependencias externas sin evaluación de riesgo
3

Security Gate

Quality LayerTech Lead + Security reviewer

Que el feature no introduce vulnerabilidades de seguridad ni expone datos sensibles.

Checklist

  • Los endpoints tienen autenticación y autorización definidas
  • No se exponen datos sensibles en responses ni logs
  • Las entradas del usuario son validadas y sanitizadas
  • No hay secretos hardcodeados en el código
  • Los permisos por rol están correctamente implementados
  • Las queries a base de datos usan parámetros (no interpolación)

Evidencia requerida

  • docRevisión de seguridad documentada
  • docLista de endpoints con su nivel de acceso
  • docReporte de análisis estático si aplica

Bloqueantes

  • Endpoints sin autenticación en rutas protegidas
  • PII expuesta en logs o responses
  • SQL/NoSQL injection posible
  • Secretos en código fuente
4

Testing Gate

Quality LayerQA Agent + Tech Lead

Que el feature tiene cobertura de pruebas suficiente para los flujos críticos y criterios de aceptación.

Checklist

  • Todos los criterios de aceptación tienen al menos un caso de prueba
  • Los happy paths están cubiertos con tests automatizados
  • Los casos de error y edge cases tienen tests
  • Los tests de integración cubren las llamadas a servicios externos
  • No hay tests que pasen por coincidencia (flaky tests)
  • El plan de pruebas está diligenciado y ejecutado

Evidencia requerida

  • docplan_pruebas.md ejecutado
  • docreporte_pruebas.md con resultados
  • docCobertura de código (si aplica al proyecto)

Bloqueantes

  • Criterios de aceptación sin caso de prueba
  • Tests fallando en CI
  • Happy path sin test automatizado
  • Reporte de pruebas vacío o sin evidencia
5

Code Review Gate

Quality LayerCode Review Agent + 1 peer developer

Que el código implementado es correcto, legible, y consistente con las especificaciones y estándares del proyecto.

Checklist

  • El código implementa lo que describe el design.md
  • No hay lógica de negocio hardcodeada sin referencia a especificación
  • El código sigue los patrones y convenciones del proyecto
  • No hay código muerto ni imports no usados
  • Los errores se manejan correctamente y se loggean apropiadamente
  • El checklist_pr.md está completamente diligenciado

Evidencia requerida

  • docchecklist_pr.md completo
  • docAprobación de al menos 1 reviewer
  • docCI pasando

Bloqueantes

  • Blocking comments sin resolver
  • CI fallando
  • Código que no implementa lo especificado en design.md
  • checklist_pr.md incompleto
6

UAT Gate

Quality LayerPO + Usuario representativo

Que el feature funciona correctamente desde la perspectiva del usuario final o PO en ambiente staging.

Checklist

  • El feature está desplegado en staging y accesible
  • El PO validó los flujos principales contra los criterios de aceptación
  • Los usuarios representativos probaron los casos de uso del día a día
  • Los bugs encontrados en UAT están documentados y priorizados
  • Los bugs bloqueantes están resueltos antes del release
  • La evidencia de UAT está documentada

Evidencia requerida

  • docevidencia_uat.md con capturas o videos
  • docAprobación explícita del PO
  • docLista de bugs encontrados y su estado

Bloqueantes

  • PO no ha validado el feature
  • Bugs bloqueantes sin resolver
  • Feature no desplegado en staging
  • Criterios de aceptación sin validar en ambiente real
7

Release Gate

Delivery LayerTech Lead + Release Agent

Que el feature está listo para ir a producción con toda la evidencia, documentación y plan de rollback.

Checklist

  • Todos los gates anteriores están aprobados
  • Las release notes están escritas y aprobadas por el PO
  • El CHANGELOG está actualizado
  • El plan de rollback está documentado
  • Las variables de entorno de producción están configuradas
  • El equipo de soporte está informado del cambio
  • La validación post-deploy tiene un checklist definido

Evidencia requerida

  • docrelease_notes.md aprobado
  • docCHANGELOG actualizado
  • docchecklist_pr.md con todos los gates marcados
  • docPlan de rollback documentado

Bloqueantes

  • Cualquier gate anterior sin aprobar
  • release_notes.md sin aprobación del PO
  • Sin plan de rollback para features de alto riesgo
  • Variables de entorno de producción sin verificar