Las métricas ágiles son mediciones utilizadas para rastrear el progreso y el éxito de un equipo de proyecto ágil.
Las métricas, si se definen correctamente, proporcionan información sobre el rendimiento del equipo, la calidad, la eficiencia de las pruebas o la efectividad general, y cómo están evolucionando con el tiempo.
El objetivo final de las métricas ágiles es ayudar a los equipos a identificar áreas para mejorar y tomar decisiones basadas en datos que conducirán a mejores productos a medida que el equipo evolucione.
En la mayoría de los casos, las empresas definen métricas que son métricas de tocador o números crudos que crecen bien de izquierda a derecha. Pueden verse bien en algunos paneles, pero generalmente son inútiles para el equipo en sí.
Su propósito no es ayudar al equipo de ninguna manera, sino completar algunos informes para la gerencia y luego tomar algunas decisiones estratégicas. Desafortunadamente, es cuando el equipo no entiende por qué existe esa decisión en particular.
Para obtener estas métricas incorrectas, los equipos luego fingen sus propios procesos para que las métricas se vean bien. Pero el resultado final del equipo no mejora un bit.
- Llaves metricas
- Definiendo una buena métrica
- Categorías de métricas
- Métricas de rendimiento
- №1. Capacidad de Sprint vs. Puntos de historia entregados
- № 2. Gráfico de agotamiento
- №3. Finalización de la meta de sprint
- Métricas de calidad del código
- №1. Pruebas automatizadas
- № 2. Complejidad del código
- №3. Pasos manuales en la implementación
- Métricas de moral
- №1. Realización de retrospectivas de sprint
- № 2. Colaboración del equipo
- №3. Deuda técnica versus nuevas historias funcionales
- Ultimas palabras
Llaves metricas
Hay muchas formas de dividir los indicadores. Quizás el más simple de estos es de arriba hacia abajo y de abajo hacia arriba.
➡️ de arriba hacia abajo significa: la gerencia, creamos indicadores para usted que queremos que todos se encuentren, y su objetivo final es cumplir con estas áreas verdes. No nos importa si te gustan o no; Eso es lo que queremos rastrear.
➡️ Medios de abajo hacia arriba: Nosotros, el equipo, debemos mejorar en estas áreas, y para hacerlo debemos centrarnos en estas cosas. Por lo tanto, definimos métricas que nos permitirán rastrear el progreso del equipo hacia nuestros objetivos, y podemos demostrarle a usted, el equipo de liderazgo, exactamente cómo han mejorado nuestro rendimiento con el tiempo.
Definiendo una buena métrica
Entonces, ¿qué debe contener alguna buena métrica o cómo debemos describirlo?
La propiedad más importante es el cambio de comportamiento. Esto significa que cada vez que observa el resultado de la métrica, está claro qué debe cambiar dentro del equipo para obtener mejoras.
Entonces debería ser simple. Si no puede explicarlo en unas pocas oraciones simples para que todos los oyentes relevantes puedan entender, entonces algo no es bueno.
Una buena métrica es comparable con el tiempo. Tome una instantánea de los resultados después de un tiempo, y luego hágalo nuevamente después de un tiempo. Colóquelos uno al lado del otro. Si no puede comparar los dos resultados entre sí, debe pensar nuevamente en la métrica.
Finalmente, mejor que los números puros, siempre que sea posible, lo convierte en una relación o porcentaje.»10 nuevos defectos abiertos durante un sprint» no te dirá mucho. Depende de si generalmente tiene uno o 100.
Aquí hay algunos ejemplos de métricas que creo que cumplen con todos estos criterios de definición. Tienen específicamente equipos ágiles en mente. Hay tres categorías principales: productividad, calidad y moral.
Categorías de métricas
Métricas de rendimiento
El objetivo es comprender qué tan bien está el equipo en las historias cometidas dentro del sprint. Evaluar si el exceso de compromiso con las empresas como de costumbre o las historias transpositadas es el estándar de sprint a sprint.
Desde una perspectiva de rendimiento ágil, el equipo debe esforzarse por entregar el contenido de sprint planificado al que el equipo se comprometió al comienzo del sprint.
Eso no significa que no seamos flexibles al compartir historias durante un sprint. Pero siempre debería ser una negociación que conduzca a un intercambio, no una adición. La capacidad del equipo no aumentará solo porque alguien agregó nuevas historias dentro de un sprint.
Presentamos esta métrica para estar atento a tales ocurrencias y guiar a todos en el equipo para proteger su capacidad de sprint.
Esto aumenta la fiabilidad y la previsibilidad del equipo.
№1. Capacidad de Sprint vs. Puntos de historia entregados
Revise el historial del rendimiento de Sprint versus el contenido entregado en puntos Sprint (SP).
- Las pequeñas variaciones de sprint a sprint son normales. Enormes saltos en cualquier dirección en la señal de que algo está mal.
- Total Sprint Power: el día disponible de un miembro del equipo agrega uno al poder total. Por ejemplo, si hay 10 miembros del equipo y todos están disponibles en un sprint completo, la capacidad total de sprint sería de 100.
Verifique la capacidad del sprint contra el SP completado de Sprint a Sprint. Si el equipo (durante la planificación) asigna significativamente más SP de lo que el equipo normalmente puede lograr, aumente este riesgo para el equipo.
El objetivo debe ser tener el número total planificado de SP igual o menos que el número total de SP completados para el sprint.
Todavía puede tener más SP de lo planeado si el equipo ha completado (al final del sprint) todas las historias planificadas y el equipo todavía tiene la oportunidad de tomar una historia adicional.
- Si un equipo completa constantemente menos SP de lo planeado, necesita cambiar su planificación y tomar menos SP en el próximo sprint.
Herramientas como Monday. com, Atlassian Jira o Asana proporcionan una manera fácil de guardar y extraer puntos para cada historia en Sprints. Incluso pueden generar esto para usted automáticamente después de programar cada sprint.
№ 2. Gráfico de agotamiento
Esta es una métrica que la mayoría de los equipos de scrum probablemente se han escondido en algún lugar de su tablero. Estoy de acuerdo en que incluso puede parecer una cosa inútil. El equipo rara vez lo toma en consideración. Más bien, al gerente le gusta señalar cómo las historias miran un alto nivel y cuán mal que están progresando (ya que todas están abiertas en todo el sprint).
Lo que me gustaría enfatizar es que a pesar de esto, usted como equipo debería ir y consultar la tabla de agotamiento por su propio bien. Si todas las historias están abiertas en todo el sprint y solo se cerraron el último día del sprint, crea incertidumbre dentro del equipo y con respecto a los objetivos de sprint.
- Revise su tablero de sprint para obtener historias completadas.
- Pregúntele al equipo por qué las historias pequeñas aún están abiertas incluso si comenzaron al comienzo del sprint.
- Trabaje con el equipo para desarrollar esta mentalidad, en lugar de mantener las historias abiertas más tiempo de lo necesario.
- El diagrama ideal de agotamiento suele ser un estado teórico. Sin embargo, cuanto más nos acercamos, más efectivamente procesamos la historia.
Las herramientas de gestión ágiles como Asana pueden generar automáticamente un gráfico de agotamiento para cada sprint.
№3. Finalización de la meta de sprint
Esto rastrea el porcentaje de los objetivos de sprint que completa durante cada sprint.
Documenta objetivos de sprint por separado, como en una página de Confluence/JIRA, para cada sprint. Se asigna un estado independientemente de si se cumplieron o no dentro del sprint.
Incluso si un equipo no completa todas las historias en un sprint, aún puede lograr el objetivo de sprint (por ejemplo, omitir solo las historias laterales).
Nos esforzaremos por el 100% de cumplimiento de los objetivos de sprint en cada sprint. Si este no es el caso, averigüe qué se está interponiendo para el equipo.
- Si hay demasiados temas paralelos en cada sprint, reduzca el número de ellos.
- Si se agregan demasiadas historias especiales durante un sprint, reduzca para que no afecten los objetivos de sprint originales.
- Si los objetivos de Sprint son demasiado grandes o demasiado complejos, simplifica. De cualquier manera, no tiene sentido establecer grandes objetivos de sprint sin lograrlos al final del sprint.
Métricas de calidad del código
Esto debería rastrear cuán bueno es el código con el tiempo. Esto ayuda a mantener procesos de desarrollo saludables y reduce el tiempo dedicado a solucionar problemas. O tiempo de inactividad del desarrollador causado por la espera de que el código se ejecute durante el desarrollo y las pruebas.
Fuente: AzuredEvopSlabs. com
№1. Pruebas automatizadas
Cree pruebas unitarias automatizadas por los desarrolladores para cada cambio que realicen.
- Medir la cobertura del código con pruebas automatizadas: use tuberías de Azure o Sonarcloud para ejecutar pruebas. Apunte al 85% de cobertura. Por encima del 90% es ineficiente.
- Asegúrese de que la creación automática de pruebas unitarias sea parte de la determinación de la preparación de nuevas historias.
- Póngase al día con la cobertura de prueba de código antigua como parte de las historias de deuda técnica en la cartera de pedidos.
№ 2. Complejidad del código
Evalúe la complejidad innecesaria de que el código se aprovecha el tiempo y fijalos de manera proactiva con historias de deuda técnica. O evitar que ocurran si es posible.
Defina los estándares y pautas de código para enseñar a los desarrolladores a seguir. Asegúrese de que se adhieran a las pautas de codificación para minimizar los aumentos injustificados en la complejidad del código. Actualizaciones periódicas a las directrices basadas en la experiencia del equipo.
Identifique los olores del código: indicadores de problemas potenciales en el código, como el código duplicado, los métodos largos y las variables no utilizadas.
Las revisiones de expertos deben garantizar que los estándares de código se apliquen al código recién creado.
Use herramientas como Azure ADO o SonarCloud Dashboards e informes para detectar problemas de código.
№3. Pasos manuales en la implementación
Realice cuántos pasos manuales tiene que realizar el equipo para liberar el código a un entorno de prueba o producción.
- Nuestro objetivo debe ser llegar a 0 aquí con el tiempo.
- Cree antecedentes de deuda técnica según sea necesario para alinear la tubería de implementación/liberación con la hoja de ruta de automatización. Reduzca gradualmente los pasos manuales restantes en los procesos, desde sprint hasta sprint.
Métricas de moral
Esta es una métrica para rastrear cómo se siente el equipo sobre su trabajo y los procesos que enfrentan a diario.
№1. Realización de retrospectivas de sprint
Puede rastrear cuántas acciones se completaron realmente en el siguiente sprint.
- El Scrum Master debe recopilar los resultados de las reuniones retrospectivas en las páginas del equipo para rastrear las acciones acordadas.
- El equipo luego rastreará el progreso.
- La gestión de proyectos puede verificar si se están completando elementos de acción o qué está impediendo que el equipo se complete y. Luego realice cambios en el entorno para que el equipo pueda avanzar para lograr las acciones acordadas.
Al menos el 33% o 1 (lo que sea mayor) de los elementos de acción del sprint anterior se llevarán a los próximos sprints.
Si se necesitan menos, se necesitan cambios para permitir que el equipo implemente las mejoras que acordaron.
Las herramientas de gestión de proyectos contienen plantillas listas para usar para acciones retrospectivas de sprint. Aquí hay un ejemplo de lunes. com:
Fuente: lunes. com
№ 2. Colaboración del equipo
Programación de pista emparejada.
- Cree un emparejamiento natural para que cada historia trabaje juntos para compartir observaciones, conocimiento y éxito. Cree subtareas en historias pertenecientes a diferentes miembros del equipo.
Revisiones de código de seguimiento por iniciativas de pares.
- Los colegas solicitan o toman medidas activamente para revisar la historia de alguien.
Las métricas se pueden extraer del lunes. com/asana/jira Board of Subtarks.
Los miembros del equipo deben compartir al menos el 50% de las historias en un sprint. Si es menos, investigue las razones y tome medidas donde tenga sentido.
Para una revisión voluntaria de pares, rastree historias con subtareas específicas. Al principio, el 20% de las historias de código revisadas de esta manera es un buen comienzo. Poco a poco en el transcurso de los sprints, debe alentar y motivar al equipo a trabajar más en colaboración y aumentar esto al 50% de las historias de código por sprint como objetivo.
№3. Deuda técnica versus nuevas historias funcionales
Fuente: Atlassian. com
Empoderar al equipo para resolver sus propias historias de deuda aumentará la satisfacción laboral del equipo.
- Por el contrario, acumular problemas de deuda técnica sin un plan para resolverlos de forma incremental desmotivará al equipo con el tiempo. Y la solución se volverá más inestable, compleja y difícil de resolver sin un reelaboración significativo.
El equipo sabe mejor lo que no funciona con la solución, incluso si las partes interesadas o los usuarios finales no la ven. Estas historias tienen el mayor impacto en el equipo de desarrollo en sí. Para las partes interesadas, pueden ser invisibles. Es por eso que es importante darle al equipo la oportunidad de trabajar en historias que los ayuden a evitar abarrotar las actividades de desarrollo.
El objetivo es rastrear cuántas historias con deudas técnicas elevadas se resuelven con el tiempo y si el número de tales historias solo está creciendo o no.
El equipo puede marcar las historias como TechDeBt en la cartera de pedidos y darles prioridad del equipo para que puedan ir a la cima y ser seleccionados en Sprints.
Dependiendo de en qué estado se encuentre el proyecto y cuánta deuda técnica se identifique en el acumulación, puede asegurarse de que la acumulación de TechDeBT no crezca en más del 10% de Sprint a Sprint.
Priorice las historias de deuda técnica e incluya las sprints para controlar el crecimiento de la acumulación de deuda técnica para que el equipo pueda trabajar en historias de deuda técnica del 10-20% del tiempo de cada sprint.
Ultimas palabras
Cada proyecto eventualmente necesitará algunas métricas porque la gerencia los quiere o porque el equipo decide medir su propio éxito.
Lo mejor que puede hacer es comenzar a construir su biblioteca de métricas listas para ser seleccionadas y utilizadas; cuanto antes mejor. Y al hacerlo, asegúrese de concentrarse siempre en las métricas que cambian el comportamiento en primer lugar.
Luego verifique los procesos no saludables que puedan estar arruinando su sprint.