Estadísticas del fracaso, un reto para la IA – Parte I

Con el auge de la IA se acerca el punto de inflexión para la ejecución de proyectos de software como los conocemos hoy, entendiendo los motivos del fracaso, exploremos una visión de como los modelos de inteligencia artificial pueden potenciar el éxito en los proyectos de software.

Empecemos con algunos datos:

Cientos de tecnologías y emprendimientos aparecen cada día, es abrumador (e ineficiente) tratar de estar actualizados. Pero a pesar de cada nueva tecnología y de cada nueva herramienta en tendencia, los proyectos de software siguen teniendo cifras muy por debajo de lo aceptable en cuanto a éxito y eficiencia. El fracaso de proyectos de software es algo con lo que hemos lidiado siempre, no es nuevo, y la industria ha empleado diferentes estrategias para procurar mejores resultados, hemos pasado por herramientas de desarrollo, lenguajes de programación, marcos de ejecución de proyectos, desagregación extrema de roles, complejos sistemas de gestión de requerimientos, abstractas capas de arquitectura, redundantes niveles de gerencias y administración, inmersión en conceptos de negocio, casos de prueba de amplia cobertura, automatización en todos los niveles del proceso, ingeniería social, enfoques cognitivos asociados a la experiencia de usuario…etc; y podemos asegurar que un alto grado de entes divinos y supernaturales son incluidos por los equipos en cada proyecto. Pero las cifras no mienten, los proyectos de software siguen fracasando y la industria está realmente lejos de la convergencia, cada organización es una isla y cada isla esta sectorizada y desagregada en un sin número de componentes ensimismados.

La IA apareció en el escenario, creando pánico, esperanza, expectativa y frustración. Implementaciones muy interesantes de modelos de inteligencia artificial empiezan a proliferar por todos los rincones del planeta, disrupciones sin control que saturan aún más el panorama de la industria del software, el trasfondo continúa, divergencia absoluta, cada modelo busca solucionar necesidades específicas de igual manera a como hoy cada plataforma o aplicación de software busca el mismo fin.

Muchos CEOs, gurús y expertos han vaticinado la abolición de una buena parte de la fuerza laboral, la humanidad ya vivió algo parecido con la revolución industrial, parte del temor es cierto, pero más que abolir, estas disrupciones transforman los roles y estructuras laborales. Y respecto a la industria del software, de alguna manera es inocente imaginar que la IA va a solucionar la problemática asociada al fracaso de los proyectos, es más, muchos lanzan recomendaciones para que las nuevas generaciones dejen el aprendizaje en programación y habilidades afines, argumentando que la IA va realizar en un futuro cercano estas actividades sin intervención humana, pero la problemática principal de los proyectos de software no tiene que ver del todo con la parte ingenieril, los principales problemas son de índole psicosocial/psicoempresarial.

Empecemos por definir las razones más comunes para el fracaso de proyectos de software en unas pocas palabras: priorización, requerimientos, metas y comunicación; estas palabras tienen todo que ver con el ámbito humano y poco que ver con el ámbito técnico solucionable por los modelos generativos de la IA. Ver la industria de software desde la necesidad del ser humano no es nuevo, la industria avanzó mucho en este campo en la última década, centrándose en los problemas, la industria dio pasos valiosos para sacar el software de las corporaciones y ponerlo al servicio de toda la población, pero inevitablemente la proliferación de soluciones trajo consigo divergencia, y claro, hace parte del negocio, atender necesidades sin monopolizar el mercado (bueno, en teoría) es una excelente contribución a la economía. Los éxitos son muy sonoros, los unicornios son el santo grial para los emprendedores, pero el camino es complejo y no nos enteramos de todos los fracasos, la cifra no es consensuada por que no es fácil medir las debacles, sin embargo se estima que entre un 60% y 70% de los proyectos de software fracasan parcial o totalmente (fracasos asociados a costos, tiempos, uso, desuso, etc). Esto haciendo números muy ligeros para un país como Colombia que en el 2021 exportó software a razón de US299 millones implica que al menos US200 millones de forma directa o indirecta se botaron literalmente a la basura por el fracaso en los proyectos de software. Los porcentajes en el resto del planeta son similares, al margen de los ámbitos económicos, la industria convive con los fracasos, muchos autores y líderes de la industria los toman como parte del ecosistema, y el mantra preferido es iterar/fracasar, iterar/triunfar; claro está, triunfar después de mucho iterar.

Pero bueno, regresemos a lo que nos interesa en esta serie de artículos, qué tiene la IA que aportar para disminuir el porcentaje de fracaso en los proyectos de software?. Iniciemos por un concepto clave en todo esto, la divergencia. Hace unos párrafos hablamos de la índole psicosocial/psicoempresarial relacionada con el fracaso de los proyectos, visto desde una perspectiva macro, la divergencia causa que las islas independientes (éxitos o fracasos) no se aporten entre si. No se aportan entre si estrategias, tecnologías, resultados ni experiencias; mucho menos información de negocio ni metainformación del mismo. En otra palabras, los US200 millones perdidos en los intentos de éxito solo suman débiles anécdotas que no explotan el componente humano del fracaso; las lecciones aprendidas son menospreciadas y se pueden encontrar resumidas en cualquier literatura de gestión de proyectos.

Lo anterior nos deja deducir algo obvio, modelos de IA que tomen metadata de los proyectos con variables psicosociales/psicoempresariales para encontrar correlaciones entre perfilamientos de los miembros del proyecto (clientes, proveedores, desarrolladores, administradores, etc), los factores de fracaso y los factores de éxito. Algunos acercamientos parciales a esto podemos encontrarlos de manera esporádica en artículos técnicos de varias universidades auque sin un uso práctico aún, de tal manera que la cuestión no tan obvia es como llevar a la práctica esto en nuestra industria de forma realista en un corto y mediano plazo.

En los próximos artículos, compartiremos varias ideas de casos prácticos para incluir en el argot de nuestros equipos de desarrollo de software el concepto de convergencia, viendo la IA como facilitadora para llevar esto a la realidad.

Categorías
Desarrollo de Software

Un canal interesante de programación

Desde nuestro blog invitamos a todos a unirse al canal de cursos gratuitos en youtube de un integrante de nuestro equipo, 100% recomendado para todos aquellos que quieren iniciar o ampliar sus conocimientos en el mundo del desarrollo de software.

https://www.youtube.com/channel/UCfYFhpMHHvpeJKBLmSEqPew/featured

A Promagar. Youtube Channel

Categorías
Opinión

Y si no me reinvento, qué?

La pandemia que le ha dado el verdadero inicio al siglo ha traído una lista larga de problemas, el más grave por supuesto las dolorosas bajas alrededor del planeta , que muchos ven desde las estadísticas porque tal vez la muerte no les toca las puertas, y las estadísticas nos dicen que solo el 0.4% de la humanidad está contagiada y solo el 0.01% ha fallecido a partir de la enfermedad, los afortunados que no han llorado la partida de seres queridos, sufren el segundo problema de más impacto, la economía. Todos los factores avocaron una tragedia económica de las peores de las que se tengan memoria, con unas variables muy difíciles de controlar. La industria TI va saliendo bien librada, los indicadores de crecimiento y empleo si bien no crecen ni de cerca al ritmo en que venían, para muchas empresas por lo menos se han mantenido o han disminuido muy poco, otras corren la suerte de muchas compañías en el planeta que empiezan a desaparecer, por otro lado aunque las estadísticas de desempleo empeoran, la industria TI tiene cifras de ocupación estables. Sin embargo la dinámica corporativa y la recesión que se desencadenó por la pandemia obliga a que la industria TI tenga que re plantear su estructura. En todo el planeta se habla de reinvención, de innovación en tiempo de crisis, de replantear modelos que habían funcionado hasta que inició la pandemia, es un reto grande, la toma de decisiones implican afectaciones a muchos niveles dentro de las corporaciones. Pero ya hemos visto muchas veces que los efectos de la moda mediática son pasajeros, la pandemia nos va a acompañar muchos meses más, y podemos aprender de situaciones que aunque tenían circunstancias diferentes generaron escenarios como el que estamos viviendo, por ejemplo en las postguerras donde el concepto no fue reinvención, fue más acertado pensar en adaptación. Pensar en reinvención nos hace mirar muchas veces hacia la creación de productos o servicios nuevos, a realizar cambios fuertes sobre lo ya construido, a implementar variaciones que pueden tomar tiempo, en cambio, la adaptación tiene una naturaleza más pragmática, menos invasiva. Adaptar nuestra operación a los factores actuales puede marcar la diferencia entre sobrevivir o perecer, adaptarse es entender el factor provisional que tiene la pandemia, dejar el capitalismo oportunista en el que nos montan los medios y los grandes jugadores y solidarizarnos con la realidad, la recuperación económica va a tomar tiempo y debemos conservar el espíritu colaborativo de los primeros meses de confinamiento, debemos entender que la ley del más fuerte no aplica, funcionará mejor la adaptación que le permita a las empresas fuertes y a las empresas débiles vivir un día más, el 2020 y el 2021 deben pasar a la historia como los años en que nos olvidamos del capitalismo, en que no nos reinventamos de forma oportunista, años en donde el objetivo principal fue sobrevivir y adaptarnos de la mejor manera para ayudar a la sobrevivencia de los demás, 2020 y 2021 deben ser recordados como los años en que la adaptación a un turbulento medio cambiante le dio oportunidades justas a todos.