La irrupción de la inteligencia artificial en la creación de código ha abierto un debate crucial: si la IA puede escribir software, ¿por qué no dejarle también revisar el código? Este interrogante lleva a cuestionar el rol que deben jugar los desarrolladores humanos en el proceso de revisión, especialmente cuando esa tarea muchas veces se convierte en un trámite burocrático más que en una revisión rigurosa.
En muchas empresas, la revisión entre compañeros se ha convertido en un cuello de botella. Las solicitudes de extracción (pull requests) pueden permanecer días esperando que un colega, generalmente con poco contexto sobre el desarrollo, finalmente dé su visto bueno sin un análisis profundo. Esta práctica no solo ralentiza la entrega, sino que a menudo termina siendo un sello de aprobación superficial, más que una garantía real de calidad.
“Hace falta limpiar el ‘desorden humano’, ese tipo de errores que los humanos cometen con mucha más frecuencia que la IA. Para estas fallas, una revisión asistida por IA es mucho más fiable que un humano cansado.” — Avital Tamir, groundcover.
Los beneficios superan los inconvenientes
Este panorama lleva a preguntarnos si mantenemos esta esperanza casi ilimitada de que las revisiones manuales son útiles, quizás por costumbre o para mantener cierto orden dentro del equipo. Avital Tamir, ingeniero de software en la plataforma de observabilidad cloud-native groundcover, es uno de los que reclama una adaptación urgente en la metodología tradicional de revisión de código.
Lejos de promover un caos sin control, Tamir propone que los equipos actualicen sus prácticas para integrar la revisión asistida por IA y fortalecer la autoevaluación, atendiendo a que las formas actuales de revisar no responden bien a los desafíos modernos.
Tamir enfatiza que los problemas de la IA, como la generación de información errónea o malentendidos contextuales, son reales, pero también lo es la necesidad de eliminar el “desorden humano”, errores frecuentes que la inteligencia artificial maneja con mayor precisión que un revisor cansado o desmotivado.
Un ejemplo cotidiano de la negligencia humana
Imagina un desarrollador que termina una funcionalidad y abre una solicitud de extracción. Esta queda en espera, mientras el ingeniero intenta recordar a sus compañeros que la revisen. Tras varios días, alguien finalmente comenta sobre detalles banales como nombres de variables o preguntas ya respondidas en el código. El tiempo, en lugar de usarse para avanzar, se consume en arreglar pequeñas incongruencias que, en muchos casos, el propio sistema podría haber detectado automáticamente.
“¿Qué se consigue con eso?”, cuestiona Tamir. “Un retraso en la entrega que permite a la competencia lanzar antes, corregir errores importantes y tomar la delantera, mientras el equipo queda atrapado en un ciclo de revisiones que busca más cubrirse las espaldas que acelerar el desarrollo.”
Además, añade Tamir, los errores críticos como condiciones de carrera o casos límite de datos raramente se detectan leyendo código sin contexto completo, mientras los comentarios suelen centrarse en estilo y convenciones que una herramienta automatizada podría señalar de inmediato.
Multiplicado este proceso a escala de equipos grandes y múltiples revisiones semanales, el coste en tiempo y productividad es muy alto, traduciéndose en menos características entregadas y ciclos de aprendizaje más lentos.
“La autoevaluación no significa no hacer revisiones, sino delegar parte de esa responsabilidad en quienes mejor conocen el código: sus autores, con ayuda de la IA.”
El valor de una autoevaluación rigurosa
Existen ya herramientas como CodeRabbit, que permiten definir reglas de estilo de equipo y aplicarlas a cada revisión, garantizando uniformidad y calidad en el código. Otros ejemplos son Claude Code Review, Qodo y Greptile, que detectan fallos antes de que un humano los vea, reforzando la posibilidad de que el desarrollador realice una revisión profunda y con sentido.
“Si la IA escribe y revisa el código y el programador que conoce el contexto ya ha comprobado su comportamiento, ¿qué aporta un aprobador humano que solo ve el código de forma asíncrona?”, pregunta Tamir.
“Muchos procesos de revisión solo simulan rigor, pero no lo garantizan.”
Así, Tamir describe su método de trabajo habitual con IA: colaborar detalle a detalle en la edición del código, ejecutar suites de prueba exhaustivas, verificar manualmente la funcionalidad antes de abrir la solicitud de extracción, dejar que la IA revise el código y ajustar según sus comentarios, y finalmente fusionar y monitorear el código en producción, asumiendo la responsabilidad total.
Para él, este flujo es más efectivo que esperar días un simple “me parece bien”, y asigna responsabilidad al verdadero experto en ese código: el propio autor.
La confianza como piedra angular
Este nuevo modelo también obliga a replantear la gestión de los equipos de ingeniería. Para Tamir, si la dirección no confía en que los ingenieros gestionen bien sus revisiones, el problema no es la técnica sino la selección y cultura del equipo.
“La confianza en los equipos de alto rendimiento se construye con resultados: entregar funcionalidad efectiva, asumir errores y corregirlos rápido, compartir conocimiento y tomar decisiones en conjunto. Esto ofrece más garantía que una cola de aprobaciones de revisión.”
Para los equipos que quieran experimentar con estos enfoques, la recomendación es empezar con proyectos de bajo riesgo, como herramientas internas o servicios no críticos, para medir resultados como la frecuencia de despliegues y tasas de rollback mientras reservan las colaboraciones presenciales a decisiones de mayor impacto.
Así se abre la puerta a que la colaboración en equipo tenga un sentido real y provechoso, dejando atrás la revisión superficial para avanzar hacia una calidad genuina y comprobable en el código.