Llegamos a ustedes gracias a:



Reportajes y análisis

15 KPI para hacer el seguimiento de la transformación de DevOps

[07/09/2018] Cuando se embarca en un viaje de transformación, necesita tener un punto final a la vista -una especie de objetivo. El objetivo puede cambiar y probablemente lo haga; pero hoy, a medida que el equipo trabaja en los cambios y la implementación de nuevas capacidades, sus miembros deben alinearlas con objetivos medibles. Luego pueden usar indicadores clave de rendimiento (KPI, por sus siglas en inglés) para determinar si las actividades del equipo están ayudando a lograr estos objetivos y qué tan rápido.

Establecer objetivos medibles y comunicar los indicadores de rendimiento clave, es fundamental para las transformaciones de DevOps. DevOps maneja un nuevo conjunto de prácticas, cambios culturales y nuevas formas para que las áreas de TI colaboren en los objetivos operativos y de desarrollo.

Puede ser una inversión importante para las organizaciones más grandes y una inversión que requiere una revisión constante de las prioridades: ¿Qué aplicaciones deberían desarrollar las fuentes de integración y entrega continuas (CI/CD, por sus siglas in inglés)? ¿Cómo se prioriza qué trabajos de implementación automatizar? ¿Qué patrones de infraestructura vale la pena automatizar con la infraestructura como código (IaC, por sus siglas en inglés)? ¿Cuál es el estándar mínimo para implementar monitoreo de aplicaciones y pruebas continuas?

Todas estas son cuestiones de prioridad, pero también hay preguntas de impacto: ¿realmente está entregando más rápido con DevOps? ¿Está mejorando la calidad? ¿Son las aplicaciones más estables? ¿Se está recuperando de problemas más rápido?

El arte de definir KPIs es seleccionar los que son más relevantes para los objetivos. Para comenzar, este artículo analiza 15 KPIs que puede usar en su programa de transformación. Hemos dividido los KPI en cuatro categorías:

  • KPI de negocios, que impactan directamente sobre los objetivos de negocio
  • KPI de cambio, que demuestran la capacidad de TI para impulsar aplicaciones, infraestructura o mejoras de servicio
  • KPI operativos, que demuestran la excelencia operativa
  • KPI culturales, que se centran en cómo colabora la organización de TI

Cuando DevOps tiene un impacto de negocio directo

Si puede identificar las metas que tienen un impacto directo en los objetivos de negocio estratégicos y los indicadores de desempeño, puede ayudar a impulsar la importancia de la transformación y potencialmente ayudar a financiarla. Considere una empresa de e-commerce con una aplicación lenta o inestable que mejora las métricas operativas mediante el crecimiento automático de la infraestructura de nube, en función de la demanda de los usuarios y la automatización de los procedimientos de recuperación para las alertas de aplicaciones.

Otro ejemplo puede ser un gobierno de la ciudad que encuesta regularmente a sus constituyentes para que se sientan satisfechos con sus servicios tecnológicos y los mejora con el tiempo a medida que el equipo de desarrollo libera más funciones y capacidades con mayor rapidez.

Un tercer ejemplo podría ser una universidad que reduzca los costos colocando un conjunto selecto de stacks de computación a manera de infraestructura como código y que demuestre costos operativos más bajos a medida que las áreas y los profesores trasladan las cargas de trabajo provenientes de los ambientes previos.

Estos ejemplos ilustran varios KPI que afectan a las empresas:

  • KPI financieros, donde DevOps tiene un impacto directo en los ingresos o los costos
  • Métricas de uso, para aplicaciones orientadas al cliente cuando hay objetivos de negocio definidos por aumentar
  • KPI de satisfacción del usuario, que pueden verse afectados al mejorar la frecuencia y la calidad del despliegue u otras métricas operativas

El factor clave en la selección de estos KPI es si existe una estrecha correlación entre las prácticas a las que apunta DevOps y el KPI de negocio. Si DevOps está afectando los KPI de negocio indirectamente o si es uno de varios factores que los está impulsando, las áreas de TI podrían considerar otros KPI sustitutos que tengan una correlación más directa.

Cuando DevOps conduce cambios más rápidos y de mayor calidad

Uno de los principales objetivos de DevOps es generar despliegues de aplicaciones más frecuentes, más funciones y capacidades técnicas para los usuarios, y menos defectos y problemas operativos derivados de los cambios.

Afrontémoslo: muchas organizaciones de TI están tratando de mejorar la reputación que tienen: ser lentas en sus respuestas y propensas a errores. ¿Cuánto tiempo lleva corregir la producción? Después de lanzar una nueva función, ¿cuántos lanzamientos de actualizaciones se tienen que hacer para que la aplicación vuelva a ser estable? ¿Cuántos defectos críticos se encuentran en producción?

Incluso los equipos de desarrollo de aplicaciones con buen desempeño se esfuerzan por mejorar la frecuencia de lanzamiento, la calidad de la aplicación y la velocidad de las funciones nuevas y mejoradas. Para ello, mejoran continuamente la automatización en sus fuentes CI/CD, automatizan más casos de prueba y modifican más prácticas de la seguridad de las aplicaciones.

Tampoco se trata solo del desarrollo de aplicaciones. ¿Con que velocidad puede TI desarrollar nuevas Hadoop, Spark y otras plataformas de ciencia de datos para llevar a cabo experimentos? ¿Qué tan rápido se emiten las actualizaciones? ¿Qué tan rápido se validan e implementan las reglas de firewalls?

Este segundo grupo de KPIs está diseñado para capturar la velocidad y la calidad en el manejo de los cambios:

  • Cambiar el tiempo de entrega. Esto define la duración total desde el momento en que se solicita el cambio hasta el momento en que se implementa completamente en producción. Los ejemplos incluyen hacer un cambio de aplicación, cumplir una solicitud de un ambiente informático e implementar una actualización crítica del sistema.
  • Funciones desplegadas por trimestre.Los líderes empresariales piensan en trimestres, por lo que este es un KPI que pueden interpretar. Tendrá que tener una definición razonable de lo que es una función, y no quedar demasiado atrapado en diferenciar lo que es una función "pequeña o "grande. El principal impacto para demostrar es que, con la automatización y menos defectos, el equipo de desarrollo de aplicaciones está produciendo mucho más.
  • Frecuencia de despliegue. ¿Se está implementando de manera trimestral, mensual, semanal, diaria o por hora? La automatización desarrollada en fuentes de CI/CD impulsa directamente las implementaciones más frecuentes.
  • Automatización de casos de prueba. Tres métricas que vale la pena seguir son la cantidad de casos de prueba que se han desarrollado, el porcentaje de éstos que están automatizados y la duración que lleva realizar pruebas diferentes. Algunos grupos también encuentran formas de medir la cobertura de pruebas, el porcentaje de flujos de aplicaciones y las interfaces de aplicaciones que tienen pruebas definidas. Cuanto más rápida sea la automatización, más pruebas se pueden incorporar como pruebas continuas en la fuente de CI/CD.
  • Tasas de escape de defectos.Esto define el número de defectos descubiertos en la producción. Esto se puede revisar por período de tiempo o como una relación con la cantidad de implementaciones.

Mida el impacto de DevOps en la excelencia operativa

La siguiente área en la que puede afectar DevOps es la operativa. Muchas de las métricas del área de TI, como el tiempo de actividad y el rendimiento de las aplicaciones, a menudo se ven afectadas por los programas de DevOps. Al ir más allá de estos KPI de base, DevOps también se puede medir de las siguientes maneras:

  • Tiempo promedio de recuperación (MTTR, por sus siglas en inglés) y tiempo medio de descubrimiento (MTTD, por sus siglas en inglés). Estas métricas representan mejor el impacto empresarial de las mejoras operativas. Todas las áreas de TI experimentan problemas operativos, y la pregunta clave es qué tan rápido se descubren y se resuelven. Es probable que los equipos que inviertan en la supervisión, la automatización de la respuesta a alertas, el registro de aplicaciones y los procedimientos de crecimiento afecten tanto al MTTR como al MTTD.
  • Horas de disrupción del negocio.Puede ser un KPI complicado de medir, pero habla de la duración en la que el negocio, los clientes o los usuarios experimentaron algún tipo de disrupción técnica, incluidas interrupciones planificadas, interrupciones no planificadas, rendimiento lento, retrasos en el procesamiento de datos y defectos de la aplicación que impactan el flujo de trabajo.
  • Deuda técnica cerrada. La deuda técnica captura un retraso acumulado de mejoras tecnológicas. Algunas deudas técnicas provienen de atajos que permiten liberar o arreglar algo más rápido, pero se implementaron de manera menos que óptima. Otra deuda técnica proviene de implementaciones o mejoras de diseño que solo se descubren y necesitan mejoras una vez que los usuarios usan la tecnología. Este KPI habla directamente sobre la cantidad de deuda técnica que se aborda. A medida que los equipos de tecnología mejoren su productividad a través de la automatización, debería haber más tiempo disponible para abordar los problemas técnicos de la deuda.
  • Reducciones de costos impulsadas por DevOps.Algunos aspectos de los costos se pueden reducir a través de la automatización de DevOps. Automatizar el lanzamiento o la reducción gradual de ambientes no utilizados o ligeramente utilizados puede generar ahorros. El monitoreo de las aplicaciones y la selección óptima de la arquitectura y la infraestructura también pueden generar ahorros.

Mida el impacto cultural de los programas de DevOps

Si DevOps está diseñado para abordar las brechas culturales que tradicionalmente han existido entre los desarrolladores y los administradores e ingenieros operativos, la pregunta es si esto se puede definir y medir con un KPI. La respuesta es sí, pero requiere pensar en definiciones y enfoques fáciles de medir. Algunos KPI de ejemplo:

  • Felicidad del equipo.Los equipos de TI que estaban en conflicto se culpaban mutuamente por cuestiones operativas, faltantes en los plazos y por la mala comunicación. Dado que DevOps alinea a los equipos con los objetivos, impulsa la automatización y reduce los traspasos de un equipo a otro, debe hacer que todos los trabajos sean más fáciles y agradables. Esto se puede medir utilizando encuestas a los empleados y otras métricas de participación de los empleados.
  • Eficiencia de la reunión. Las organizaciones que no están alineadas a menudo requieren más y más reuniones para acordar prioridades y resolver conflictos. Los equipos de desarrollo y operativos que se alinean más a través de DevOps deben requerir menos reuniones, más breves y más puntuales.
  • KPI de aprendizaje.La mayoría de las organizaciones tienen objetivos de aprendizaje y desarrollo, y los programas de DevOps son una excelente manera de involucrar a las áreas de TI en el aprendizaje de nuevas tecnologías y prácticas. El aprendizaje se puede medir mejor solicitándoles a los miembros de las organizaciones que les enseñen a otros lo que han aprendido a través de eventos como almuerzos de aprendizaje, demostraciones, discusiones y hackathons. Los KPI de aprendizaje pueden apuntar a capturar la frecuencia de estos programas de aprendizaje y sus impactos.

Elija los KPI de DevOps correctos que impulsen los objetivos de negocio

Ninguna organización debe tratar de implementar 15 KPIs a la vez. Las organizaciones inteligentes seleccionan los que mejor se adapten a los objetivos a mediano plazo, y luego diseñarán enfoques ligeros para medirlos. Eliminarán los KPI que son demasiado difíciles de definir o medir.

Como cualquier programa de transformación, comenzarán con un pequeño puñado de métricas en las que puedan demostrar ganancias rápidas y luego pasar a objetivos más desafiantes.

Isaac Sacolick es el autor de "Driving Digital: The Leader's Guide to Business Transformation through Technology, que cubre muchas prácticas, como agile, DevOps y ciencia de datos que son fundamentales para el éxito de los programas de transformación digital. Sacolick es un reconocido CIO social de alto nivel, bloguero de amplia experiencia en Social, Agile and Transformation en CIO.com. Es presidente de StarCIO.