La elección de métricas (Key Performance Indicators) para medir el éxito de un equipo de programadores remotos, requiere una considerable reflexión y cuidado para estar en sintonía con los objetivos específicos de la empresa (Objectives and Key Results). Las mediciones deben diseñarse para responder preguntas como: ¿nuestro software es de calidad? ¿estamos cumpliendo las fechas de lanzamiento para cada proyecto? ¿cuántos errores hay por cada 1000 invocaciones API? entre otras. Sin embargo, estas métricas nunca son para responder preguntas sobre ¿cuántas líneas de código se escriben por hora? o ¿cuántas horas de actividad tiene un desarrollador frente a la computadora?
Este artículo nos vamos a enfocar en las métricas específicas que cada equipo de desarrollo de software debe comenzar a usar, o al menos planear usar pronto como una forma de mejorar su rendimiento.
Aquí hay quince métricas objetivas (marcadas con viñetas) que debes monitorear continuamente en tu equipo remoto para realizar mejoras en los procesos y entornos de producción. Las mejoras en estas métricas no garantizan que los niveles de satisfacción de tus clientes aumenten pero te pondrán en el camino correcto. En una sección al final de este artículo, “Poniendo todo junto”, verás por qué.
Para procesos ágiles y lean, las métricas básicas son: el tiempo de entrega, el tiempo del ciclo, la velocidad del equipo y las tasas de apertura / cierre. Estas métricas ayudan a la planificación e informan las decisiones sobre la mejora de procesos. Si bien no miden el éxito o el valor agregado, y no tienen nada que ver con la calidad objetiva del software, debes medirlos de todos modos.
Cuando alguna o todas estas métricas están fuera del rango esperado o tengan una tendencia en direcciones alarmantes, no asumas una causa. Habla con el equipo, obtén toda la historia y deja que el equipo decida si hay motivos de preocupación y, de ser así, cómo solucionarlo.
No puedes conocer o asumir las causas raíz de los números, pero estas métricas te dan una idea de dónde necesitan atención.
La seguridad es un aspecto de la calidad del software que a menudo se pasa por alto hasta más tarde (o demasiado tarde). Las herramientas de análisis de seguridad se pueden utilizar en el proceso de construcción, además de evaluaciones y pruebas de estrés más especializadas.
Las métricas de calidad generalmente están relacionadas con el número de errores. La gama completa de prácticas de seguridad y métricas relacionadas son más de las que podemos cubrir hoy en este artículo, pero al igual que las métricas de procesos ágiles y las métricas de producción, hay algunas métricas específicas que pueden significar mucho para la satisfacción general de sus clientes.
Puedes encontrar más formas de aplicar métricas de seguridad al desarrollo de software en los artículos Seguridad de aplicaciones para proyectos ágiles y Modelos de amenazas de seguridad: una introducción ágil.
Los KPI de pruebas de calidad demuestran la madurez y la preparación de producción del software. También establece la productividad de un equipo de control de calidad para minimizar errores de software y contribuir a lanzamientos de software de alta calidad.
Métricas de Calidad del Código
Las métricas de calidad del código evalúan el estado del software a través de revisiones de código automatizadas. Los valores bajos de KPI para la calidad del código significan que el código es demasiado complejo y puede plantear dificultades para ampliar la funcionalidad y ejecutar actividades de soporte.
Las principales métricas de calidad del código son:
Herramientas como Microsoft Visual Studio calculan automáticamente estos indicadores de rendimiento.
Las empresas tienen objetivos. Los objetivos implican una serie de tareas que deben ser cuantificadas para medir el progreso hacia el éxito.
Cuando comprendemos cuál es el valor comercial de cada objetivo, podemos comenzar a hacer las preguntas que nos llevarán a las métricas que responden la pregunta.
Por ejemplo, para mejorar un proceso de pago de en una tienda online podemos haber llegado a la conjetura de que un pago más rápido generará más ventas. ¿Pero por qué pensamos eso? ¿Muchas personas abandonan sus carritos de compras durante el proceso de pago? Si ese es el consenso, entonces la hipótesis para establecer un KPI puede ser “Creemos que un proceso de pago más rápido dará como resultado una disminución de las tasas de abandono del carrito, lo que conducirá a mayores ventas y una mejor experiencia del usuario””.
Dicho de otra manera, las métricas sólo deben usarse para responder preguntas, para probar hipótesis que respalden un objetivo comercial específico. Y esto debe hacerse solo mientras las preguntas y respuestas ayuden a generar cambios positivos.
En algunos casos, las hipótesis pueden ser incorrectas, por lo que debemos hacer cambios en nuestros KPIs. En otros casos, la hipótesis puede ser correcta, por lo que seguimos impulsando mejoras en esta área durante años.
Las condiciones cambian constantemente, por lo que, en lugar de resumir una fórmula a seguir, aquí hay cinco reglas generales, para ayudar a mantener el enfoque y la flexibilidad en la medición del progreso, que te ayudarán en tu viaje hacia el éxito empresarial: