Construyendo la Estación Estación: ¿Cómo la ayuda de SDD fue (y no fue) útil
		
En las partes anteriores cubrimos Spec-Driven Development, el proyecto Station Station y el flujo de trabajo de agent-os. Entregamos ocho funcionalidades totalmente desplegadas y funcionando, pero toca ser honestos con los retos reales que apareció el desarrollo. Aquí relato dónde la estructura de SDD ayudó de verdad, dónde seguí atascado a pesar de tener especificaciones y tareas, y qué problemas requieren aún depuración tradicional.
Desafío 1 Autenticación y Cloudflare Turnstile Fue la parte más frustrante del proyecto porque todo dependía de acceder a los datos de transacciones Myki. Sin autenticación no hay datos. Cloudflare detecta y bloquea navegadores headless, por eso los intentos iniciales con Playwright en modo headless fueron bloqueados por el mensaje Verifying you are human. La especificación pedía usar Playwright para autenticar y extraer tokens Bearer, lo que definió el objetivo pero no resolvió la complejidad de la detección antibuote.
Cómo ayudó SDD La especificación dejó claros los criterios de éxito extraer token Bearer y el desglose de tareas permitió identificar exactamente dónde fallaba el flujo lanzar navegador navegar hasta la página de login rellenar credenciales enviar formulario extraer tokens. Documentar cada intento fallido evitó repetir enfoques que no funcionaban. Sin la especificación habría sido fácil perder el foco.
Qué no resolvió SDD El bypass de Cloudflare exigió conocimientos de fingerprinting y muchas pruebas manuales. Tras varios intentos con modo visible spoofing de user agent y plugins de stealth, lo que funcionó fue usar un perfil de navegador persistente con metadatos mínimos para parecer un Chrome real lanzar Playwright con launch_persistent_context usando un directorio de perfil con Cookies Preferences History vacíos. Esa solución vino de investigación y experimentación humana más que de la especificación.
Lección La especificación dio objetivo y estructura pero no reemplazó la investigación técnica ni la persistencia. Documentar la solución final fue valiosísimo para futuras tareas que necesiten el mismo patrón.
Desafío 2 El bug de varias capas Tras lograr autenticación apareció un bug en la funcionalidad manualAttendanceDates agregada como mejora. Aunque el sistema ya detectaba asistencia vía Myki, al añadir fechas manuales descubrí que el problema no era una sola línea sino la interacción entre backend Python pipeline de CI y frontend React. Gracias a la especificación pude trazar el flujo de datos y comprobar paso a paso parsing en Python salida JSON workflow de GitHub Actions y renderizado en la interfaz.
Cómo ayudó SDD La documentación del esquema de configuración y el desglose de tareas ofrecieron un mapa para revisar cada capa sistemáticamente. Pude identificar que el backend no fusionaba correctamente las fechas manuales, que el workflow no propagaba el nuevo campo y que el frontend no estaba leyendo la propiedad adecuada.
Qué no resolvió SDD Encontrar las ubicaciones concretas donde intervenir requirió revisar el código y entender la integración entre componentes. La IA implementó correcciones una vez señaladas las áreas afectadas pero localizar esas áreas fue trabajo humano y de depuración tradicional.
Desafío 3 Zonas horarias Las fechas del calendario aparecían desfasadas un día respecto a attendance.json. La especificación decía que las fechas debían coincidir exactamente, lo que hizo evidente el fallo, pero no había especificado el manejo de zonas horarias. El problema vino del uso de toISOString en JavaScript que convierte a UTC y puede cambiar la fecha para horas cercanas a la medianoche. La solución fue usar toLocaleDateString con formato ISO local o construir la fecha en zona local.
Lección Una especificación efectiva debe sacar a la luz supuestos no obvios por ejemplo especificar uso de zona horaria local para fechas. SDD detectó el síntoma pero la corrección requirió conocimiento de cómo JavaScript maneja fechas.
Desafío 4 Integración con librerías de terceros Al integrar date-holidays para mostrar feriados de Victoria la librería devolvía fechas en formato YYYY-MM-DD HH MM SS como cadena en lugar de objetos Date. La especificación indicaba qué librería usar y qué mostrar pero no detalló el formato de retorno. Inspeccionar la salida real permitió convertir correctamente la cadena a objeto Date en zona local y mostrar los feriados en rojo.
Lección Las especificaciones no pueden prever todos los matices de dependencias externas. El valor de SDD es documentar la decisión de usar una librería y capturar las adaptaciones necesarias tras la primera ejecución.
Desafío 5 Preferencias de usuario vs supuestos del desarrollador Durante el desarrollo pensé en eliminar el estilo rojo de fines de semana porque me parecía ruido visual. El flujo de trabajo con checkpoints de revisión me llevó a preguntar al usuario final y la respuesta fue conservar el marcado en rojo. SDD creó el punto de control que evitó cambios impulsivos que habrían empeorado la experiencia.
Dónde SDD aportó más valor 1 Criterios de éxito claros cada bug era inequívoco porque la especificación definía cómo debía comportarse el sistema. 2 Depuración sistemática el desglose por tareas permitió seguir el rastro de datos y localizar la capa que fallaba. 3 Documentación de decisiones al volver al proyecto encontré por qué se tomaron ciertas decisiones y qué supuestos había. 4 Checkpoints de revisión que facilitaron feedback de usuarios y evitaron cambios precipitados.
Qué no reemplaza SDD SDD no sustituye entender integraciones multilayer ni eliminar suposiciones ocultas ni reemplaza pruebas en tiempo de ejecución contra librerías externas ni soluciona la necesidad de comunicación con usuarios y expertos de dominio. Los problemas complejos como bypasses de Cloudflare o quirks de librerías requieren investigación y depuración humana además de la estructura que ofrece SDD.
Retorno honesto de la inversión Tiempo en especificaciones alrededor de 4 5 horas tiempo de implementación 2 días tiempo de debugging 4 6 horas total aproximadamente 3 días para entregar 8 funcionalidades. Dónde ahorró tiempo depuración más rápida por chequeos sistemáticos resumibilidad al retomar trabajo y menos requisitos olvidados. Coste tiempo inicial en documentar y curva de aprendizaje de la herramienta agent-os que se amortiza en proyectos posteriores.
Cómo puede ayudar Q2BSTUDIO Si buscas llevar buenas prácticas como Spec-Driven Development a tus proyectos o necesitas apoyo técnico en pases complejos como autenticación segura integración de APIs o gestión de infraestructura cloud, en Q2BSTUDIO ofrecemos servicios de desarrollo de software a medida y soluciones de inteligencia artificial. Podemos ayudarte a diseñar especificaciones claras, crear agentes IA que aceleren tareas repetitivas e integrar soluciones escalables en AWS o Azure. Descubre nuestros servicios de desarrollo de aplicaciones en esta página aplicaciones a medida y software a medida y conoce cómo implementamos IA en soluciones empresariales en inteligencia artificial para empresas.
Palabras clave incluidas intencionalmente para mejorar posicionamiento aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi. Si quieres que evaluemos si SDD encaja en tu próximo proyecto o prefieres que armemos la especificación inicial y el roadmap de desarrollo contacta con Q2BSTUDIO y convertiremos la complejidad en un plan claro y entregable.
						
						
						
						
						
						
						
						
Comentarios