Desarrollo impulsado por intenciones: Define el sistema antes de escribir el código
Desarrollo impulsado por intenciones: Define el sistema antes de escribir el código
El problema del enfoque empezar por el código es familiar: se recibe una petición, se crea una rama y se empieza a programar. Días después aparecen inconsistencias en el modelo de datos, otra semana más tarde surge una suposición equivocada sobre una API externa y al final nadie sabe realmente qué hace el sistema sin escarbar en el código. Hemos normalizado este ciclo de prueba y error como si fuera agilidad, aceptando que la única documentación fiable es el propio código. Existe otra vía.
Desarrollo impulsado por intenciones es una metodología que propone definir completamente qué debe hacer un sistema antes de escribir una sola línea de implementación. No se trata solo de requisitos de alto nivel, sino de especificaciones completas y legibles por máquina que se transforman en trabajo rastreable y verificable.
Fases del enfoque
1 Definir la intención usando AsyncAPI En lugar de empezar por funciones, catalogué todos los eventos que el sistema emitiría. Con AsyncAPI, el equivalente a OpenAPI para sistemas orientados a eventos, se describen tipos de evento, esquemas de payload, canales y roles de publicadores y suscriptores. En mi proyecto esto resultó en 122 tipos de evento distribuidos en 14 dominios. El valor es inmediato: cualquier participante puede leer la especificación y entender el comportamiento del sistema, y además la especificación es procesable por herramientas para generar documentación, esqueletos y pruebas.
2 Arquitectura con RFCs Con el modelo de eventos cerrado, redacté 8 RFCs arquitectónicos que cubren desde engine de almacenamiento hasta la capa de API. Cada RFC sigue una plantilla clara: resumen, motivación, diseño y criterios de aceptación. Este ejercicio obliga a resolver las decisiones difíciles antes de codificar y genera un documento vivo y útil como referencia.
3 Operacionalizar: esquemas JSON y GitHub Issues Cada RFC se transformó en esquemas JSON que definen tareas, criterios de aceptación y estimaciones. Con un script importé automáticamente esas tareas como issues en GitHub, creando 8 milestones, 82 issues con descripciones completas, etiquetas y dependencias. El trazado desde especificación hasta tarea implementable hace que la estimación de esfuerzo deje de ser una corazonada y pase a ser un número significativo: en este caso una estimación aproximada de 343 días de desarrollador.
4 El entorno RAG y la colaboración con IA Lo inesperado fue ver cómo el proyecto se convirtió en una base de conocimiento ideal para asistentes de código basados en IA. Artefactos como asyncapi, los RFCs, los esquemas JSON y los issues son consultas que la IA puede usar para generar código coherente con la arquitectura, escribir pruebas basadas en criterios de aceptación y revisar cambios contra especificaciones. GitHub Issues deja de ser una lista y se convierte en una máquina de estados que indica qué está abierto, en progreso y verificado.
Resultados prácticos en el caso aplicado: 122 eventos, 14 dominios, 8 RFCs, 74 tareas, 73 criterios de aceptación, 82 issues creados y 0 líneas de código de implementación en la fase de diseño. Todo el trabajo previo facilita la paralelización, la medición del progreso y reduce la retrabajo al tener expectativas claras antes de abrir un PR.
Beneficios clave
Paralelizable: con issues bien definidas varios equipos pueden trabajar sin interferir. Medible: el progreso se cuenta en issues resueltos. Menos retrabajo: los criterios de aceptación se fijan antes de programar. Incorporación rápida: un nuevo desarrollador puede leer la especificación y empezar a contribuir en el primer día. IA potenciada: los artefactos estructurados aumentan la efectividad de asistentes como copilots y generadores de código.
Cuándo aplicar este enfoque Conviene cuando el sistema es complejo, cuando participan varios equipos, cuando se requiere consistencia fuerte y auditoría, o cuando se quiere sacar partido real a herramientas de inteligencia artificial en el flujo de desarrollo. Puede ser sobredimensionado para prototipos rápidos o desarrollos en solitario.
Aplicación práctica y servicios de Q2BSTUDIO En Q2BSTUDIO aplicamos principios como este para ofrecer soluciones empresariales sólidas en software a medida y aplicaciones a medida. Como empresa de desarrollo de software y especialistas en inteligencia artificial, ciberseguridad y servicios cloud aws y azure diseñamos arquitecturas y procesos que reducen riesgo y aceleran la entrega. Si necesitas una plataforma diseñada desde la intención hasta la implementación podemos ayudarte a transformar requisitos en especificaciones ejecutables y tareas rastreables, facilitando además la integración de agentes IA y soluciones de ia para empresas.
Puedes conocer nuestras soluciones de software a medida en software a medida y explorar nuestros servicios de inteligencia artificial en inteligencia artificial. También ofrecemos servicios de ciberseguridad y pentesting, consultoría en servicios inteligencia de negocio y proyectos con power bi, así como automatización de procesos y despliegues en la nube con AWS y Azure.
Conclusión Especificar antes de codificar no es burocracia, es una inversión en claridad que ahorra semanas de retrabajo. RFCs estructurados y formatos machine readable permiten automatizar desde la documentación hasta la creación de issues y la colaboración con herramientas de IA. Si quieres pasar de prototipo a producto industrializado con trazabilidad y control, este enfoque te da una ruta práctica y comprobable.
En Q2BSTUDIO ayudamos a diseñar y ejecutar este tipo de iniciativas, combinando experiencia en desarrollo de aplicaciones a medida, inteligencia artificial aplicada, ciberseguridad y servicios cloud para acelerar tu transformación digital.
Comentarios