Cómo la inclusión de IA puede impactar el ciclo de vida de desarrollo de software (SDLC)

Dentro del mundo del desarrollo del software la búsqueda de mayor velocidad y eficiencia es una constante. Desde la implementación de metodologías hasta la adopción de DevOps. Hoy, la incorporación de Inteligencia Artificial (IA) emerge como la siguiente frontera para optimizar este campo. Según un informe de McKinsey & Company, el uso de la IA en las compañías ha crecido rápidamente en el último año, con el 78% de las empresas utilizando IA al menos en una de las funciones de negocio. [1]

Aunque la tecnología es una industria en la que la velocidad es parte fundamental, el deseo por mantenernos a la vanguardia puede llevarnos a adoptar procesos o herramientas sin un análisis previo. El boom que ha tenido la adopción de la IA ha sido gigantesco, pero también lo ha sido la sensación de quedar rezagado si no se empieza a implementar. Es por eso que, en la búsqueda de utilizar el gran potencial de la Inteligencia Artificial de manera acertada en el SDLC, se deben considerar diferentes puntos para lograr potenciar al máximo su uso evitando cambiar unos problemas por otros.

Desafíos en las compañías

El primer punto a tener en cuenta es la identificación de los cuellos de botella en cada organización con el fin de atacar los puntos que generen mayor retraso y dificultad. Teniendo en cuenta que el objetivo es poder lograr optimizar y hacer más eficiente el SDLC, se debe tener claro qué atacar.

Entre los desafíos más comunes de las organizaciones se encuentra el iniciar proyectos y romper la brecha entre el negocio y la parte técnica. Traducir las necesidades del negocio a los desarrolladores puede ser desafiante, o definir un roadmap claro que lleve a satisfacer esa necesidad de negocio. Por otro lado, para empresas que tienen una estrategia de CI/CD implementada, muchas veces hay falta de conocimientos específicos en herramientas clave que son necesarias para la solución de errores y problemas que pueden detener despliegues en ambientes pre productivos o salidas a producción, por lo que llegar a la solución de esos errores puede tomar más tiempo del necesario. También cuando una empresa tiene una estrategia de observabilidad, la cantidad de información y alertas generadas puede llegar a ser abrumadora y no generar el valor esperado si no se gestiona correctamente. Al igual que estos ejemplos, pueden existir otra cantidad de puntos a mejorar en el ciclo de vida del desarrollo de software que atacándolos lograremos hacer un poco más eficiente.

Aunque en cada organización el contexto y la madurez de los procesos es totalmente diferente, se puede tomar como base el ciclo DevOps para lograr identificar herramientas y procesos a incluir que aporten a este ciclo.

Riesgos y desafíos

Ahora, si bien la IA tiene un gran potencial en el SDLC, implementarla puede llegar a presentar desafíos que deben abordarse para evitar retrasos en lugar de mejoras:

  • Dependencia excesiva en la IA: Confiar ciegamente en la IA puede llevar a pasar por alto errores que requieren juicio humano. Por lo que se deben contemplar estrategias de mitigación que permitan mantener la revisión humana que pueda validar detalles que la IA no logre identificar.
  • El uso de modelos pagos públicos puede llegar a exponer de información sensible de la compañía o sus usuarios.
  • Como todo cambio, la implementación de la IA dentro de los procesos de desarrollo puede resultar abrumador y desafiante en primera instancia, por lo que es necesario considerar estrategias graduales de sensibilización e implementación que logren hacer los cambios necesarios sin impactar negativamente a los diferentes actores.

Medición

Para evaluar el impacto que la implementación de IA en el SDLC pueda tener, es fundamental medir los resultados obtenidos. Algunos indicadores clave podrían ser:

  • Productividad del desarrollador: Herramientas de IA como GitHub Copilot han permitido a los desarrolladores completar tareas de codificación un 55% más rápido, aumentando la satisfacción laboral entre el 60% y el 75%. [3] Aquí no solamente sería interesante tener en cuenta la cantidad de tareas realizadas, sino también la percepción del desarrollador de su productividad y su satisfacción.
  • Calidad del código: Cómo cambian las métricas de calidad del software utilizando IA en el SDLC.
  • Tiempo de entrega: La velocidad con la que se entregan productos al mercado puede ser un indicativo importante a nivel de negocio.

En cada caso, es necesario analizar qué métricas son realmente valiosas para medir el impacto real de la estrategia de implementación.

Conclusión

Teniendo claro sobre qué puntos trabajar, los riesgos y midiendo el impacto de la iniciativa, se puede definir un roadmap claro que realmente sea beneficioso para la organización. De acuerdo a estimaciones publicadas por McKinsey, el impacto de IA en la productividad sobre la ingeniería de software podría ir desde 20 hasta 45%. [4] Es necesario tener claro el contexto sobre el cual se desea hacer la implementación sin dejar de lado los procesos, la cultura y los actores involucrados.

En definitiva, la IA tiene el potencial de transformar DevSecOps y optimizar el desarrollo de software, pero su adopción debe hacerse con un enfoque estratégico y bien gestionado para maximizar sus beneficios sin comprometer la calidad y la seguridad del software. De esta forma, ayudar a que su inclusión dentro de las compañías sea más que una moda, y, por el contrario, aprovechar al máximo sus beneficios.

Bibliografía

  1. https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai
  2. https://arxiv.org/pdf/2302.06590
  3. https://github.blog/news-insights/research/research-quantifying-github-copilots-impact-on-developer-productivity-and-happiness/
  4. https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/the-economic-potential-of-generative-ai-the-next-productivity-frontier#key-insights
  5. https://www.colglobalnews.com/noticias/la-ia-impulsa-la-evolucion-del-desarrollo-de-software-pero-no-reemplaza-a-los-programadores?utm_source=chatgpt.com
  6. https://www.mckinsey.com/industries/technology-media-and-telecommunications/our-insights/how-an-ai-enabled-software-product-development-life-cycle-will-fuel-innovation

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *