La velocidad de la economía digital ha enfrentado a las empresas a muchos desafíos, entre los que destaca el imperativo de innovación continua a un ritmo nunca visto. El reto es especialmente exigente para las empresas cuyos negocios pivotan sobre el software, a las que la conexión permanente, multicanal y cada vez más móvil de sus clientes les ha obligado a transformar radicalmente cómo conciben y desarrollan el software.

La aceleración de la innovación implica que las empresas están continuamente desarrollando y poniendo en producción nuevo software. Esta situación, cuando no existen políticas y mecanismos de control adecuados, conduce al aumento exponencial de los costes de desarrollo, pero también deriva en una progresiva pérdida de control sobre las aplicaciones. Asegurarse de que el tiempo de respuesta de las aplicaciones es el mejor posible, de que su consumo de recursos de infraestructura es el óptimo y de que cumplen con los objetivos de negocio, significa garantizar que su funcionamiento satisface tanto a los clientes como a la empresa, es decir, cumplir el sueño de los CEO y los CIO.

Para ello, y a diferencia de lo que sucedía hace años y lamentablemente aún sigue ocurriendo, ya no es posible abordar proyectos puntuales de optimización del software. Ahora es imperativo desarrollar y nutrir una cultura de optimización continua. Utilizaré un símil sencillo: para adelgazar y mantener un peso saludable, de poco sirven las dietas milagro: es necesario adoptar unos hábitos de alimentación nuevos.

Lo que el CEO y el CIO quieren saber es “cómo de bien” funciona su tecnología desde el punto de vista del coste y del servicio a los clientes

En el mundo del desarrollo de software, la metodología DevOps ha contribuido de forma decisiva a esta reeducación, pero es necesario ir más allá e integrar en la ecuación el concepto de rendimiento. Al fin y al cabo, este es, junto a los costes, el verdadero rey. De esta forma, bajo las siglas DevPerOps —que es la metodología que hemos desarrollado en Orizon— ya hay empresas que han empezado a establecer relaciones entre las aplicaciones y los objetivos de negocio, para garantizar que, efectivamente, se cumplan.

En pocas palabras, con DevPerOps introducimos el concepto de rendimiento dentro del ciclo DevOps y dotamos así a todo el ciclo de desarrollo y operación de software de una visión de negocio.

Lo que el CEO y el CIO quieren saber de la tecnología

Son muchas las soluciones en el mercado que prometen cumplir con esta visión, y son tan caras como excelentes en todo lo relacionado con la monitorización y el análisis del rendimiento. El “pero” es que, habitualmente, su funcionamiento se circunscribe a un determinado entorno y, en muchas ocasiones, solo contemplan el rendimiento cuando el software ya está en producción. Esa realidad choca directamente con otra aún más evidente: ni al CEO ni tampoco al CIO les interesa especialmente conocer la traza de un determinado entorno, lo que verdaderamente quieren saber es cómo de bien funciona su tecnología, tanto desde el punto de vista del coste como desde el del servicio a los clientes. Básicamente, lo que quieren es saber cuál es el nivel de rendimiento y cuánto cuesta el mainframe, el sistema distribuido o la factura de los servicios cloud.

Esa es justamente la información que proporciona nuestra herramienta BOA (Boost & Optimize Applications) y la materia prima con la que trabaja nuestra Oficina Técnica del Rendimiento (OTR). Es la información que permite saber —de forma global, ágil, granular y hasta un nivel profundo de código del software— lo que está pasando en un determinado entorno, en un momento definido.

¿Cuál es el coste de la infraestructura, que es consecuencia del mal funcionamiento del software?

  • Primero, ¿cuál es el coste de la infraestructura, que es consecuencia del mal funcionamiento del software? Esta es una pregunta cuya respuesta significa ahorros directos en el TCO del mainframe, o en los sistemas medios o en la factura del cloud.
  • Segundo, ¿cuál es el tiempo de respuesta? Esta es una cuestión en absoluto banal, puesto que la lentitud o imposibilidad de completar un servicio significa correr el riesgo de perder clientes.
  • Tercero, ¿se está dando cumplimiento a los servicios en tiempo y forma? Si no es así y, por ejemplo, la red de oficinas de una entidad bancaria no dispone a primera hora de la mañana del informe comercial, sucederán al menos dos cosas: las oficinas no funcionarán de la forma más eficiente ese día y, segundo, no se cumplirá la normativa.

Solo con ese conocimiento es posible identificar los problemas y solucionarlos de forma transparente para evitar situaciones aparentemente inconcebibles, pero todavía hoy demasiado frecuentes. Por ejemplo, que una mala programación —de la que la organización ni siquiera tiene visibilidad— impacte negativamente en la cuenta de resultados. BOA es, por tanto, la herramienta perfecta para llevar a la práctica DevPerOps, una evolución de DevOps que incorpora el concepto de rendimiento (performance) dentro del ciclo de desarrollo de aplicaciones.

Una mirada atenta a los proveedores

Por otro lado, la mirada de BOA llega más lejos. En un mundo como el del desarrollo de software, en el que la externalización es la tónica predominante, es también fundamental que los encargados de hacer el desarrollo perciban que alguien está monitorizando, midiendo y detectando puntos problemáticos.

Efectivamente, este enfoque implica alargar el ciclo de desarrollo, pero los resultados lo valen. Si hacemos una analogía con el hecho de realizar un examen, podríamos decir que no basta con estudiar y llegar a tiempo al examen; eso no garantiza el aprobado, alguien debe corregir el examen y darle una puntuación. En el mundo DevPerOps, a la entrega de un software le sigue una evaluación, y si el resultado es malo, el software no pasa el examen que ha de incluir una valoración en cuanto a su rendimiento. BOA proporciona los necesarios KPI de medición de calidad de software, que permiten desde gestionar los proveedores hasta generar rankings a partir de parámetros de servicio específicos (tiempos de entrega, velocidad de corrección…), pasando por su uso como criterio de selección.

En el mundo DevPerOps, a la entrega de un software le sigue una evaluación, y si el resultado es malo, el software no pasa el examen

En este punto, es importante tener algo en cuanta. Evidentemente, la optimización de software tiene un impacto positivo directo en la cuenta de resultados desde el punto de vista de ahorro en el consumo de infraestructuras y mejora de la eficiencia. Pero este impacto es aún mayor cuando se trata de la gestión de proveedores, especialmente en sectores como el bancario y el asegurador, donde la factura en horas de desarrollo no es algo trivial y las ineficiencias se pagan caras en términos de satisfacción y fidelidad del cliente.