parÁmetros que valen la pena medir representación de … · parÁmetros que valen la pena medir...
TRANSCRIPT
Calidad
Velocidad
Eficiencia
Participación
G U I D E B O O K S E R I E S
ACHIEVING DEVOPS
PARÁMETROS QUE VALEN LA PENA MEDIR
Representación de los KPI DevOps en su mainframe
2
Las soluciones DevOps son indispensables para las grandes
organizaciones habilitadas con mainframes que luchan contra
las interrupciones. Ayuda a recargar los canales de comunicación,
promover la colaboración y reestablecer la transparencia.
Ayuda a acelerar el desarrollo de aplicaciones en mainframes y
proporcionar procesos y tecnología moderna. También ayuda
a alinear mejor los entornos del mainframe con las tecnologías
dedicadas que admiten, de modo que usted pueda simplificar
la entrega de innovación a los clientes.
Pero, como las cargas de trabajo del mainframe aumentan y
los expertos se retiran, sus equipos deben realizar una transición
de “hacer DevOps” y “hacer Agile” para mejorar continuamente
su desarrollo y entrega en cuanto a calidad, velocidad y eficiencia
bajo la cultura, procesos y cadenas de herramientas con las
que cuentan y que están en evolución.
3
KPI: Su camino a la mejora continua Para mejorar continuamente sus iniciativas DevOps, necesita establecer objetivos para eliminar los obstáculos, desperdicios e ineficiencias en el entorno de su mainframe que son únicos para su sistema. Usted alcanza estos objetivos al establecer los indicadores clave de rendimiento (KPI) y los parámetros que le permiten medir el progreso y tomar decisiones basadas en datos para lograr el éxito.
Los KPI que su organización mide serán diferentes a los que otras organizaciones calculan. No obstante, el libro research Compuware conducted with Forrester muestra que todas las organizaciones deben medir tres cosas conjuntamente sin duda alguna:
Creemos firmemente que la participación es otra área que vale la pena medir, ya que afecta a los otros tres KPI. Para medir la productividad en estas áreas, ofrecemos a los clientes activos de Compuware un servicio gratuito: zAdviser. Utiliza el aprendizaje automático para
encontrar correlaciones entre las conductas del desarrollador y los KPI basados en datos que usted proporciona de las iniciativas de desarrollo, que le ayudan a tomar decisiones basadas en datos para mejorar continuamente la calidad, la velocidad y la eficiencia.
CALIDAD VELOCIDAD EFICIENCIA
4
Fijarse demasiado en un objetivo reducirá la efectividad de los demás, de modo que, es indispensable encontrar un delicado equilibrio entre cada uno y ajustarlos continuamente a medida que se presentan los obstáculos para realizar mejoras reales en el desarrollo y la entrega de una innovación diferencial de manera competitiva.
En este documento, en vez de darle una letanía de parámetros para empezar a medir, compartiremos algunos conocimientos básicos, pero poderosos, basados en liderazgo de investigación, así como nuestras propias experiencias y las de nuestros clientes. Prepárese para aprender sobre:
Verá que hay interferencias claras y constantes entre cada KPI, dado que cada una de ellas impacta a la otra de manera indefinida. Para ser breve, no profundizaremos en los matices entre los KPI y los parámetros o las diversas prácticas y herramientas que puede impulsar para mejorar cada una de ellas de manera simultánea. Pensamos que estas similitudes aparecerán por sí solas. Abstenerse de hacer conexiones tangenciales para usted le dará la oportunidad de confirmar por sí mismo la forma en que aplique la información que proporcionamos aquí con la flexibilidad en sus propios entornos.
Empecemos.
OBJETIVOS DE KPI para centrarse en
calidad, velocidad y eficiencia
PARÁMETROS QUE VALEN LA PENA MEDIR
para ayudar a medir su progreso
METAS DE MEJORA CONTINUA
con nuevas prácticas para mejorar los parámetros
FACILITADORES DE MEJORA CONTINUA
para respaldar las nuevas prácticas que implemente
5
Dado al alto volumen de transacciones comerciales complejas que
los mainframes procesan a diario, la precisión es y siempre ha sido
una prioridad.
Los profesionales de mainframe siempre han prestado extrema
atención a la calidad, invirtiendo el tiempo necesario para asegurar
aplicaciones relativamente sin fallos. Y como se solicita a las
organizaciones de mainframes entregar el código de manera más
rápida para apoyar a la transformación digital, la medición de la
calidad se ha vuelto aún más importante.
Sin embargo, un enfoque corto en la calidad sería una limitación para
la velocidad y la eficiencia. En la medida que sus equipos centrales se
unan con los equipos periféricos bajo las DevOps, es importante que
continúen su éxito con la calidad. No obstante, deben reducir el
tiempo y aumentar la eficiencia con la cual la aseguran.
Objetivo #1 de KPI Incrementar la calida del desarrollo
6
Errores no detectados frente a errores detectados: Objetivo #1 de mejora continua
Aumentar el entendimiento del programa: Proporcionar un medio para que los
desarrolladores visualicen los programas e identifiquen los posibles impactos de cambio
del código para que puedan tomar decisiones inteligentes. Publicar normas de codificación
que sirvan de guía para los desarrolladores y puedan seguir garantizando la consistencia.
Errores no detectados frente a errores detectados: Facilitadores de mejora continua para el objetivo #1
Objetivo #1 de KPU: Incrementar la calidad del desarrollo
PARÁMETROS QUE VALEN
LA PENA MEDIR
Errores no detectados
frente a Errores detectados:
Calcula cuántos errores “se
escapan” a la producción (malo) frente a cuántos
errores son “detectados” en las
pruebas (bueno)
FOR PROGRAM ANALYSIS
Compuware
Topaz®
Topaz for Program Analysis para la visualización de aplicaciones de mainframe
desconocidas o complejas, incluido el análisis del tiempo de ejecución con su
función Runtime Visualizer (Visualizador del tiempo de ejecución), para mejorar
el entendimiento del desarrollador antes de realizar cambios
Compuware
ISPW®
ISPW para mostrar los posibles impactos de los cambios de código durante
las compilaciones; comparar las versiones de código; detectar y combinar
fácilmente los cambios; y revertir automáticamente las versiones
problemáticas a la mejor versión más reciente
7
Errores no detectados frente a errores detectados: Objetivo #2 de mejora continua Pruebas automatizadas: Automatizar sus prácticas de prueba manuales, repetitivas, susceptibles
a errores, frecuentemente ignoradas que permiten que los errores se deslicen hacia la
producción y prolonguen los ciclos de desarrollo. La construcción de un banco de pruebas
repetitivo aumenta sus posibilidades de detectar errores, y el incremento de pruebas a través de la
automatización con el tiempo hace más fácil identificar problemas recurrentes que podrían
significar malas prácticas de codificación que provoca los problemas. En general, las pruebas
automatizadas mejoran la calidad de código y deja más tiempo libre para la innovación. El
beneficio real es la mejora en la satisfacción del cliente, ya que ellos detectarán menos errores.
Errores no detectados frente a errores detectados: Facilitadores de mejora continua para el objetivo #2
Topaz for Total Test para automatizar la creación y la ejecución de pruebas unitarias para encontrar y arreglar fallos en una etapa más temprana del proceso de desarrollo, antes de realizar las pruebas o la producción
FOR TOTAL TEST
Compuware
Topaz®
Hiperstation para realizar pruebas repetitivas a través de la creación de pruebas automatizadas con secuencia de comandos que reproducen funciones en modo desatendido para que no ignore los problemas
Compuware
Hiperstation®
Objetivo #1 de KPU: Incrementar la calidad del desarrollo
SonarSource SonarQube para rastrear los defectos en el programa, la complejidad y la deuda técnica mientras se muestran los resultados en un panel intuitivo que facilita la gestión de los proyectos
sonarlintSonarSource SonarLint para los controles de calidad del código sobre la marcha y la emisión de señales para facilitar la solución de problemas
8
Xpediter para la depuración interactiva y Xpediter Code Coverage para una
representación visual de las estadísticas de ejecución de código capturadas que
muestran si se está probando el nuevo código y cumple con los estándares de calidad
Compuware
Xpediter®
SonarQube para que los niveles de calidad y la cobertura de código comparen
los resultados de ejecución de código con el porcentaje de una aplicación que
ha sido probada con tendencias y parámetros de calidad más amplios para
diversas plataformas
Errores no detectados frente a errores detectados: Objetivo #3 de mejora continua
Incrementar la depuración con cobertura de código: Los datos muestran equipos de
triaje efectivos que mantienen el incremento de la depuración de alta calidad a medida que
incrementan los errores. Incrementar su depuración para encontrar y arreglar fallos antes
del despliegue. Usar la cobertura de código para ver que el código ha sido probado y está
funcionando correctamente para evitar que los fallos se escapen. Implementar niveles de
calidad para evitar que los códigos de baja calidad pasen a la siguiente fase.
Errores no detectados frente a errores detectados: Facilitadores de mejora continua para el objetivo #3
Un enfoque corto en la calidad sería
una limitación para la velocidad
y la eficiencia.
Objetivo #1 de KPU: Incrementar la calidad del desarrollo
9
Como los equipos de mainframe trabajan para acelerar el
desarrollo y la entrega con prácticas DevOps, la medición de esa
velocidad ayuda a determinar cuánto trabajo se puede completar
dentro de un cronograma dado. Otra forma de verlo es medir cuán
rápido los equipos de mainframe pueden reaccionar para entregar
un requerimiento.
Mucho del desarrollo de mainframe gira en torno al mantenimiento
y al arreglo de fallos, dejando poco tiempo para la verdadera
innovación. En gran parte, para entregar códigos de manera más
rápida se necesitará encontrar formas para encontrar y arreglar
fallos más rápido.
Un área que es afectada por la velocidad es con qué frecuencia
usted puede desplegar nuevas innovaciones y arreglos en la
producción. Las prácticas DevOps hacen posible un despliegue
continuo. Al usar ciclos de retroalimentación cortos y rápidos,
usted puede desplegar a menudo varias veces al día. Mientras más
eficiente es su equipo, más rápido podrá desplegar los cambios a
sus clientes.
Objetivo #2 de KPI Incrementar la velocidad del desarrollo
10
MTTR y MTTD: Metas de mejora continua
Detección de errores “Shift Left”: Hace más fácil identificar rápidamente los problemas
en una etapa más temprana del proceso de desarrollo con una detección de errores
inteligente y una visualización de tendencias y picos de error. Integrar la detección
a una herramienta de informe de errores que rastrea y prioriza los fallos en una lista,
ayudando a los desarrolladores a enfrentar primero los problemas más grandes.
Permitir una depuración interactiva: Los desarrolladores encargados de solucionar los
errores deben ser capaces de iniciar rápidamente una sesión de depuración “interactiva
estratificada” con una visibilidad línea por línea de la ejecución del código, ayudándolos
a detectar rápidamente y validar los errores a arreglar.
Automatizar las pruebas unitarias: Acelerar el proceso para encontrar fallos de bajo
nivel en las pequeñas partes de las aplicaciones en una etapa temprana del proceso
de desarrollo, de modo que los problemas en cuestión sean más fáciles y rápidos de
arreglar. Esto también asegura que un código más puro se mueva por las fases de
pruebas posteriores, ayudándolos a ir más rápido.
Implementar la cobertura de pruebas unitarias: La cobertura de código de las pruebas
unitarias muestra qué código ha sido ejecutado y qué porcentaje de una aplicación se
ha sometido a prueba, reduciendo el tiempo necesario para implementar o retornar los
programas a la producción y, así ayudar a los desarrolladores a determinar de manera
más rápida dónde el código necesita atención.
MTTR y MTTD: Facilitadores de mejora continua
Compuware
Strobe®
Strobe para monitoreo y análisis del rendimiento de la aplicación para detectar
problemas en el rendimiento en producción que puedan generar problemas en
Atlassian Jira que se encomiende a un desarrollador
Objetivo #2 de KPI: Incrementar la velocidad del desarrollo
PARÁMETROS QUE VALEN
LA PENA MEDIR
MTTR (TIEMPO MEDIO PARA REPARAR):
Mide el tiempo promedio que lleva reparar un fallo reportado
MTTD (TIEMPO MEDIO PARA DETECTAR):
Mide el tiempo promedio que
lleva para detectar un fallo en producción
11
Xpediter Code Coverage and SonarSource SonarQube para representaciones
visuales de estadísticas de ejecución de código capturadas para determinar de forma
más rápida si los estados se están ejecutando tal como se esperaba antes de seguir
Compuware
Xpediter®
CODE COVERAGE
Topaz for Total Test para la creación automática de escenarios para pruebas
unitarias, casos de prueba, afirmaciones de pruebas y datos de prueba para
eliminar procesos manuales lentos y repetitivos y acelerar los arreglos de fallos
FOR TOTAL TEST
Compuware
Topaz®
Objetivo #2 de KPI: Incrementar la velocidad del desarrollo
Compuware
Abend-AID®
Abend-AID para la solución de fallos de aplicaciones y gestión de fallos para la
detección de errores “shift left” y visualizar las tendencias y picos de fallos a través
de una integración con Syncsort Ironstream en Splunk o el Elastic ELK Stack
Compuware
Xpediter®
Xpediter para una depuración interactiva rápida línea por línea
12
Funciones/Módulos desplegados: Metas de mejora continuaReducir los ciclos de vida del desarrollo: Establecer un ritmo de entrega más rápido al disminuir los requisitos y reducir los ciclos de vida del desarrollo para sprints de dos semanas reiterativos a través de los cuales entrega un mínimo de productos ejecutables, piezas específicas de funcionalidad entregada en series más pequeñas para satisfacer las necesidades inmediatas del cliente en base a su retroalimentación. Desplegar funciones que contienen menos módulos reduce su riesgo de introducir algo malo.
Permitir una comparación por pares: Hace más fácil para los desarrolladores comparar las versiones del código, detectar cambios en el código o combinar los cambios del código más rápido antes de desplegar esos cambios.
Preparar lanzamientos: Encontrar una forma de automatizar, estandarizar y monitorear los despliegues del código a través de diversas plataformas en diversos entornos elegidos para asegurar que el código de sistemas centrales y periféricos pueda desplegarse en la misma proporción cuando sea necesario.
Funciones/Módulos desplegados: Facilitadores de mejora continua
Compuware
ISPW®
ISPW para una gestión ágil de códigos fuente, que permite un desarrollo simultáneo,
facilita la comunicación y la colaboración entre las funciones como alertas de
verificación de código, y mejora la visibilidad de las versiones del programa durante
todo el ciclo del desarrollo para asegurar una integración del código sin problemas
XebiaLabs XL Release para preparar la automatización, estandarización y monitoreo de los
despliegues del código a través de diversas plataformas en los diversos entornos elegidos
Jenkins para acelerar el proceso de desarrollo de software a través de la preparación y automatización del canal de despliegue
Objetivo #2 de KPI: Incrementar la velocidad del desarrollo
PARÁMETROS QUE VALEN
LA PENA MEDIR
Funciones/Módulos desplegados:
Mide la cantidad de trabajo que se
introduce en un despliegue,
incluido el número de módulos dentro
de una función
13
Medir la eficiencia le ayuda a entender cómo se ejecuta un trabajo satisfactoriamente sin desperdicios. Por otro lado, medir la eficiencia es cómo usted determina dónde se esconden sus más grandes ineficiencias, incluidas algunas que han existido por años como subproductos de un entorno en cascada anterior.
Esta es la parte principal de análisis de su canal de despliegue para ver cómo puede mejorar sus procesos DevOps, así como ayudar a sus equipos a mejorar el uso de las herramientas para asegurar que la tecnología que tienen a su alcance está siendo impulsada de forma adecuada y en la mayor medida posible.
Objetivo #3 de KPI Lograr eficiencia
14
Tiempo de entrega: Metas de mejora continua
Plantear la idea con los equipos de mainframe: Asegurar que los equipos de mainframe siguen siendo incluidos en el uso de las metodologías Agile como Scrum que conecta a gente de diversos roles para reunirse, evaluar y revisar ideas con conocimientos interfuncionales. Las reuniones Scrum incluyen standups (charlas de pie); planificación del sprint, revisiones del sprint y retrospectivas del sprint; y mejoras en la lista del producto. Cada fase ayuda a facilitar un camino disciplinado y organizado para dar prioridad a las ideas más importantes en las cuales trabajar, asegurando que se pongan en práctica rápidamente y garantizando que sean monitoreadas en la producción.
Analizar su ciclo de vida: Controlar cuántos días lleva desde el momento de introducir los cambios hasta el momento en que se presenta una función. Es decir, analizar su canal de despliegue para encontrar demoras que retrasan el desarrollo de sus ideas. Esto puede ser debido a una mala priorización de ideas, demasiadas pruebas manuales, demasiadas transferencias manuales, falta de visibilidad del programa, falta de depuración o falta de cobertura de código.
Mejorar las prácticas de codificación: Si encuentra alguna demora significa que debe mejorar las prácticas de codificación. Debe haber un proceso para priorizar las ideas. Debe haber posibilidad de que los procesos manuales repetitivos se puedan automatizar. Deben estar disponibles la visibilidad del programa y su trayectoria a través del canal. Mejorar la depuración y la cobertura del código para encontrar y arreglar los fallos en una etapa más temprana.
Tiempo de entrega: Facilitadores de mejora continua
Las soluciones ITSM como Jira que le permiten establecer las condiciones cuantificables para las ideas, como notificaciones al completarse el desarrollo o cuando es momento de revisar el código, para entender qué medidas se están tomando, y cuándo, para seguir adelante con las ideas
WORKBENCH
Compuware
Topaz®
Topaz Workbench para usar su desarrollo básico y probar los productos en un entorno
de desarrollo integrado de Eclipse (entorno de desarrollo interactivo) que se integra con
una serie de soluciones DevOps principales y muestra una interfaz intuitiva, sencilla y
común para mejorar la productividad de desarrolladores principiantes y expertos
Objetivo #3 de KPI: Lograr eficiencia
PARÁMETROS QUE VALEN
LA PENA MEDIR
Tiempo de entrega:
Mide cuánto tiempo lleva
obtener ideas diferenciales de
forma competitiva en la producción
15
PARÁMETROS QUE VALEN
LA PENA MEDIR
Porcentaje del tiempo empleado:
Cuánto tiempo los equipos se dedican a la
innovación en medio de
otras tare`as
Porcentaje del tiempo empleado: Meta de mejora continua
¡Innovar, innovar, innovar! Para obtener toda la innovación posible a través del canal,
primero necesita entender en qué están trabajando sus equipos de desarrollo. ¿Están
trabajando en fallos, nueva innovación o sentados en reuniones todo el día? No lo sabrá
hasta que empiece a recolectar y analizar esta información. Luego, necesita eliminar los
obstáculos para crear más tiempo para un nuevo desarrollo.
Algunas cosas no se pueden reducir o eliminar, p. ej., ceremonias Agile, encuentros en
toda la empresa y tiempo de vacaciones del empleado. Por lo tanto, la solución es
automatizar lo que pueda en el canal para eliminar la necesidad de la intervención
humana, lo que equivale al tiempo que no se usa para la innovación. Como ha podido
observar hasta el momento, esto significa pruebas automatizadas, cobertura de código,
despliegue y más donde sea conveniente.
Porcentaje del tiempo empleado: Facilitadores de mejora continua
Las herramientas de automatización que abarcan su compilación, fases de
prueba y despliegue, incluido, entre otros, varios de los ya mencionados en este
documento, el Topaz, ISPW, XL Release, Electric Cloud, Jenkins, SonarQube y más
Objetivo #3 de KPI: Lograr eficiencia
16
La participación del empleado, que impulsa la cultura de una
empresa, ha sido enormemente pasada por alto en varias
organizaciones grandes, pero tiene un gran impacto en la calidad,
velocidad y eficiencia del desarrollo, y es esencial para un próspero
ecosistema DevOps. Entender cómo puede convertir empleados
desinteresados e indiferentes en exploradores apasionados pondrá
una distancia entre usted y sus competidores porque son sus
exploradores apasionados los que generan innovación.
Medir la participación puede resultar invasivo y altamente
controversial en principio, pero cuando solo el 33 por ciento*
de los empleados participan (buscan los retos y hacen un gran
esfuerzo por hacer un trabajo decente), el 51 por ciento son
desinteresados (se presentan, y se van a casa) y el 16 por ciento
son indiferentes (están resentidos con el trabajo, con la empresa y
están trabajando activamente en contra de su éxito), determinar
cómo reducir la distancia entre los que participan, los desinteresados
y los indiferentes es esencial para el éxito de su organización,
mientras se trabaja por educar a los exploradores apasionados
que lideran el camino en las transformaciones DevOps.
Los exploradores apasionados son los que generan
innovación
Objetivo #4 de KPI Generar participación
*Situación de los centros de trabajo en EE. UU. Gallup, 2017. https://news.gallup.com/reports/199961/7.aspx.
17
Objetivo #4 de KPI: Generar participación
Medir la participación de manera encubierta va en contra de la
ética para la transparencia de las DevOps, así que es mejor pedir
a los empleados que completen encuestas anuales de manera
anónima para captar sus comentarios en un amplio espectro
de áreas relacionadas con su satisfacción con la organización,
haciendo preguntas como:
• ¿Entiende a dónde se dirige nuestra industria en los
próximos cinco años?
• ¿Cree que las ideas que nuestra organización ha proporcionado
(o viene proporcionando) están logrando una diferencia competitiva
ante los ojos de nuestros clientes y clientes potenciales?
• ¿Se siente capacitado para asumir riesgos apropiados para que
la organización tenga éxito?
Con estos comentarios, puede empezar a investigar todos los
niveles de participación en todos los equipos y en la organización,
sin tener que llamar a las personas. Y al comparar estos comentarios
con los datos que capte a través de otras medidas en cuanto a calidad,
velocidad y eficiencia, es posible que surjan modelos reveladores que
le ayuden a entender dónde existen vacíos en los empleados
desinteresados o indiferentes en sus equipos y en la organización.
SURVEYSelect one
Excellent
Good
Fair
Poor
Very Poor
SURVEYSelect one
Excellent
Good
Fair
Poor
Very Poor
Captar comentarios en un amplio
espectro de áreas
relacionadas con su
satisfacción con la
organización
El socio de software para mainframe por los próximos 50 años
Compuware permite que las empresas más grandes del mundo sobresalgan en la economía digital al estimular totalmente sus inversiones en mainframe de alto valor. Lo hacemos proporcionando soluciones altamente innovadoras que exclusivamente capacitan a los profesionales de TI con habilidades para gestionar las aplicaciones en mainstream, datos y operaciones en plataformas.
Obtenga más información en compuware.com.
© 2020 Compuware Corporation. Los productos y servicios incluidos de Compuware son marcas comerciales o marcas registradas de Compuware Corporation.
Recursos adicionales
• Starting and Scaling DevOps in the Enterprise by Gary Gruver
• “Modern Mainframe KPIs Are Key to a Successful Digital Strategy” by Forrester
• “The Need For Speed: Drive Velocity And Quality With DevOps” by Forrester
• “Use Four Key Categories To Measure What Matters
In Continuous Deployment” by Forrester
Usar un servicio de aprendizaje automático como zAdviser hará que este proceso sea considerablemente más ágil dándole una nueva perspectiva sobre cómo sus herramientas y procesos actuales se están impulsando en cuanto a calidad, velocidad y eficiencia.
Compuware
zAdviser
La transformación DevOps es un gran trabajo para las grandes
organizaciones estrechamente vinculadas. Usted debe determinar
objetivos comerciales claros y medir cómo los cambios que hace
están ayudando a lograr sus metas. La determinación de esos
objetivos comerciales debe suponer que los ejecutivos toman
tiempo para determinar lo que funciona o no en la organización,
y luego, priorizar la eliminación de los obstáculos.
El proceso para entender sus objetivos debe empezar en el canal
de despliegue, ya que muestra cómo el valor comercial se mueve
a través de TI hacia el mercado. Es donde puede desarrollar un
entendimiento de los obstáculos y desperdicios que existen en sus
procesos DevOps para estructurar, someter a prueba y lanzar
grandes sistemas empresariales.
Y recuerde, su situación final nunca se “alcanza”, su situación final
es la mejora continua respecto a la situación real. Alinear los KPI
correctos y medir los parámetros adecuados es la única forma de
mantener realmente ese camino y experimentar el progreso de
DevOps reales.
Tomar decisiones en base a datos