La IA no necesita solo buenos prompts... necesita disciplina.

La Inteligencia Artificial está transformando la forma en que desarrollamos software. Hoy podemos pedirle a un asistente que implemente una funcionalidad, escriba pruebas unitarias, genere documentación o incluso refactorice un módulo completo en cuestión de segundos.
Sin embargo, existe un error muy común: pensar que el objetivo de la IA es únicamente producir código.
En un equipo profesional, escribir código representa solo una parte del trabajo. Lo que realmente garantiza la calidad del software es el proceso de ingeniería.
La IA también debe aprender ese proceso.
Programar es mucho más que escribir código
Imaginemos que incorporamos un nuevo desarrollador al equipo.
¿Le diríamos simplemente:
"Aquí está el requerimiento. Programa."
Por supuesto que no.
Le explicaríamos cómo trabaja el equipo:
Cómo nombrar las ramas.
Cómo hacer commits.
Cuándo crear un Pull Request.
Qué pruebas ejecutar.
Qué estándares de calidad cumplir.
Cómo documentar los cambios.
Lo mismo debería ocurrir con una IA.
Si no le damos reglas claras, actuará como un excelente programador... pero un pésimo compañero de equipo.
Una IA disciplinada se comporta como un desarrollador profesional
En lugar de darle únicamente un requerimiento funcional, podemos establecer un flujo de trabajo que siempre debe respetar.
Por ejemplo:
Crear una rama feature/*
Implementar la funcionalidad
Ejecutar pruebas unitarias
Hacer commits pequeños y descriptivos
Crear un Pull Request
Esperar revisión
No hacer merge automáticamente
Estas instrucciones parecen simples, pero reducen enormemente los errores y mantienen la consistencia del proyecto.
El proceso es tan importante como el código
Veamos un flujo típico de trabajo.
Paso 1. Crear una rama
Nunca trabajar directamente sobre la rama principal.
git checkout -b feature/registro-clientes
Esto permite aislar los cambios y facilita las revisiones.
Paso 2. Realizar commits pequeños
En lugar de un único commit enorme, es preferible registrar avances pequeños.
Un buen mensaje sería:
Agregar validación de correo electrónico
En lugar de:
Cambios
o
Fix
Los commits pequeños facilitan encontrar errores y entender la evolución del código.
Paso 3. Crear un Pull Request
Antes de integrar los cambios al repositorio principal, estos deben ser revisados.
El Pull Request permite:
Revisar el código.
Detectar problemas.
Discutir mejoras.
Ejecutar pipelines automáticos.
La IA también debería seguir este paso, en lugar de integrar cambios directamente.
Paso 4. Verificar la calidad
Antes de aprobar un Pull Request conviene validar aspectos como:
Todas las pruebas pasan.
No existen errores de compilación.
Se respetan las convenciones del proyecto.
La cobertura de pruebas es suficiente.
No existen vulnerabilidades conocidas.
El objetivo es que el código llegue al repositorio principal con el menor riesgo posible.
Una IA también debe escribir buenas pruebas
Muchas veces pedimos:
"Genera los tests."
Pero pocas veces especificamos cómo deben ser esos tests.
Existen algunas reglas fundamentales.
Utiliza datos reales
Es mejor probar escenarios similares a producción.
Por ejemplo, en lugar de utilizar:
Usuario("A")
es preferible:
Usuario(
"José Díaz",
"Perú"
)
Esto permite detectar problemas que no aparecen con ejemplos demasiado simples.
Incluye casos límite
Un buen conjunto de pruebas no valida únicamente el caso exitoso.
También debería contemplar:
Valores nulos.
Cadenas vacías.
Listas vacías.
Valores mínimos.
Valores máximos.
Un solo elemento.
Miles de elementos.
Muchos errores aparecen precisamente en esos escenarios.
No pruebes detalles internos
Uno de los errores más comunes es validar cómo está implementada una clase.
Por ejemplo:
assertEquals(3, cache.size())
Ese tipo de prueba puede romperse después de una refactorización, aunque el comportamiento siga siendo correcto.
Lo recomendable es validar únicamente el resultado observable.
Es decir:
buscarCliente(id)
debe devolver el cliente esperado.
No importa cómo lo logró internamente.
No olvides el setup y el teardown
Cada prueba debe preparar correctamente su entorno y dejarlo limpio al finalizar.
Si un test deja datos residuales en la base de datos o modifica archivos temporales, puede provocar fallos en otras pruebas.
Una buena prueba siempre es independiente de las demás.
El verdadero cambio con la IA
Durante años enseñamos a los desarrolladores:
patrones de diseño,
buenas prácticas,
Git,
pruebas,
integración continua,
revisiones de código.
Ahora debemos hacer exactamente lo mismo con la IA.
No basta con darle un excelente prompt.
Hay que enseñarle cómo trabaja nuestro equipo.
Cuando una IA comprende el proceso completo, deja de ser un generador de código y se convierte en un colaborador confiable dentro del ciclo de desarrollo.
Conclusión
La calidad del software no depende únicamente de la inteligencia de quien escribe el código.
Depende de la disciplina con la que ese código es construido, probado, revisado e integrado.
La Inteligencia Artificial está acelerando el desarrollo como nunca antes, pero esa velocidad solo será una ventaja si viene acompañada de procesos sólidos.
En los próximos años veremos una diferencia muy clara entre los equipos que simplemente usan IA para programar y aquellos que enseñan a la IA a seguir su proceso de ingeniería.
Y probablemente esa diferencia será uno de los factores que definan qué organizaciones construyen software de calidad y cuáles solo generan código rápidamente.
¿Qué opinas?
¿En tu organización la IA ya sigue un proceso de desarrollo (Git, Pull Requests, revisiones, pruebas y estándares), o todavía se limita a generar código cuando se le solicita?
Déjalo en los comentarios. Será interesante conocer cómo están incorporando la IA en sus equipos de desarrollo.
Enjoy!





