Cuando en 1440 Gutenberg inventó la imprenta de tipos móviles estaba realizando uno de los inventos que cambiaron la historia. Posibilitó, nada menos, que la cultura saliera de los limitados círculos anteriores y se expandiera cambiando a su vez todos los ámbitos.
Actualmente son muchos los que piensan que la Inteligencia Artificial será un cambio similar al que supuso la imprenta y que cambiará la forma en la que entendemos el mundo. Es todavía pronto para saberlo, pero, sin duda, está ya transformando muchos trabajos. La Ingeniería del Software, no es ajena a ello, y se está convirtiendo en una de las disciplinas más afectadas con el uso de la IA.
Los últimos años ya hemos visto cambios espectaculares en la forma de construir el software. DevOps permitió que se consiguieran automatizar muchas de las tareas tediosas de los desarrolladores como la integración de versiones o las pruebas, consiguiendo importantes mejoras de productividad y de calidad en los desarrollos. También permitió que los desarrolladores pudieran prestar más atención a las tareas importantes al liberarles de muchas actividades de bajo valor y que eran fuentes potenciales de errores.
Ahora con la Inteligencia Artificial hemos tenido un nuevo salto que impacta en la productividad de lo equipos de desarrollo. La ultimas encuestas indican que más del 90% de las empresas utilizan IA en sus equipos de desarrollo. Está introducción ha sido muy rápida porque las mismas encuestas daban datos del 61% hace sólo un año.
Las herramientas de inteligencia artificial más utilizadas para programar son GitHub Copilot de Microsoft, Gemini Code Assist de Google (o incluso el nuevo Google Antigravity su IDE de desarrollo agentico), Amazon Q y Cursor. Como no puede ser de otro modo, tratándose de tecnologías innovadoras, casi la mitad de los encuestados afirma utilizar dos o más herramientas de programación de IA, y los programadores experimentan no sólo con los nuevos servicios que ofrecen estas herramientas sino también con las nuevas que surgen todos los días.
Como consecuencia de ello las mejoras de productividad han sido drásticas. El 62% de los ingenieros de software asegura haber logrado aumento del 25% en productividad por el apoyo de las nuevas herramientas de IA y el 8% ha duplicado su rendimiento. Las cifras hablan por sí solas del cambio que supone en la Ingeniería se Software la introducción de la inteligencia artificial.
Igualmente, y como como consecuencia del uso la IA, las mismas encuestas indican que, una mayoría muy general (el 81% de los encuestados) considera que, al menos, una cuarta parte del trabajo de ingeniería actual se automatizará en los próximos años. Otros analistas son incluso más optimistas y piensan que este proceso se acelerará cuando se superen los problemas iniciales de implantación. Marc Benioff, CEO de Salesforce, afirmó recientemente que su empresa podría dejar de contratar ingenieros de software en 2025. Según Benioff, el notable incremento en la productividad de sus equipos se debe a una colaboración más estrecha entre ingenieros y agentes. Es decir, están logrando más con menos personas. Marc Zuckerberg también ha comentado en una entrevista que Meta y otras compañías tecnológicas implementarán sistemas de IA capaces de realizar el trabajo de ingenieros de software de nivel medio a partir de este mismo año, y Google ya ha revelado que más del 25% de su nuevo código es generado por IA.
Podríamos preguntarnos si está en riesgo la profesión de desarrollador de software. La respuesta es no, al menos a corto plazo. La tendencia no es hacia la automatización total, sino hacia la colaboración entre los desarrolladores y los agentes de IA.
Sin embargo, la incorporación de nuevas tecnologías no es un proceso fácil, especialmente cuando se trata herramientas que trasforma drásticamente la forma de trabajar. Requiere planificación, formación, períodos de adaptación y la implementación de nuevos sistemas de control y evaluación que nos permitan medir la evolución y el impacto.
El éxito y la notoriedad de la inteligencia artificial no debe distraernos y quitar importancia a otros elementos y herramientas de la ingeniería software. Es muy importante la gestión correcta de los proyectos, la realización de pruebas precisas y el control de calidad del software resultante. El código debe estar optimizado y bien documentado. No olvidemos que por bueno que sea el código, habrá errores que habrá que detectar y depurar en producción. Un código complejo, mal documentado y poco conocido por los desarrolladores puede ser muy complicado de depurar.
Otro aspecto que debemos tener en cuenta son los cambios que se están produciendo de manera acelerada en los entornos de desarrollo. Todos los días aparecen nuevas herramientas o mejoras significativas de las ya existentes. Tenemos que disponer de una arquitectura que nos permita aprovecharnos de estos cambios y las ventajas que suponen sin que eso derive en grandes inversiones en los entornos de desarrollo. La arquitectura debe permitir cambiar unas herramientas por otras o poder probar varias en paralelo para poder evaluar sus ventajas.
Resulta crucial poder medir el resultado y la calidad del trabajo y también poder compararnos con instalaciones similares. Puede darse el caso que estemos muy satisfechos porque estamos consiguiendo mejoras de productividad del 20% y no vemos que nuestra competencia está consiguiendo mejoras del 40% o superiores. ¿Cómo podemos conseguir esto?
Una alternativa válida es establecer un sistema que permita cuantificar la productividad y calidad del software de manera objetiva. Por ejemplo, utilizar métricas estándar ISO/IEC como los puntos función para evaluar tanto la cantidad como la calidad del código generado, sin importar si fue escrito por humanos o por IA. Esto no solo facilita la identificación de áreas de mejora, sino que también asegura que el producto final cumpla con las expectativas del cliente, sea económicamente viable y nos permite medir las mejoras de nuestra productividad y de nuestros proveedores. Además podemos conocer si el tiempo de entrega de los proyectos ha disminuido, si la calidad del software ha mejorado o si los costes asociados se han optimizado. Estas métricas son cruciales para tomar decisiones fundamentadas sobre cómo continuar utilizando estas herramientas.
Otro recurso fundamental es el benchmarking, que posibilita la comparación del rendimiento de equipos, tecnologías y procesos en relación con los estándares de la industria o con resultados históricos de la propia organización. En este contexto, el benchmarking adquiere una relevancia sin precedentes, ya que proporciona una visión clara de cómo la implementación de la IA está impactando la productividad y si realmente está contribuyendo a alcanzar nuevos niveles de eficiencia.
Estamos realmente en una nueva fase histórica, que puede ser tan importante como el descubrimiento de la imprenta. La inteligencia artificial es un aliado estratégico del talento humano para lograr objetivos mucho más ambiciosos. Y el mayor reto será no sólo cómo conseguir un futuro más productivo y competitivo, sino también más creativo y humano.






