Ser desarrollador es más exigente que nunca. Las tareas repetitivas que componen gran parte del desarrollo de software pueden llevar mucho tiempo y ser propensas a errores. El talento es escaso, los equipos están sobrecargados de trabajo, y muchas empresas no pueden mantenerse al día con el código existente cada vez más complejo y el creciente mercado para el desarrollo de nuevas aplicaciones.

Para los entusiastas de la IA, es emocionante especular sobre cómo la inteligencia artificial puede mejorar el desarrollo de software. ¿La IA ayudará a crear prototipos en días, en lugar de meses o años? ¿Enseñará a los desarrolladores humanos cómo codificar mejor? La investigación de inteligencia artificial es amplia, y la flexibilidad de la programación de computadoras es esencialmente ilimitada, por lo que es difícil imaginar cómo será el desarrollo de software cuando los programas inteligentes puedan ayudarnos a interactuar con el código.

Pero lo que muchos desarrolladores y gerentes tecnológicos no se dan cuenta es que la utilidad de AI para los equipos de desarrollo ha dado grandes saltos en los últimos años. De hecho, las primeras etapas del desarrollo de software asistido por IA ya están aquí.

La automatización está incompleta sin asistencia de IA

Es difícil encontrar una organización que no tenga como objetivo un desarrollo de software eficiente y ágil, y la tecnología de automatización ha hecho que la agilidad sea alcanzable a escala. La ejecución automática de pruebas ha mejorado la calidad del software en la última década al permitir que los desarrolladores reciban comentarios inmediatos sobre los cambios en su código y se ajusten en consecuencia. Las canalizaciones de software automatizadas utilizan asistentes de robot que generan solicitudes de extracción, lo que permite la entrega continua de actualizaciones.

Pero las empresas que han adoptado la tecnología a veces descubren que la automatización por sí sola no es suficiente. Los procesos automatizados aún tienen cuellos de botella, la mayoría de los cuales rodean la creación de nuevo código. Por ejemplo, la automatización de la ejecución de cientos o miles de pruebas unitarias se puede hacer rápidamente, pero el equipo de desarrollo tarda horas o semanas en escribir las pruebas por sí mismo. Sin pruebas para validar las confirmaciones, las canalizaciones automatizadas promueven la basura. Lo que de otro modo sería un proceso automático se divide por la necesidad de un esfuerzo manual continuo a medida que se agregan nuevos códigos (y nuevas pruebas).

AI para código

Actualmente, la IA existente para la tecnología de código puede abordar ambos problemas de una sola vez, escribiendo automáticamente código de prueba que valida el resto de la tubería de automatización. Este tipo de tarea anteriormente requería el tiempo de un desarrollador, lo que les impedía realizar el trabajo más satisfactorio y de mayor valor agregado, como la creación de nuevas funciones. La IA utilizada para las pruebas unitarias abre la puerta a una automatización más completa de procesos importantes, pero lentos y tediosos.

Como podría esperarse, las pruebas creadas por AI se ven diferentes de las escritas por humanos, pero se producirán en una fracción del tiempo y funcionan igual de bien, si no mejor, para garantizar que se capturen los cambios de descifrado de código mientras Todavía es fácil arreglarlos. Después de todo, como Martin Fowler resumió en su artículo de 2006 sobre Integración continua: "Las pruebas imperfectas, ejecutadas con frecuencia, son mucho mejores que las pruebas perfectas que nunca se escriben en absoluto".

De esta manera, la IA puede comenzar a romper el equilibrio entre el tiempo, el costo y la calidad del trabajo con el que luchan los desarrolladores y los gerentes de TI. El desarrollo asistido por inteligencia artificial puede ayudar a los desarrolladores a crear nuevos productos más rápido y más rentable sin comprometer la calidad. Con las tareas repetitivas completadas de manera confiable y rápida, los desarrolladores pueden volver a las tareas creativas que los atrajeron a sus trabajos en primer lugar.

La increíble eficiencia de la IA

En algunas industrias que otorgan un alto valor a la calidad de su código, como las finanzas, el desarrollo de software asistido por IA ya está en uso. Goldman Sachs, por ejemplo, recientemente utilizó IA para el código para mejorar la eficiencia de su desarrollo de software. Al aprovechar una herramienta de IA para escribir más de tres mil pruebas unitarias para una aplicación heredada con quince mil líneas de código, crearon un conjunto de pruebas completo en horas. En comparación con pasar un promedio de 30 minutos escribiendo cada prueba unitaria manualmente, la herramienta de IA pudo escribir pruebas más de 180 veces más rápido. En total, el banco logró ahorrar más de un año de tiempo para desarrolladores.

¿Que sigue?

A medida que la tecnología de IA continúa avanzando y se desarrollan soluciones para más casos de uso, las inversiones en IA para el desarrollo de software se volverán más comunes en todas las industrias. No pasará mucho tiempo antes de que la integración de un nuevo nivel de herramientas para aumentar la eficiencia en el proceso de desarrollo sea un requisito para mantenerse competitivos y crecer a escala. Pero mientras tanto, las primeras iteraciones del desarrollo de software asistido por IA ya están aquí y dan una idea de lo que podemos esperar del futuro de la codificación.

¿Interesado en escuchar a líderes de la industria discutir temas como este? Asista a la 5G Expo, IoT Tech Expo, Blockchain Expo, AI & Big Data Expo y Cyber ​​Security & Cloud Expo World Series con eventos próximos en Silicon Valley, Londres y Amsterdam.






Dejar respuesta

Please enter your comment!
Please enter your name here