Adiós al caos del 'vibe coding': Por qué el desarrollo basado en especificaciones es el nuevo estándar
Si has estado programando con ayuda de inteligencia artificial últimamente, seguro conoces la sensación. Empiezas con una idea simple, le pides a la IA que genere un par de funciones, todo fluye rápido y te sientes un genio. A esto se le conoce como vibe coding: tirar prompts en lenguaje natural y dejar que el modelo arme el rompecabezas sobre la marcha. Pero seamos sinceros, cuando el proyecto empieza a crecer, este método choca contra una pared. El código se vuelve un desastre, la IA pierde el contexto y terminas pasando más tiempo arreglando errores que programando.
Aquí es donde entra el "desarrollo basado en especificaciones" (Spec-driven development), una estrategia que AWS está empujando con mucha fuerza a través de su herramienta Kiro. En lugar de improvisar, este enfoque te obliga a pensar y estructurar antes de que la IA escriba una sola línea de código.
El problema de programar "por instinto"
La codificación autónoma ha avanzado muchísimo, pero delegarle todo a la IA sin un mapa claro es una receta para el desastre. Durante el último año, vimos a desarrolladores armar aplicaciones completas en horas usando solo comandos de chat. El problema es que estos proyectos escalan muy mal. Las empresas empezaron a notar que mantener ese código era una pesadilla porque no había documentación, la arquitectura era frágil y arreglar un bug rompía otras tres cosas.
Básicamente, la IA necesita contexto. Si solo le das instrucciones sueltas, te va a devolver soluciones sueltas.
Kiro: La apuesta de AWS por el orden
Para solucionar esto, AWS lanzó Kiro, un IDE (entorno de desarrollo integrado) que cambia las reglas del juego. A diferencia de un simple chat donde pides cosas al azar, el modo principal de Kiro se basa en especificaciones.
¿Cómo funciona en la práctica? Cuando le pides a Kiro que construya una nueva función, no se pone a escupir código de inmediato. Primero, genera documentos fundacionales:
- Requisitos (
requirements.md): Define qué se va a construir, los criterios de aceptación y cómo se medirá el éxito. Básicamente, el "qué" y el "por qué". - Diseño (
design.md): Traza la arquitectura técnica, las integraciones y los flujos de datos. - Tareas: Divide el trabajo en pasos accionables y rastreables.
Tú revisas estos documentos, los ajustas y, solo cuando estás de acuerdo con el plan, la IA empieza a programar. Es como volver a las buenas prácticas de la ingeniería de software tradicional, pero con un asistente hiperrápido que hace el trabajo pesado.
¿Vale la pena el cambio de mentalidad?
Pasar del vibe coding al desarrollo basado en especificaciones requiere un esfuerzo consciente. Puede parecer que pierdes velocidad al principio porque tienes que frenar a redactar y aprobar documentos. Algunos desarrolladores se resisten porque sienten que rompe la inmediatez de la IA.
Sin embargo, los beneficios a mediano plazo son enormes. Equipos que ya están adoptando Kiro reportan que los proyectos se terminan en menos tiempo total, con muchísimos menos errores y, lo más importante, con un código que otro humano (u otra IA) puede leer y escalar en el futuro.
Al final del día, la IA es una herramienta increíble para ejecutar, pero la planificación y el criterio siguen siendo un trabajo nuestro. Y herramientas como Kiro nos recuerdan que planificar bien desde el principio siempre sale más barato.
