Software Intelligence

En la aplicación de las tecnologías digitales y de los nuevos modelos de negocio también digitales, radica el motor del cambio para la transformación digital, que no sólo involucra el uso intensivo de software en el desarrollo y mantenimiento de innumerables aplicaciones, sino también al direccionamiento estratégico que se haga de él.

Por lo que, con más frecuencia se requiere conocer los impedimentos y facilitadores para el desarrollo y mantenimiento de aplicaciones, relacionados con indicadores clave de la salud estructural del software y del cumplimiento de las mejores prácticas y estándares de ingeniería de software, garantizando liberar aplicaciones desarrolladas con código seguro y que operen sin dificultades técnicas.

Ya no es suficiente medir la calidad y madurez de los procesos de desarrollo de software como lo hace el CMMI, actualmente tanto para aplicaciones robustas de back end como para aplicaciones ágiles de front end, que en conjunto forman el portafolio aplicativo, es necesario medir y controlar la calidad estructural del software, es decir, del código desarrollado, hay que gestionarlo con inteligencia y profesionalismo, con información basada en hechos y métricas clave comparables en el tiempo que determinen el estado de salud, seguridad, composición, robustez, estructura, arquitectura, complejidad, eficiencia, capacidad de cambio y tamaño funcional, esto con el fin de optimizar el rendimiento, controlar los riesgos, remediar las fallas, evitar posibles interrupciones, violaciones de seguridad y corrupción de datos. Además, esto es una gran ayuda para comprobar si la propuesta de valor técnico de los proveedores y del personal interno se está cumpliendo, y si el tamaño y costo de los equipos de trabajo es el adecuado.

Si se tiene lo anterior, el CIO y los líderes de la transformación digital logran tener un enfoque más objetivo, dirigir los esfuerzos y justificar sólidamente las inversiones y los gastos asegurando que realmente contribuyen valor al negocio e incrementan las capacidades digitales, ya sea en software, en proveedores de desarrollo y en el equipo interno de programadores, al mismo tiempo que se conserva la modernidad necesaria del portafolio aplicativo realizando las actualizaciones en el momento oportuno.

Todo lo descrito en los párrafos anteriores es Software Intelligence, en otras palabras, es el conocimiento y comprensión de la compleja estructura del portafolio de aplicaciones y componentes de software, obtenida por otro software que realiza el análisis y proporciona un conocimiento profundo acerca de la salud y métricas clave del software, de sus entornos de desarrollo, sus componentes, interdependencias, redundancias y en detalle del código fuente para identificar riesgos, vulnerabilidades y mejoras posibles al código.