Dando Nueva Vida a Proyectos Antiguos Con Desarrollo Basado en Especificaciones

Bookmark
Rate this content

Lo grandioso de tu viejo proyecto polvoriento de cuando comenzabas con ojos brillantes es que, para bien o para mal, ese viejo código contenía un conjunto de reglas, lógica y diseño de sistema que pueden formar la columna vertebral de una especificación robusta. En esta charla, aprenderás cómo traducir tus proyectos antiguos en especificaciones detalladas que, combinadas con el desarrollo basado en especificaciones agentic, pueden dar nueva vida y una nueva audiencia a esos proyectos.

This talk has been presented at JSNation US 2025, check out the latest edition of this JavaScript Conference.

Leon Malisov
Leon Malisov
9 min
20 Nov, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Leon, un defensor de desarrolladores en Zencoder, discute el poder del desarrollo basado en especificaciones y cómo los proyectos pasados sientan las bases para especificaciones sólidas. Exploración de experiencias de proyectos pasados y su conversión en especificaciones sólidas que forman la base para el desarrollo de espectro, lo que lleva a una colaboración efectiva con agentes en la planificación y selección de tecnología para la implementación del proyecto. Utilizando ejecuciones agentic para completar tareas de manera eficiente, rastrear el progreso y facilitar la continuación sin problemas del proyecto para una mejor asignación de recursos y finalización del proyecto.

1. Introduction to Spec-Driven Development

Short description:

Leon, un defensor de desarrolladores en Zencoder, discute el poder del desarrollo impulsado por especificaciones y cómo los proyectos pasados sientan las bases para especificaciones sólidas.

Hola a todos. Soy Leon. Soy un defensor de desarrolladores en Zencoder, y quería hablar sobre el desarrollo impulsado por especificaciones. Ahora, estoy seguro de que muchos de ustedes han oído hablar sobre el desarrollo impulsado por especificaciones cuando se trata de construir nuevas características, cuando se trata de planificar campañas, y es un marco realmente poderoso con desarrollo agéntico para revivir nuevos proyectos. La cosa es que la mayoría de nosotros no hemos llegado a este punto en un vacío. Si eres como yo, entonces llegaste a este punto construyendo cosas raras, malas, apenas funcionando cuando comenzaste porque tenías una visión o un sueño o una ambición, algo que querías hacer realidad. Así es como me metí en el software, y para muchos de ustedes, apuesto a que así lo hicieron también. Así que lo realmente genial de ese proyecto torpe, apenas funcionando, que probablemente ni siquiera esté en línea más, está en una versión antigua de Heroku que vive en algún lugar de un disco duro, tal vez ni siquiera en Git, es que para bien o para mal, puede verse terrible, pero tiene todos los elementos de una gran especificación.

2. Leveraging Past Projects for Spectrum Development

Short description:

Exploración de experiencias de proyectos pasados y su conversión en especificaciones sólidas que forman la base para el desarrollo de espectro, lo que lleva a una colaboración efectiva con agentes en la planificación y selección de tecnología para la implementación del proyecto.

Un poco sobre mí. Antes de unirme a Zencoder, e incluso honestamente antes de unirme a Procore, ya estaba trabajando en un par de ideas extrañas. Estaba trabajando en una aplicación social para resaltar y compartir esos destacados con diferentes personas. Estaba trabajando en un sitio web de presionar-un-botón-y-hacer- cualquier cosa. Luego, hace aproximadamente un año, tuve la oportunidad de consultar en algunos proyectos realmente geniales para llevar algunos temas realmente complicados a las escuelas y a altos funcionarios, y eso es adquisiciones de sistemas importantes. Entonces, cuando el gobierno compra sistemas realmente, realmente grandes, ¿cómo lo hacen, y cómo se ve ese enfoque? Mi idea para explicar eso tanto a estudiantes universitarios como a altos funcionarios en el gobierno fue esta. No parece mucho, y eso es porque en ese momento no lo era. Era un montón de cosas aquí, traté de traducirlo en algo que pudieras jugar, que sería atractivo para muchas personas y durante una cantidad decente de tiempo.

Ahora, se veía terrible. Como puedes ver, había mucho diseño, complicado de jugar, pero la parte realmente divertida son las reglas. Así que había muchas reglas integradas en lo que ves aquí esparcidas justo ahí en esa cama. Esas reglas se prestan muy bien al desarrollo de espectro. Entonces, ¿por qué se prestan muy bien al desarrollo de espectro? Ahora, el desarrollo de espectro se puede desglosar en cuatro fases. Tienes la fase de especificación, la fase de planificación, luego la fase de tareas, y finalmente, implementación o ejecución. Para la fase de especificación, ahora, cuando estás construyendo una nueva característica, a menudo lo que harás es comenzar con una especie de núcleo de una idea, y trabajarás con el agente para desarrollar eso en una especificación completa de cómo se verá ese comportamiento del usuario de principio a fin. Cuando ya tienes un proyecto viejo y polvoriento que puedes sacar de cualquier solución de almacenamiento o armario en el que esté viviendo, entonces probablemente contenga un montón de ese comportamiento del usuario en cualquier marco improvisado en el que originalmente lo escribiste. La lógica está ahí, incluso si la implementación y la ejecución no lo están. Así que esa es una base realmente, realmente sólida para construir una especificación fuerte sin tener que hacer demasiado ida y vuelta con el agente porque ya sabes cuál es la visión. Esta parte es solo ahora darle vida.

Y aquí es donde el desarrollo agéntico combinado con el marco de desarrollo de espectro da nueva vida a ese proyecto porque ahora puedes tomar esa especificación del comportamiento deseado, y puedes trabajar con el agente para la fase de planificación. Esa fase de planificación se presta a un montón de tecnologías que, A, o no estás familiarizado con ellas o B, simplemente no estaban disponibles en el momento en que primero tuviste esta visión, cuando primero intentaste ejecutar esta idea. Así que cuando estaba tratando de ejecutar esto, este pequeño juego que me gusta llamar sobrecarga del sistema, apenas sabía un poco de React. Ahora tengo un agente que puede implementar este juego para mí en la web en un marco de React que tiene sentido con almacenamiento persistente para estados de juego, con funcionalidad multijugador, con mensajería, con notificaciones, cosas que no tenía idea de cómo construir cuando quería que esta visión cobrara vida en primer lugar. Así que en la fase de planificación, tu agente toma esa especificación y trae las recomendaciones tecnológicas más apropiadas a la mesa. Y una vez que revisas eso juntos, los agentes, especialmente en algunos de los modelos más nuevos que son capaces de ejecuciones de larga duración, son capaces de descomponer todos esos elementos del plan en tareas. Así que descomponer la sobrecarga del sistema en esas tareas se verá como algo así como, primero construir la interfaz de usuario, luego construir perfiles de usuario, y luego construir estados de usuario y memoria persistente, luego construir el sistema de turnos del juego y el sistema de roles, y así sucesivamente. Cada pieza que ya has pensado en tu cabeza y que podría estar implementada en papel, pero ahora se está traduciendo en subtareas de desarrollo de características. Y finalmente llegas a la capa de implementación. Y la capa de implementación se ve algo así. Así que si echas un vistazo a Zencoder ejecutándose en la fase de implementación, lo que realmente está ejecutando es tarea por tarea que definimos desde esa fase de planificación.